news 2026/5/10 17:50:20

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
通过按钮改变引脚的电平的状态并输出虚拟终端
#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--); }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 20:40:32

云购系统介绍

介绍: YunGouCMS是一套适合海外用户裂变的1元购电商系统&#xff0c;支持高并发、多语言、原生APP等,紧跟市场需求。 YunGouCMS使用MVC框架&#xff08;后端语言&#xff1a;PHP&#xff09;和VUE前端开发&#xff0c;是企业运营级多语言云购夺宝系统。 前台支持18种语言&#…

作者头像 李华
网站建设 2026/5/1 7:02:54

Java 基础学习总结(214)—— Java 实现 MCP Server 详细指南

前言 MCP(Model Context Protocol,即模型上下文协议)是由 Anthropic(Claude 的母公司)于 2024年11月 开源发布的一项 全新技术。MCP 是为了解决大模型虽然强大,但是有时候无法获取实时信息以及访问特定工具!而 MCP 是一种让AI能够"伸出手"使用外部工具和服务…

作者头像 李华
网站建设 2026/4/20 11:04:21

C# 基于OpenCv的视觉工作流-章5-自动二值化

C# 基于OpenCv的视觉工作流-章5-自动二值化 本章目标&#xff1a; 一、自动二值化&#xff1b;二值化的分割阈值是固定值&#xff0c;整图所有像素值与分割阈值进行比较判断&#xff1b;而自动二值化的分割阈值是局部计算所得&#xff0c;计算方法是取局部区域的所有像素值&…

作者头像 李华