[51单片机] 51单片机 外部中断 具体怎么写消除抖动程序啊

[复制链接]
3629|10
 楼主| 千手柱间 发表于 2015-11-3 09:43 | 显示全部楼层 |阅读模式
下降沿进入中断程序后,怎么确认啊,确认低电平不行啊
 楼主| 千手柱间 发表于 2015-11-3 09:44 | 显示全部楼层
void  counter0(void) interrupt 0  using 1
{
        delay();
        if(signal==0)
        {
   EX0=0;  
   m++;
   EX0=1;
        }
}
ayb_ice 发表于 2015-11-3 10:00 | 显示全部楼层
千手柱间 发表于 2015-11-3 09:44
void  counter0(void) interrupt 0  using 1
{
        delay();

扫键用中断真的是浪费资源,主循环定时扫描就可以了,

判断两次是否有变化,是怎么变化就可以了
cainiao_123 发表于 2015-11-3 10:04 | 显示全部楼层
改用定时中断扫描按键,外部中断大材小用
 楼主| 千手柱间 发表于 2015-11-3 10:09 | 显示全部楼层
ayb_ice 发表于 2015-11-3 10:00
扫键用中断真的是浪费资源,主循环定时扫描就可以了,

判断两次是否有变化,是怎么变化就可以了 ...

忘了说了,不是检测按键,是检测光电开关信号
 楼主| 千手柱间 发表于 2015-11-3 10:10 | 显示全部楼层
cainiao_123 发表于 2015-11-3 10:04
改用定时中断扫描按键,外部中断大材小用

忘说了,是检测光电开关信号
cainiao_123 发表于 2015-11-3 10:11 | 显示全部楼层
确认低电平怎么不行?  是信号持续时间太短?
ayb_ice 发表于 2015-11-3 10:20 | 显示全部楼层
千手柱间 发表于 2015-11-3 10:09
忘了说了,不是检测按键,是检测光电开关信号

那要看输入端产生什么样的波形信号,才能对症下药,否则没有意义
小白大师 发表于 2015-11-3 22:56 | 显示全部楼层
本帖最后由 小白大师 于 2015-11-3 23:00 编辑

学习,主要看输入端的波形。











--------------------------
买芯片网-bom2buy





NE5532 发表于 2015-11-4 08:24 | 显示全部楼层
先研究输入信号会不会抖动,会抖动的才需要去抖动,去抖动的基本原理是延时超过输入信号抖动时间的时长,再次确认信号存在。
xyz549040622 发表于 2015-11-4 08:28 | 显示全部楼层
一般进中断的不消抖动,用IO检测才消抖动。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部