当前位置: 首页 > news >正文

通过按钮改变引脚的电平的状态并输出虚拟终端

#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--); }

http://www.jsqmd.com/news/200886/

相关文章:

  • markdown文件在vue网页上正确显示的方式(marked + DOMPurify)
  • 鸿蒙生态新篇章:从手机到电脑的全景升级
  • uniapp定义一个简单的全局弹窗组件
  • 重组蛋白AVI标签技术详解:生物素化策略与亲和纯化应用
  • CPU三大核心部件功能详解
  • 鸿蒙电脑亮相 中国国产操作系统再次突破
  • 百度免费大模型API深度解析 大厂llm大模型市场国产大模型API免费全平台对比指南,薅羊毛指南与实战建议 政策深度解析与 - 教程
  • 【图像加密】Lorenz超混沌系统和Rivest-Shamir-Adleman(RSA)算法的新图像加密方案附matlab代码
  • 关于dify 工作流的LLM并发顺序执行问题的复盘
  • 【转载】权限控制模型
  • 专业音乐喷泉厂家怎么选?这3家别错过!
  • Docker + containerd 存储和启动完整原理
  • 导师推荐!自考必备AI论文软件TOP8:8款深度测评与推荐
  • 行业观察:2026生成式引擎优化(GEO)的范式转移与服务商能力重构 摘要 - 速递信息
  • 联机分析处理(OLAP)通过数据立方体模型支持多维数据分析
  • 【图像加密】基于超混沌系统和斐波那契 Q 矩阵的新图像加密算法研究附matlab代码
  • Modbus TCP Java入门 - 指南
  • JavaScript DOM 核心操作:从内容到节点的实战指南
  • TF卡系列、SD卡系列、CF卡系列有什么区别呢?我本来应该买TF卡系列,用在树莓派上面的。
  • Oracle RAS:AI时代企业数据安全核心
  • 【拯救HMI】工业HMI常见故障及排查方法:黑屏、通信中断、操作无响应,新手别慌
  • 安全体验馆!优质供应商榜单:口碑评估维度与采购参考指南
  • 快快网络入选福州市网络与信息安全信息通报中心2026年度网络安全技术支撑单位
  • 2026必备!10个AI论文工具,继续教育学生轻松搞定毕业论文!
  • 揭秘GEO:AI时代,如何让你的品牌被ChatGPT“点名”推荐?
  • 杰和IM1-210核心板用模块化设计重新定义工业主板开发
  • 数眼智能搜索API VS 腾讯(搜狗)搜索API:技术赋能下的差异化价值绽放
  • 彼得林奇的“买入并持有“策略
  • 享元模式
  • 如何保证rabbitmq或kafka 消息不丢失,从生产到消费端全过程