谁能帮我消抖啊啊啊啊啊?
时间:10-02
整理:3721RD
点击:
exit0_0() interrupt 0//外中断0
{
if(p32==0)
{
delay1ms(10);
if(p32==0)
TR0=~TR0;
}
}
为什么按键还是反应不过来!
{
if(p32==0)
{
delay1ms(10);
if(p32==0)
TR0=~TR0;
}
}
为什么按键还是反应不过来!
中断服务不用再判断P3^2INT0引脚是否是低电平了。
学习一下,呵呵
按键电路你如果没有硬件消抖的话,是不能用来触发外部中断的,因为抖动电压会引起多次外部中断.但是如果你硬要在中断服务中检测低电平,至少在"delay1ms(10);"后面要加个"p32=1;",把p3.2口拉到高电平你再检测低电平吧?
那应该怎么消抖呢?
现在的问题是我用一个外部中断控制数码管的启动和停止(秒表),可是有时按一次就启动了,有时按下去没反应,按几次才行,停止也是一样,这个是不是要消抖呢?
对按键写入一个延时程序就ok了。
按键都必须消抖,你现在的问题我分析来看,就是你的延时时间短了,一般10~20ms,时间短就造成中断刚退出,由于抖动又马上触发了中断,多次中断,刚启动了又被停止了,或者刚停止了又启动了。按键上并个电容吧,起到硬件消抖,但不一定可靠。
怎写,求指教。