實(shí)驗(yàn)05按鍵消抖.doc

實(shí)驗(yàn)05按鍵消抖.doc

ID:55027723

大?。?4.50 KB

頁數(shù):4頁

時間:2020-04-26

實(shí)驗(yàn)05按鍵消抖.doc_第1頁
實(shí)驗(yàn)05按鍵消抖.doc_第2頁
實(shí)驗(yàn)05按鍵消抖.doc_第3頁
實(shí)驗(yàn)05按鍵消抖.doc_第4頁
資源描述:

《實(shí)驗(yàn)05按鍵消抖.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、實(shí)驗(yàn)五按鍵消抖一.實(shí)驗(yàn)?zāi)康?.掌握QuartusII的硬件描述語言設(shè)計(jì)方法2.了解同步計(jì)數(shù)器的原理及應(yīng)用3.設(shè)計(jì)一個帶使能輸入、進(jìn)位輸出及同步清零的增1四位N(N<16)進(jìn)制同步計(jì)數(shù)器二.準(zhǔn)備知識在按鍵使用的過程中,常常遇到按鍵抖動的問題,開關(guān)在閉合(斷開)的瞬間,不能一接觸就一直保持導(dǎo)通(斷開),因?yàn)殚_關(guān)的機(jī)械特性,重要經(jīng)歷接觸-斷開-再接觸-再斷開,最終穩(wěn)定在接觸位置,這就是開關(guān)的抖動,即雖然只是按下按鍵一次然后放掉,結(jié)果在按鍵信號穩(wěn)定前后,竟出現(xiàn)了一些不該存在的噪聲,這樣就會引起電路的誤動作。在很多應(yīng)用按鍵的場合,要求具有消抖措施。按鍵抖動與開關(guān)的機(jī)械特性有關(guān),其抖動期一般為5-10ms

2、。圖5.1按鍵電平抖動示意圖按鍵的消除抖動分為硬件消除抖動和軟件消除抖動。硬件消除抖動一般采用濾波的方法,通常在按鍵兩端并聯(lián)一個1~10u左右的電容,有時這樣也不能完全消除按鍵的抖動。軟件消除抖動的方法有多種,常用的是延時掃描和定時器掃描。延時掃描其原理為:檢測到按鍵操作后延時一端時間(如10ms)后,再檢測是否為仍然為同樣的按鍵操作狀態(tài),如果相同,就認(rèn)為是進(jìn)行了按鍵操作,然后對該操作進(jìn)行相應(yīng)的處理。定時器掃描的原理是:每隔一端時間(幾毫秒)掃描一次鍵盤,如果連續(xù)兩次(或3次)的所獲得的按鍵狀態(tài)相同,就輸出按鍵狀態(tài),然后再對這種按鍵狀態(tài)進(jìn)行處理,這里的掃描時間間隔和連續(xù)判斷按鍵狀態(tài)的次數(shù)是有關(guān)

3、系的,一般總時間要大于按鍵的抖動期。如果總時間太長,則感覺按鍵遲鈍,太短可能不能完全消除抖動,要根據(jù)實(shí)際的情況合適的選擇。在實(shí)際電路設(shè)計(jì)中,經(jīng)常采用的是軟硬件相結(jié)合對按鍵進(jìn)行消除抖動的處理方法。本實(shí)驗(yàn)采用的方法:實(shí)驗(yàn)箱按鍵的硬件電路是共陽極電路,按下按鍵時輸出到FPGA管腳的電平為低電平,松開按鍵時為高電平。我們采用5ms的定時器掃描FPGA管腳電平,如果連續(xù)3次為低電平時,存儲連續(xù)按鍵狀態(tài)的次數(shù)CNT的值加1,直到該計(jì)數(shù)值等于10(或再大一些),就不再累加(防止長按該值溢出而重新計(jì)數(shù)),此時認(rèn)為按鍵已穩(wěn)定,輸出按鍵操作標(biāo)志;在該過程中,一旦FPGA管腳電平為低電平就對CNT復(fù)位清零并同時對按

4、鍵操作標(biāo)志位復(fù)位,即一個異步復(fù)位。本實(shí)驗(yàn)采用的方法:實(shí)驗(yàn)箱按鍵的硬件電路是共陽極電路,按下按鍵時輸出到FPGA管腳的電平為低電平,松開按鍵時為高電平。我們采用5ms的定時器掃描采樣FPGA管腳電平,如果連續(xù)3次為低電平時,可以認(rèn)為此時按鍵已穩(wěn)定,輸出一個低電平按鍵信號;繼續(xù)采樣的過程中如果不能滿足連續(xù)3次采樣為低,則認(rèn)為鍵穩(wěn)定狀態(tài)結(jié)束,這時輸出變?yōu)楦唠娖?連線3次采用信號相3“或”),認(rèn)為按鍵松開。其原理圖如圖5.2所示。時間間隔可以更小、采樣次數(shù)更多效果可能會更好,但是增加了硬件的復(fù)雜度和資源利用。圖5.2按鍵抖動硬件原理圖本實(shí)驗(yàn)的思路為:用按鍵消抖與不消抖的信號,分別當(dāng)作時鐘信號觸發(fā)16進(jìn)

5、制計(jì)數(shù)器,計(jì)數(shù)結(jié)果用數(shù)碼管靜態(tài)顯示,比較按鍵消抖與不消抖的區(qū)別。一.實(shí)驗(yàn)步驟1、新建工程antiwobble新建文件夾,并在該文件夾下新建工程。2、編寫硬件描述語言文件將圖3.2所示的電路用語言描述出來,并擴(kuò)展多個通道(多路按鍵輸入,多路消抖信號輸出)。文件名為debounce,并封裝生成模塊符號文件。編寫16進(jìn)制計(jì)數(shù)器文件CNT16,并封裝生成模塊符號文件,或添加兆功能計(jì)數(shù)器模塊實(shí)現(xiàn)16進(jìn)制的計(jì)數(shù)器。編寫譯碼電路文件DECODE7,并封裝生成模塊符號文件。添加計(jì)數(shù)器分頻模塊DIV200Hz,我們需要周期為5ms的時鐘信號,故分頻次數(shù)。最后生成頂層原理圖文件antiwobble如圖5.3所示。

6、3圖5.3按鍵消抖頂層模塊說明:48MHz的系統(tǒng)晶振時鐘頻率經(jīng)模240,000的計(jì)數(shù)器,得到的進(jìn)位cout,其頻率為200Hz,也可以使用其計(jì)數(shù)值的最高位Q[17]作為消抖模塊的時鐘信號。二者的區(qū)別是占空比不同。消抖模塊“debounce”使用了參數(shù)傳遞說明語句,以關(guān)鍵詞GENERIC引導(dǎo)一個類屬參量表,在表中提供總線寬度等靜態(tài)信息。類屬表說明用于設(shè)計(jì)實(shí)體和外部環(huán)境通信的參數(shù)和傳遞信息。GENERIC語句在所定義的環(huán)境中的地位與常數(shù)相似,但卻能從環(huán)境(如外部實(shí)體)外部動態(tài)地接受賦值,其行為又類似于端口PORT。其使用本實(shí)驗(yàn)見參考程序。在類屬表的“KEY_WIDTH”參數(shù)的“Value”欄設(shè)為1

7、,就是對一個按鍵進(jìn)行消抖處理。這時其模塊輸入輸出管腳key_in、key_out為1位的邏輯位信號而非總線信號,但其模塊間連線可以是總線連線(粗線),也可以是節(jié)點(diǎn)連線(細(xì)線)。在debounce程序中,盡管設(shè)定了位寬KEY_WIDTH=8,但是在頂層文件中調(diào)用該模塊時,可以重新更改其位寬設(shè)置,編譯時以頂層文件的設(shè)置進(jìn)行編譯。盡管在debounce程序中設(shè)置的位寬在頂層文件中無效,但必須進(jìn)行設(shè)置,否

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。