但实际用开关试验时,不是很稳定,有的时候直接加2或者更多,减也是这样,请高手帮我加一下消抖,让他触发时能够稳定地计数,谢谢啦~

#include < reg51.h >
#include <intrins.h>

unsigned int LedNumVal;
unsigned char code Disp_Tab[] = { 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 诺澜

    11人对此回答表示赞同

    如果是用按键触发的,具体消抖应该在那里写吧???
    看不到你触发的地方,或许我错了? 追问
    展开
    11
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Julian

    6人对此回答表示赞同

    如果是键盘促发的话,一定得在中断函数里面加个消除消抖的代码
    参考下面(P32为定义的外部中断0端口,程序开始sbit P32=P3^2,delay(10)为延时10ms,自己声明下):
    void extern_int0(void) interrupt 0 using 0
    {
    EX0=0;
    delay(10);
    if(P32==0){
    cnt++; }
    while(!P32);
    EX0=1;
    展开
    6
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 大智

    2人对此回答表示赞同

    按键有抖动的,会触发多次外部中断,造成你说的现象;
    1 如果用外部中断,你的开关不能直接进单片机中断口,应该加光藕隔离,频率不高,可以中断口再加一个0.1U电容,可以消除干扰。
    2.不用中断,扫描开关,可以延时去抖。
    根据自己的情况,你选择吧。
    展开
    2
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部