久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機按鍵控制數碼管的程序怎么改延時去抖動呢?大佬們幫幫忙。

查看數: 4470 | 評論數: 8 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2018-3-1 21:19

正文摘要:

求延時去按鍵抖動的程序,我現在按鍵一下有時跳了兩下。。。。。

回復

ID:279740 發表于 2018-3-6 16:48
HC6800-ES-V2.0 發表于 2018-3-2 07:25
給個例子你看看
                if(K1==0)                //檢測按鍵K1是否按下
                {

感謝你的回答
ID:288124 發表于 2018-3-6 11:47
檢測到按鍵松開后再+1
ID:279740 發表于 2018-3-4 21:05
wulin 發表于 2018-3-2 20:25
不知道為什么程序帖上來會丟符號?

嗯,知道了。還是要感謝你
ID:213173 發表于 2018-3-2 20:25

不知道為什么程序帖上來會丟符號?

ID:279740 發表于 2018-3-2 16:56
wulin 發表于 2018-3-2 13:25
仿真軟件里的元件都是按理想狀態使用的,有沒有防抖語句無所謂,你按一次出現多次計數是你的程序缺陷。單片 ...

謝謝你的幫助
ID:213173 發表于 2018-3-2 13:25
本帖最后由 wulin 于 2018-3-2 13:33 編輯

仿真軟件里的元件都是按理想狀態使用的,有沒有防抖語句無所謂,你按一次出現多次計數是你的程序缺陷。單片機的電源、地、復位及外部晶振都是默認存在,不需要畫出來,你的圖畫錯了,地線標志要放在兩個振蕩電容之間。想要改變晶振頻率只要在單片機屬性里修改即可,不信你試試這個程序。把注釋掉的防抖語句添加回去效果還是一樣的,但在實際電路中必須要防抖。#include <AT89X52.H>
#define uint unsigned int                 //宏定義變量uint為無符號整型數據
#define uchar unsigned char         //宏定義變量uchar為無符號字符型數據

sbit key=P3^0;                                        //按鍵端口定義        
uchar code table[]={        //共陽數碼管段碼0~F
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};

uchar i;                                        //按鍵計數變量
bit key_sign=0;                //按鍵有效標志
//uchar count=0;                        //消抖計數變量               

void main()        
{        

        while(1)        
        {
                if(key==0)                                        //檢測按鍵如果為0
                {
//                        count++;                                //消抖計數
//                        if(count>=250)
//                        {
                                if(key_sign==0)
                                {                        
                                        key_sign=1;                //按鍵有效標志置1,防止重復計數
                                        i++;
                                        if(i>=16)
                                                i=0;
                                }
//                        }
                }
                else                                                //按鍵抬起
                {
                        key_sign=0;                                //按鍵有效標志清0
//                        count=0;                                //消抖計數清0
                }        
                P2=table;
        }
}





ID:164602 發表于 2018-3-2 07:25
給個例子你看看
                if(K1==0)                //檢測按鍵K1是否按下
                {
                        Delay10ms();        //消除抖動
                        if(K1==0)
                        {
                                j=_cror_(j,1);
                                while((i<50)&&(K1==0))         //檢測按鍵是否松開
                                {
                                        Delay10ms();
                                        i++;
                                }
                                i=0;
                        }
                }               

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久不卡 | 欧美一级片在线播放 | 国产乱码精品一品二品 | 免费a网| 久久久九九九九 | 日韩精品一区二区不卡 | 中文精品视频 | 国外成人在线视频 | 麻豆亚洲 | 97精品超碰一区二区三区 | 国产91在线 | 中日 | 一区二区三区欧美 | 久久av一区 | 国产欧美视频一区二区三区 | 国产视频中文字幕 | 羞羞视频在线观看 | 免费午夜视频在线观看 | 成人日b视频 | 亚洲网站在线观看 | 超碰激情 | 久久久九九| 日本成人福利 | 国产精品成人在线播放 | 国产精品色综合 | 91精品国产乱码久久久 | 一级黄色片在线看 | 全免费a级毛片免费看视频免费下 | 欧美日韩在线一区二区三区 | 99精品福利视频 | 91天堂| 81精品国产乱码久久久久久 | av一区二区三区四区 | 99精品国产一区二区三区 | 中文字幕一区二区三区四区五区 | 精品乱码一区二区三四区视频 | 亚洲视频中文字幕 | 国产伦一区二区三区四区 | 欧美一级片在线观看 | 日韩精品专区在线影院重磅 | 欧美日韩亚洲国产综合 | 青青草视频免费观看 |