国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

Xilinx FPGA入門連載21:按鍵消抖與LED開關實例

發布時間:2015-11-4 12:32    發布者:rousong1989
Xilinx FPGA入門連載21:按鍵消抖與LED開關實例
特權同學,版權所有
配套例程和更多資料下載鏈接:
http://pan.baidu.com/s/1jGjAhEm
1 按鍵消抖原理
         鍵盤分編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識別由專用的硬件編碼器實現,并產生鍵編碼號或鍵值的稱為編碼鍵盤,如計算機鍵盤。而靠軟件編程來識別的稱為非編碼鍵盤。
在一般嵌入式應用中,用的最多的是非編碼鍵盤,也有用到編碼鍵盤的。非編碼鍵盤又分為獨立鍵盤和行列式(又稱為矩陣式)鍵盤。所謂獨立式鍵盤,即嵌入式CPU(或稱MCU)的一個GPIO口對應一個按鍵輸入,這個輸入值的高低狀態就是鍵值。矩陣鍵盤用于采集鍵值的GPIO是復用的,一般分為行和列采集,例如4*4矩陣鍵盤就只需要行列各4個按鍵就可以了,矩陣鍵盤的控制較獨立鍵盤要復雜得多,本實驗未涉及,所以對其原理不做詳細介紹。
         獨立按鍵一般有2組管腳,雖然市面上我們常常看到有4個管腳的按鍵,但它們一般是兩兩導通的,這2組管腳在按鍵未被按下時是斷開的,在按鍵被按下時則是導通的。基于此原理,我們一般會把按鍵的一個管腳接地,另一個管腳上拉到VCC,并且也連接到GPIO。這樣,在按鍵未被按下時,GPIO的連接狀態為上拉到VCC,則鍵值為1;按鍵被按下時,GPIO雖然還是上拉到VCC,但同時被導通的另一個管腳拉到地了,所以它的鍵值實際上是0。
在本實驗中,我們有5個獨立按鍵。如圖所示,5個獨立按鍵一端接地,另一端在上拉的同時連接到FPGA的I/O口。當I/O口的電平為高(1)時,說明按鍵沒有被按下,當I/O口的電平為低(0)時,說明按鍵被按下了。
有人可能會說,按鍵值的采集判斷有什么難的,我讀連接按鍵的GPIO為1則未被按下,為0則被按下。話雖這么說,可實際情況可比這要復雜得多。如圖所示,按鍵在閉合和斷開時,觸點會存在抖動現象,這個抖動不僅和按鍵本身的機械結構有關,也和按鍵者的動作快慢輕重有關。因此,在按鍵按下或者釋放的時候都會出現一個不穩定的抖動時間,如果不處理好這個抖動時間,我們就無法正確采集到正確有效的按鍵值,所以我們的設計中必須有效消除按鍵抖動。如何進行有效的消抖,是本實驗的重點。
         在我們的按鍵采集中,為了有效的濾除按鍵抖動,我們使用了一個大約40ms的計數器,在按鍵值沒有變化的時候,這個計數器總是不停的計數,并且計數到40ms最大值時進行一次當前按鍵值采樣(作為最終鍵值鎖存下來)。另外,我們專門設置2個寄存器對當前的按鍵輸入值進行多拍鎖存(并不作為最終的鍵值),并且利用這兩個寄存器前后值的變化來判斷當前鍵值是否有跳變(如從1變成0,或從0變成1)。若有鍵值的跳變,則40ms計數器就會清0,相當于重新開始計數,這樣就能夠保證按鍵被按下或者松開時短于40ms的抖動情況下不鎖存鍵值,從而達到濾除任何短于40ms的按鍵抖動。在實際應用中,40ms足以應付一般的按鍵抖動,當然具體環境也要具體分析,設計者可以根據需要調整這個計數器的計數值,只要能夠更好的滿足抖動的需要即可。
如圖所示,這里的40ms計數器只有在計數到最大值時產生鎖存當前鍵值的時能信號,在抖動期間按鍵的采樣周期也會相應的變長一些,但卻能夠得到更加穩定準確的鍵值。
2 功能簡介
         除了前面所論及的按鍵消抖處理,該實驗還需要用到LED指示燈進行按鍵狀態的指示。
         該實驗要實現一個獨立按鍵控制一個發光二極管亮暗狀態翻轉。上電初始,發光二極管不亮,當某一個按鍵被按下后(即鍵值為0),發光二極管被點亮,當按鍵再次被按下時,發光二極管則又滅了,按鍵控制發光二級管如此反復的進行亮暗變化。
2 板級調試
         將sp6.bit文件下載到FPGA中,接著可以分別取按下圖示的導航按鍵,對應的LED指示燈的亮滅將會翻轉。

本文地址:http://m.4huy16.com/thread-155465-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 技術熱潮席卷三城,2025 Microchip中國技術精英年會圓滿收官!
  • Microchip第22屆中國技術精英年會上海首站開幕
  • 常見深度學習模型介紹及應用培訓教程
  • 電動兩輪車設計生態系統
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表