打印
[51单片机]

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

[复制链接]
3344|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 | 只看该作者
改用定时中断扫描按键,外部中断大材小用

使用特权

评论回复
5
千手柱间|  楼主 | 2015-11-3 10:09 | 只看该作者
ayb_ice 发表于 2015-11-3 10:00
扫键用中断真的是浪费资源,主循环定时扫描就可以了,

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

忘了说了,不是检测按键,是检测光电开关信号

使用特权

评论回复
6
千手柱间|  楼主 | 2015-11-3 10:10 | 只看该作者
cainiao_123 发表于 2015-11-3 10:04
改用定时中断扫描按键,外部中断大材小用

忘说了,是检测光电开关信号

使用特权

评论回复
7
cainiao_123| | 2015-11-3 10:11 | 只看该作者
确认低电平怎么不行?  是信号持续时间太短?

使用特权

评论回复
8
ayb_ice| | 2015-11-3 10:20 | 只看该作者
千手柱间 发表于 2015-11-3 10:09
忘了说了,不是检测按键,是检测光电开关信号

那要看输入端产生什么样的波形信号,才能对症下药,否则没有意义

使用特权

评论回复
9
小白大师| | 2015-11-3 22:56 | 只看该作者
本帖最后由 小白大师 于 2015-11-3 23:00 编辑

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











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





使用特权

评论回复
10
NE5532| | 2015-11-4 08:24 | 只看该作者
先研究输入信号会不会抖动,会抖动的才需要去抖动,去抖动的基本原理是延时超过输入信号抖动时间的时长,再次确认信号存在。

使用特权

评论回复
11
xyz549040622| | 2015-11-4 08:28 | 只看该作者
一般进中断的不消抖动,用IO检测才消抖动。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝