公司动态

独立按键与LED灯

📅 2026/9/2 6:57:08
独立按键与LED灯
1.独立按键控制LED亮灭独立按钮按下前两对引脚互不链接按下按钮之后使得铁片扁平两队引脚互相连接。51单片机中只有四个独立按钮这是独立按钮控制LED灯的第一个代码主要知识点就是P3_1指的是P3口的第一位P2_0指的是P2口的第0位也就是说之前只是一次写 8 位用十六进制表示要的位组合。问题是它会覆盖整个端口现在可以更简单的单独位操作P2_0 0;这种只影响指定引脚其余引脚状态不受影响。第二个知识点就是这个P3_1是串口TXD的引脚按下按钮会变成低电平2.独立按键控制LED状态消抖按键抖动是机械触点在按下/松开瞬间产生的几毫秒电平抖动消抖就是想办法把这假信号过滤掉。相关代码:主要思路就是在按下后延时20ms,在松开之后再延时20ms。1是判断是否被按下低电平4是等待松开 5是松开后做的动作。可以去掉第3行代码。3.独立按键控制LED显示二进制void main(){unsigned int LEDNum0; //设置了一个变量while(1) // ① 死循环超级循环永不退出{if(P3_10) // ② 检测按键按下低电平有效{Delay(20); // ③ 延时 20ms跳过按下抖动while(P3_10); // ④ 卡住等松开P3_1变1才往下走Delay(20); // ⑤ 延时 20ms跳过松开抖动LEDNum; // ⑥P2~LEDNum; // ⑦ 整个 P2 取反后输出}}}运行原理举例LEDNum 0; 二进制 0000 0000~LEDNum 1111 1111 → P2全部输出1 → 全部灯灭LEDNum 1; 二进制 0000 0001~LEDNum 1111 1110 → P2.0输出0其余输出1 → 最低位LED点亮4.独立按键控制LED移位代码原理通过对0X01进行左移来实现count是左移位数。其余代码还是之前的消抖。