在電子產(chǎn)品中我們會(huì)經(jīng)常用到按鍵,比如電腦的鍵盤,手機(jī)的按鍵等等,按鍵就是人機(jī)交互的一種工具。 本文使用 FPGA 程序來檢測(cè)與按鍵對(duì)應(yīng)的 I/O口的電平高低來判斷按鍵是否按下或松開,通過點(diǎn)亮/點(diǎn)滅開發(fā)板上相應(yīng)的 LED 燈來指示按鍵的動(dòng)作。

按鍵原理圖
從原理圖可知:當(dāng)按鍵按下時(shí),F(xiàn)PGA 的 I/O 口檢測(cè)到低電平; 當(dāng)按鍵彈起時(shí),F(xiàn)PGA 的 I/O口檢測(cè)到高電平。
注意點(diǎn):每 20ms 程序會(huì)檢查一下按鍵的狀,如果這次檢測(cè)為低電平而且上次檢測(cè)為高電平的話,說明有按鍵按下,相對(duì)應(yīng)的 LED 燈反轉(zhuǎn)。 一般按鍵按下時(shí)的按鍵抖動(dòng)為低于 20ms 的脈沖信號(hào),這些高頻脈沖信號(hào)會(huì)被濾除。 提高了按鍵的可靠性。
用verilog實(shí)現(xiàn):


用VHDL實(shí)現(xiàn)



特別地:Verilog中的條件操作符號(hào)“?”,比如 assign c=d?a:b; 它的意思就是,當(dāng)d=1時(shí),把a(bǔ)的值賦給c,否則,把b的值賦給c。 實(shí)際在VHDL中,可以用一個(gè)if-else語句來實(shí)現(xiàn)同樣的說法。

-
FPGA
+關(guān)注
關(guān)注
1656文章
22288瀏覽量
630380 -
電子產(chǎn)品
+關(guān)注
關(guān)注
6文章
1261瀏覽量
60196 -
led燈
+關(guān)注
關(guān)注
22文章
1604瀏覽量
111174 -
Verilog
+關(guān)注
關(guān)注
30文章
1370瀏覽量
114150 -
按鍵檢測(cè)
+關(guān)注
關(guān)注
0文章
25瀏覽量
5000
發(fā)布評(píng)論請(qǐng)先 登錄
深入而全面:FPGA學(xué)習(xí)之獨(dú)立按鍵檢測(cè)
基于FPGA按鍵模式的分類和如何實(shí)現(xiàn)應(yīng)用設(shè)計(jì)
【ZYNQ Ultrascale+ MPSOC FPGA教程】第九章Vivado下按鍵實(shí)驗(yàn)
【紫光同創(chuàng)國(guó)產(chǎn)FPGA教程】【第三章】按鍵檢測(cè)實(shí)驗(yàn)
fpga教程之——按鍵消抖
小梅哥和你一起深入學(xué)習(xí)FPGA之獨(dú)立按鍵檢測(cè)
梅哥和你一起深入學(xué)習(xí)FPGA之獨(dú)立按鍵檢測(cè)(下)
小梅哥和你一起深入學(xué)習(xí)FPGA之獨(dú)立按鍵檢測(cè)(上)
【ZYNQ Ultrascale+ MPSOC FPGA教程】第九章Vivado下按鍵實(shí)驗(yàn)
PIC單片機(jī) 按鍵檢測(cè)識(shí)別
51匯編(七):按鍵檢測(cè)
如何在FPGA中實(shí)現(xiàn)按鍵消抖
基于FPGA實(shí)現(xiàn)按鍵消抖處理
遠(yuǎn)心鏡頭應(yīng)用手機(jī)按鍵檢測(cè)

基于FPGA的按鍵檢測(cè)設(shè)計(jì)
評(píng)論