微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 谁能帮我消抖啊啊啊啊啊?

谁能帮我消抖啊啊啊啊啊?

时间:10-02 整理:3721RD 点击:
exit0_0() interrupt 0//外中断0
{
if(p32==0)
{
delay1ms(10);
if(p32==0)
TR0=~TR0;
}
}
为什么按键还是反应不过来!

中断服务不用再判断P3^2INT0引脚是否是低电平了。

学习一下,呵呵

按键电路你如果没有硬件消抖的话,是不能用来触发外部中断的,因为抖动电压会引起多次外部中断.但是如果你硬要在中断服务中检测低电平,至少在"delay1ms(10);"后面要加个"p32=1;",把p3.2口拉到高电平你再检测低电平吧?

那应该怎么消抖呢?

现在的问题是我用一个外部中断控制数码管的启动和停止(秒表),可是有时按一次就启动了,有时按下去没反应,按几次才行,停止也是一样,这个是不是要消抖呢?

对按键写入一个延时程序就ok了。

按键都必须消抖,你现在的问题我分析来看,就是你的延时时间短了,一般10~20ms,时间短就造成中断刚退出,由于抖动又马上触发了中断,多次中断,刚启动了又被停止了,或者刚停止了又启动了。按键上并个电容吧,起到硬件消抖,但不一定可靠。

怎写,求指教。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top