#include <reg51.h> #include <stdio.h> #include <string.h> //stdio.h,string.h用于printf函数原型 void delay(unsigned int z); void uart_init(void); //串行口初始化 sbit button = P2^0; // P2.0引脚定义 sbit led = P2^2; // P2.0引脚定义 bit last_button_state; // 记录上一次按钮状态,使用bit类型匹配 void main() { led = 0; uart_init(); // 初始化按钮状态 last_button_state = button; printf("Button state monitoring started\n"); printf("Initial button state: %d\n", button); while(1) { // 实时输出按钮状态用于调试 //printf("Current button state: %d\r", button); // 检测按钮状态变化 if (button != last_button_state) { // 延长消抖时间确保稳定检测 delay(20); // 再次检测按钮状态,确认变化 if (button != last_button_state) { last_button_state = button; // 输出按钮状态变化 if (button == 0) { led = 1; printf("\nP2.0 state: Pressed (0)\n"); } else { led =0; printf("\nP2.0 state: Released (1)\n"); } } } // 主循环延迟 delay(50); } } void uart_init(void) { TMOD=0x20; //即0010 0000,定时器/计数器1,工作方式2 TH1=0xfd; //设置波特率为9600 TL1=0xfd; TR1=1; //启动定时器/计数器1 SCON=0x50; //SM0=0;SM1=1;REN=1;0101 0000.串口工作方式1,允许串行控制 PCON=0x00; //设置SMOD=0 IE=0x80; //EA=1;ES=0;只开总中断,关闭串口中断避免干扰按钮检测 TI=1; //中断请求标志位,直接使用printf必须加入此句才能实现发送 } void delay(unsigned int z) { unsigned int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); }通过按钮改变引脚的电平的状态并输出虚拟终端
张小明
前端开发工程师
快快网络入选福州市网络与信息安全信息通报中心2026年度网络安全技术支撑单位
1月5日,福州市网络与信息安全信息通报中心2026年度网络安全技术支撑单位入选名单正式发布,快快网络凭借在网络安全领域的专业积淀,以及在福州市网络与信息安全保障工作中作出的突出贡献成功入选。福州市网络与信息安全信息通报中心2026年度网…
云购系统介绍
介绍: YunGouCMS是一套适合海外用户裂变的1元购电商系统,支持高并发、多语言、原生APP等,紧跟市场需求。 YunGouCMS使用MVC框架(后端语言:PHP)和VUE前端开发,是企业运营级多语言云购夺宝系统。 前台支持18种语言&#…
Java 基础学习总结(214)—— Java 实现 MCP Server 详细指南
前言 MCP(Model Context Protocol,即模型上下文协议)是由 Anthropic(Claude 的母公司)于 2024年11月 开源发布的一项 全新技术。MCP 是为了解决大模型虽然强大,但是有时候无法获取实时信息以及访问特定工具!而 MCP 是一种让AI能够"伸出手"使用外部工具和服务…
C# 基于OpenCv的视觉工作流-章5-自动二值化
C# 基于OpenCv的视觉工作流-章5-自动二值化 本章目标: 一、自动二值化;二值化的分割阈值是固定值,整图所有像素值与分割阈值进行比较判断;而自动二值化的分割阈值是局部计算所得,计算方法是取局部区域的所有像素值&…
一份转型大模型产品经理指南,如果你想转行做大模型,你需要具备哪些基本素质和技能?
作为一个产品经理,你可能已经熟悉了一些常见的AI技术和应用,比如机器学习、深度学习、自然语言处理、计算机视觉等。 但是,你是否了解什么是大模型?大模型又有什么特点和优势?为什么大模型会成为AI领域的一个重要趋势&…
华为OD机考双机位C卷 - 完全二叉树非叶子部分后序遍历 (Java Python JS C/C++ GO )
最新华为上机考试 真题目录:点击查看目录 华为OD面试真题精选:点击立即查看 华为OD机考双机位C卷 - 完全二叉树非叶子部分后序遍历 题目描述 给定一个以顺序储存结构存储整数值的完全二叉树序列(最多1000个整数),…