999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

單片機定時器在按鍵消抖和鍵音輸出中的應用

2019-04-26 05:03:40徐連喜
電子技術(shù)與軟件工程 2019年4期
關(guān)鍵詞:單片機

文/徐連喜

鍵盤輸入和鍵音輸出是單片機系統(tǒng)中人機對話的常見部分。一般情況下,按鍵按下時易產(chǎn)生抖動干擾,進而使系統(tǒng)誤動作,程序員處理此問題時通常會在檢測到有鍵被按下時,加入一個延時,延時過后再檢測同一按鍵是否仍處于被按狀態(tài)?若是,就判定此鍵確實被按下,接著就開始執(zhí)行此鍵的功能;若不是,就判定為干擾,并忽略延時前的檢測結(jié)果。通常情況下,兩次檢測之間所加入的延時需要約100mS才能達到比較理想的消抖效果,而CPU是依用戶程序從頭到尾掃描執(zhí)行程序代碼,如果在長達100mS的時間里,CPU僅僅完成一次延時的功能,那么此時段內(nèi)其它任務都將被擱置,這對于那些實時控制要求較高的場所(例如數(shù)碼管動態(tài)掃描顯示)是絕對不允許的。基于實時控制所遇到的另外一個問題就是鍵音輸出問題,當CPU判定某個鍵被按下時,通過某個IO端口輸出鍵音,用戶就會有更加貼切的人機對話體驗,要讓人清晰地聽到清脆的鍵音,聲音的頻率一般控制在1KHz左右,而且時間不能太短,約100mS較適宜,依照前述的用戶程序的運行規(guī)則,此時若用常規(guī)的IO端口取反、延時、再取反來輸出鍵音,顯然不能滿足用戶程序的實時控制要求。為此,本文詳述了新的思路,巧妙地利用2個定時器分別去控制按鍵消抖和鍵音輸出,經(jīng)實物驗證,CPU不僅能輕松處理按鍵消抖和鍵音輸出,同時還能完成數(shù)碼管的動態(tài)掃描及各個IO端口的實時控制,取得了理想的控制效果。

1 單片機應用系統(tǒng)硬件框圖

如圖1所示。

2 鍵盤輸入硬件電路

如圖2所示。

鍵盤硬件電路,采用4X4矩陣鍵盤,用8個I/O口就能得到16個鍵值,可實現(xiàn)0~9共十個數(shù)字鍵輸入和A~F共六個功能鍵輸入。

3 鍵音輸出硬件電路

圖1:單片機應用系統(tǒng)硬件框圖

圖2:鍵盤輸入硬件電路

圖3:鍵音輸出硬件電路

如圖3所示。

鍵音的發(fā)聲器件BZ1采用線圈蜂鳴器,這樣可使得發(fā)聲器件的體積小,聲音清脆。驅(qū)動器件由限流電阻、續(xù)流二極管、開關(guān)驅(qū)動管等部分組成。 R6、R18與Q2組成簡單的開關(guān)驅(qū)動電路,為CPU有力推動BZ1提供動力,R18是快速關(guān)斷電阻,可使CPU由低電平轉(zhuǎn)高電平時快速關(guān)斷Q2,避免了Q2因關(guān)斷不及時而產(chǎn)生意想不到的雜音。D3作為續(xù)流二極管,避免在Q2關(guān)斷瞬間由BZ1線圈產(chǎn)生的負高壓損傷Q2,電阻R7既可以調(diào)節(jié)音量大小,也可以起到限流作用(當Q2導通時)。

4 矩陣鍵盤掃描及其消抖和鍵音的軟件設計

如圖4、5、6所示。

鍵盤功能由“矩陣鍵盤掃描子程序”和“按鍵消抖(T0中斷)子程序”和“鍵音(T1中斷)子程序”完成。按鍵消抖對系統(tǒng)可靠運行至關(guān)重要,如果僅僅用普通的延時消抖,延時時間短了起不到消抖作用,延時時間長了又會影響CPU的實時控制功能,特別是當應用系統(tǒng)配有數(shù)碼管動態(tài)掃描顯示時,消抖延時時間長了就會使周期內(nèi)的數(shù)碼管動態(tài)顯示時間縮短而變暗,嚴重影響數(shù)碼管顯示效果,為此,系統(tǒng)采用T0中斷方式延時消抖,消抖“開中斷”命令是被巧妙地安插在按鍵消抖子程序里,一旦有鍵被按,鍵掃描程序必定調(diào)用按鍵消抖子程序,于是開T0中斷,進入T0中斷后立即關(guān)閉鍵掃描100mS,這100mS期間CPU只掃描數(shù)碼管及其它IO端口而不掃描鍵盤,從而保證了消抖期間數(shù)碼管亮度不受影響。消抖延時結(jié)束后恢復鍵盤掃描。同消抖延時一樣,也是緣于鍵音對數(shù)碼管顯示及對其它IO端口實時控制的影響,為此,系統(tǒng)采用T1中斷方式處理鍵音,鍵音中斷的“開中斷”命令是被巧妙地安插在按鍵消抖子程序里,一旦有鍵被按,鍵掃描程序必定調(diào)用按鍵消抖子程序,從而開啟鍵音中斷,鍵音頻率由T1的初值決定,鍵音時長則由中斷次數(shù)決定。鍵音中斷子程序完成“BZ1通電與斷電切換”和“切換401次(102mS)后關(guān)閉中斷”,以及“關(guān)閉中斷期間CPU驅(qū)動腳鎖高電平”功能。

圖4:矩陣鍵盤掃描子程序

圖5:按鍵消抖(T0中斷)子程序

圖6:鍵音(T1中斷)子程序

5 結(jié)論

古老的8051單片機有T0和T1兩個定時器,若主程序有鍵盤輸入但不需用到T0和T1,則也可以用此辦法來解決消抖和鍵音問題;若主程序有時鐘或秒脈沖計時需求,也可以由外部擴展時鐘IC(例如DS1302或DS3231),利用時鐘IC的秒脈沖觸發(fā)CPU的外部中斷來引入秒脈沖計時。

加強型的STC系列單片機一般都有3個及以上數(shù)量的定時器,隨便拿其中的兩個定時器來處理消抖和鍵音問題,其余的定時器留給主程序使用。

總之,只要主程序有鍵盤輸入和鍵音輸出需求,只要能騰出兩個定時器,利用本文的方案就能完美解決消抖和鍵音問題,進而安心地處理數(shù)碼管動態(tài)掃描顯示及其它IO端口的實時控制。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統(tǒng)設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統(tǒng)的仿真設計
主站蜘蛛池模板: 免费在线a视频| 日本午夜网站| 九色视频在线免费观看| 亚洲AⅤ波多系列中文字幕| 色吊丝av中文字幕| 精品国产电影久久九九| 亚洲中文字幕av无码区| 国产精品午夜电影| 亚洲精品成人福利在线电影| 国产真实自在自线免费精品| 欧美日韩精品一区二区在线线 | 国产女人综合久久精品视| 精品国产成人a在线观看| 操操操综合网| 亚洲精品天堂在线观看| 国产乱子伦手机在线| 精品无码人妻一区二区| 婷婷99视频精品全部在线观看| 国产一级在线观看www色 | 国产成人午夜福利免费无码r| 熟妇丰满人妻av无码区| 国产AV毛片| Jizz国产色系免费| 国产亚洲欧美日韩在线一区二区三区| 露脸真实国语乱在线观看| 色综合成人| 国产av一码二码三码无码| 精品少妇人妻av无码久久| 国产又爽又黄无遮挡免费观看| 精品乱码久久久久久久| 红杏AV在线无码| 免费看的一级毛片| 免费看久久精品99| 欧美无遮挡国产欧美另类| 在线观看欧美国产| 黄色国产在线| 欧美一区精品| 91麻豆精品视频| 亚洲中字无码AV电影在线观看| 中文精品久久久久国产网址| 日本免费一区视频| 92午夜福利影院一区二区三区| 国产 日韩 欧美 第二页| 亚洲综合第一区| 国产精品漂亮美女在线观看| 亚洲AⅤ无码国产精品| 国产精品九九视频| 久久综合婷婷| 伊人五月丁香综合AⅤ| 国产特一级毛片| 香蕉在线视频网站| 国产福利一区在线| 国产欧美在线观看一区| 久久午夜夜伦鲁鲁片无码免费| 国产又粗又猛又爽视频| 美女无遮挡免费视频网站| 国产精品视频系列专区 | 国产成人精品一区二区三区| 亚洲综合色婷婷| 亚洲永久免费网站| 91在线一9|永久视频在线| 99热这里只有精品在线观看| 日本不卡免费高清视频| 日韩毛片在线视频| 亚洲色图综合在线| 国产91精品久久| 青青草久久伊人| 亚洲最大在线观看| 亚洲中文字幕无码mv| 国产最新无码专区在线| 亚洲人成日本在线观看| 日本免费一区视频| 三上悠亚一区二区| 色偷偷av男人的天堂不卡| 国产欧美性爱网| 亚洲最猛黑人xxxx黑人猛交| 国产精品19p| 欧美精品在线看| 手机永久AV在线播放| 成人看片欧美一区二区| 国产乱子伦手机在线| 天天干伊人|