单片机灯常亮,加防抖后灯一直闪烁是怎么回事,还有代码
时间: 2024-05-16 10:13:15 浏览: 95
单片机循环闪烁
单片机灯常亮,加防抖后灯一直闪烁可能是因为防抖程序有误或者硬件连接有问题。
下面是一个简单的防抖程序,可以参考一下:
```
#include <reg52.h>
sbit LED = P1^0; // 定义LED连接的IO口
void delay(unsigned int t) { // 延时函数
while (t--);
}
void main() {
unsigned char i, j, k;
while (1) {
if (LED == 0) { // 判断按键是否按下
delay(10000); // 延时一段时间
if (LED == 0) { // 再次判断按键是否按下
for (i=0; i<2; i++) { // 控制LED闪烁
LED = 1; // LED亮
for (j=0; j<200; j++) { // 延时
for (k=0; k<10; k++);
}
LED = 0; // LED灭
for (j=0; j<200; j++) { // 延时
for (k=0; k<10; k++);
}
}
}
}
}
}
```
如果你的硬件连接没有问题,可以检查一下防抖程序中的延时时间是否合适,或者尝试使用其他的防抖方式。
阅读全文