【单片机外部中断实验修改动态数码管0-99】2022-5-22
缘由单片机外部中断实验(写程序)-嵌入式-CSDN问答
外部中断必须使用硬件消抖解决按键抖动,用外部中断函数内软件处理无异于掩耳盗铃,外部一旦触发中断就执行不待检测什么按键,检测按键不在外部中断中检测,外部中断按键消抖只能用计数小值预定判断显然牵强。
//显示数据函数修改如下,其余函数全部不用修改。
void Display()
{
uchar y=0;//动态数码管位引脚接P10/P11
if(count>99)count=0;
P0=P1=0;P1=wei_code[0];seg7_static_display(count%10);while(++y);//各位
P0=P1=0;P1=wei_code[1];seg7_static_display(count/10);while(++y);//十位
}
51单片机的P3.2和P3.3引脚为外部中断信号输入端口,将独立按键K8大端连接外中断0引脚(P3.2),另一端接地(电路板上已经连接好了)。K8模拟外部脉冲的产生(按键存在抖动的缺点,编程的时候可以忽略)。编写程序,利用外部中断实现对K8按键的计数,并在数码管上显示(两位数码管(左边两位)动态显示,计数范围0~99)