《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的可鍵盤控制計數電路的設計與實現
基于FPGA的可鍵盤控制計數電路的設計與實現
電子設計工程
李小亮,蔣華勤,董雪峰,張具琴
摘要: 介紹一種基于FPGA(FieldProgrammableGateArray)現場可編程門陣列的可鍵盤控制的計數,顯示電路的實現方法。應用VHDL語言(高速集成電路硬件描述語言)完成了3x4矩陣開關的掃描電路,可預置數的BCD碼計數電路及
關鍵詞: FPGA 鍵盤 VHDL 計數
Abstract:
Key words :

摘要:介紹一種基于FPGA(Field Programmable Gate Array)現場可編程門陣列的可鍵盤控制的計數,顯示電路的實現方法。應用VHDL語言(高速集成電路硬件描述語言)完成了3x4矩陣開關的掃描電路,可預置數的BCD碼計數電路及4位數碼管動態掃描電路的描述。通過原理圖輸入方式完成了系統功能的設計。電路結構簡單,便于擴展,可靠性高,且可移植性強,容易實現。該電路已成功應用于測試某脈沖電容質量試驗的控制電路中。
關鍵詞:FPGA;鍵盤掃描;計數;動態顯示

    FPGA做為現代電子設計技術的核心器件,成為目前硬件設計研究的重點。在工業控制中,計數顯示基本電路在儀器儀表中得到了廣泛應用,而如何根據需要靈活的設置計數范圍,是一個較為復雜的問題。本文應用EDA技術通過對鍵盤的控制,實現了從0~9999范圍內預置數可變的計數顯示電路設計。與傳統的應用單片機控制鍵盤掃描的設計方法相比,具有集成度高,穩定度高,抗噪聲能力強,容錯率低等優點。

1 系統設計原理及電路圖
    圖1為基于FPGA的預置數可控計數顯示頂層設計電路原理圖,共由3部分組成:鍵盤掃描控制電路key_board;BCD碼計數電路CNT;4位數碼管動態掃描顯示電路scan_LED。首先,由鍵盤掃描電路完成對鍵盤的掃描和鍵值的譯碼,當計數電路置數端LOAD為上升沿時,將鍵盤掃描電路讀取的數據經P3-P0并行置入到計數器中做為其計數范圍,計數器的輸出通過動態掃描譯碼模塊驅動4位數碼管顯示。

a.JPG



2 VHDL語言的實現
    該設計采用層次化設計方法,首先采用VHDL語言完成了對各子模塊電路的描述,然后分別將其生成符號元件,通過原理圖編輯完成了系統的設計。
2.1 鍵盤掃描電路
2.1.1 行列式鍵盤工作原理
    圖2為3x4行列式鍵盤原理圖,行線是KEY_HANG[2..0],列線是KEY_LIE[3..0],形成12個交叉點,每個交叉點連接一個按鍵。12個按鍵分別對應數字0~9和清零鍵A,確定鍵B。當沒有按鍵按下時,所有交叉點斷開,由于列線的上拉電阻作用,使其保持高電平。如果行線KEY_HANG[2..0]被設置為低電平,當有按鍵按下時,該鍵所在的行線和列線被按鍵短路,那么相應得列線就變為低電平。

b.JPG


2.1.2 鍵盤掃描電路工作原理
    圖3為鍵盤掃描原理圖。CLK_40K為鍵盤掃描工作時鐘,連續讀取數據輸入端KEY_LIE[3..0]的信息;CLK_2K為鍵值控制工作時鐘信號,無鍵按下時控制電路循環掃描輸出;P3,P2,P1,P0為鍵盤譯碼輸出BCD碼形式;START端為數據輸出標志信號,當P3-P0輸出時,START端輸出一個脈沖。工作時,由行信號輸出端KEY_HANG[2..0]循環輸出“110”,“101”,“011”。當沒有按鍵按下時,掃描電路列信號輸入端檢測到“1111”。當有按鍵按下時,例如按下1鍵,此時行信號KEY_HANG[2..0]輸出“011”,由圖2可知。列信號輸入端將檢測到“0111”,在掃描譯碼時,可根據行信號輸出和列信號輸入數據同時判斷“0110111”對應數據為1。

d.JPG


2.1.3 鍵盤掃描電路VEIDL實現
    鍵盤掃描電路主要有判斷按鍵有無按下,鍵值識別和去抖動處理等功能。其中去抖處理主要為了避免外界振動引起按鍵誤動,以及保證按鍵每穩定閉合一次,系統僅對其響應一次。采用不同的鍵盤其機械抖動時間各異,本文設置去抖時間為20 ms。圖4為鍵盤掃描電路VHDL描述流程圖。以下是去抖動程序關鍵代碼:
    e.JPG
    c.JPG

c1.jpg


2.2 可預置數BCD碼計數電路
    圖5為可預置數BCD碼計數電路。置數端LOAD為高電平時,將通過鍵盤設置的數并行置入到D3~D0。然后對輸入的脈沖直接進行BCD碼減法計數,由Q3~Q0輸出。計數結束,ENDCNT端輸出一個脈沖。

f.JPG


    部分源程序如下所示:
   
h.JPG
2.3 4位數碼管動態掃描顯示電路
    段式LED顯示器的控制方式分為靜態顯示控制和動態顯示控制兩種。本電路設計采用動態掃描方式,具有占用資源少,電路結構簡單等優點。電路如圖6所示。外接4位共陰數碼管,其中每個數碼管的7段a、b、c、d、e、f、g都分別連在一起,4位數碼管分別由BT[3..0] 4位選通信號來選擇。被選通的數碼管顯示數據,其余關閉,與此同時,在段信號輸入端口加上希望在該對應數碼管顯示的數據。隨著選通信號的循環掃描,段碼的分別輸出,利用數碼管的余暉效應,即可顯示4位數據。

i.JPG



3 仿真結果
    將設計好的電路經過編譯、引腳配置、下載到FPGA芯片EP1C12Q240。采用QUATUSⅡ6.0軟件自帶的嵌入式邏輯分析儀對目標芯片內部信號各節點進行觀察分析,如圖7所示。實驗中已將預置數1234置入計數器中,通過圖7可以看到此時位選信號選通第2位數碼管,顯示數據3。

j.JPG



4 結束語
    完成了基于FPGA,應用VHDL文本輸入和原理圖混合輸入法,實現預置數靈活設置的計數顯示電路。該電路設計解決了可預置數計數器從外部設備置數難的問題,以及在電路內部直接實現BCD碼計數,方便,可靠,電路簡單,尤其該系統在較惡劣環境情況下依然可以穩定工作。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日韩大片观看网址| 四虎影视久久久免费| 中文字幕不卡一区| 欧美婷婷六月丁香综合色| 午夜影视在线免费观看| 久久伊人色综合| 在车子颠簸中进了老师的身体| 久久久亚洲精品国产| 欧美在线视频二区| 免费网站看v片在线a| 青草国产精品久久久久久| 国产精品美女一区二区视频 | 视频黄页在线观看| 国产精品嫩草影院在线播放| 一级欧美一级日韩| 日本道色综合久久影院| 亚洲国产婷婷综合在线精品| 理论亚洲区美一区二区三区| 国产99久久久久久免费看| 欧美人与动性xxxxbbbb| 国模丽丽啪啪一区二区| 一级午夜免费视频| 日本人亚洲人jjzzjjzz页码1| 亚洲另类欧美日韩| 波多野结衣潜入搜查官| 公交车忘穿内裤被挺进小说白| 视频一区视频二区制服丝袜| 国产日韩精品欧美一区| 888亚洲欧美国产VA在线播放| 女性高爱潮真实有声视频| 中文日本免费高清| 日韩亚洲av无码一区二区三区| 亚洲国产成人久久一区二区三区| 热99re久久精品天堂vr| 再深点灬舒服灬快h视频| 色综合久久综合网| 国产好深好硬好爽我还要视频 | 日本一本一区二区| 亚洲图片国产日韩欧美| 男人j进美女p动态图片| 四虎影视色费永久在线观看|