4×4鍵盤掃描電路設計_第1頁
4×4鍵盤掃描電路設計_第2頁
4×4鍵盤掃描電路設計_第3頁
4×4鍵盤掃描電路設計_第4頁
4×4鍵盤掃描電路設計_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上精選優質文檔-傾情為你奉上專心-專注-專業專心-專注-專業精選優質文檔-傾情為你奉上專心-專注-專業設計項目成績評定表一、設計任務及要求:1、設計任務:利用 EDA設計試驗箱、微機和Quartus軟件系統,設計并實現一個4*4鍵盤掃描電路。設計過程中使用 Verilog HDL語言,完成硬件設計和功能仿真。最后下載EDA設計試驗箱中予以實現。2、要 求:在時鐘控制下循環掃描鍵盤,根據列掃描信號和對應鍵盤響應信號確定鍵盤按鍵位置,并將按鍵值顯示在7段數碼管上。指導教師簽名: 年 月 日 二、指導教師評語:指導教師簽名: 年 月 日 三、成績評定:指導教師簽名: 年 月

2、日四、系部意見:系部蓋章: 年 月 日設計報告書目錄TOC o 1-3 h u 一、設計目的1、掌握常用的輸入設備行列式鍵盤接口電路的實現方法。2、學習較復雜的數字系統設計方法。二、設計思路如下圖所示為“4 * 4鍵盤”模擬圖。行“kbrow”有四行:kbrow0、kbrow1、kbrow2、kbrow3。列“kbcol”有四列:kbcol0、kbcol1、kbcol2、kbcol3 通過給四行賦值循環地對每行進行掃描,例如:通過行線賦值為“1000”時,這樣就使得第0行“0鍵、1鍵、2鍵、3鍵”處在高電平的狀態下。此時如果0鍵被按下,那么就有第0列輸出為高電平。即四位kbcol輸出為“100

3、0”,獲取鍵值為“0”然后在7段數碼管上顯示出來。圖1 4 * 4鍵盤三、設計內容3.1、原理分析在數字系統設計中,4*4矩陣鍵盤是一種常見的輸入裝置,通常作為系統的輸入模塊。對應于鍵盤上每一個鍵的識別,一般采用掃描的方法來實現。下面介紹一種用列信號進行掃描時的基本原理和流程,如圖2所示。當進行列掃描時,掃描信號由列引腳進入鍵盤,以1000、0100、0010、0001的順序每次掃描不同的一列,然后讀取行引腳的點評信號,以此可以判斷是哪個按鍵被按下。例如,當掃描行信號獨處的值為“0000”時,表示正在掃描“89AB”一列,如果該列沒有按鍵被按下,則由行信號讀出的值為“0000”;反之,如果按鍵

4、“9”被按下時,則該行信號讀出的值為“0110”。圖2 4 * 4鍵盤及行列代碼 3.1 1、4* 4鍵盤的掃描在這一部分中,利用時鐘信號進行掃描和頻率計數器的計數來完成對鍵盤的掃描。程序配套的4*4矩陣鍵盤電路圖如下圖所示:圖3 程序配套的4*4矩陣鍵盤電路圖時鐘信號給定相應的時鐘信號,通過它的上升沿信號給計數器賦值。并同時讀取復位信號,一旦獲取到相應的復位信號,所有鍵盤值即被初始化復位。3.1.2、掃描結果的顯示 用7段數碼管顯示相應的掃描結果。其中7段數碼管采用共陰極讀取鍵值。當某一鍵被按下,相應的7段數碼管獲得高電平,便顯示該鍵值,如圖4所示:圖4 7段數碼管及所對應的I/O接口3.1

5、.3、電路符號4*4矩陣鍵盤掃描電路的電路符號如圖5所示。輸入信號:時鐘信號clk;開始信號start;行掃描信號kbrow3:0。輸出信號:列掃描信號kbcool3:0;7段顯示控制信號seg7_out6:0;數碼管地址選擇控制信號scan2:0,圖5 4*4矩陣鍵盤掃描電路的電路符號3.1.4、數碼管地址選擇控制信號數碼管地址選擇控制信號scan2:0用于選擇哪個數碼管顯示數字,8個數碼管(SM8-SM1)為共陰極數碼管(段碼為高電平點亮數碼管),I/O2-I/O0為數碼管位選,位選對應的數碼管關系如下表一所示:表一:數碼管地址選擇控制信號對應的位選接口序列(硬件接口管教號)數碼管選中狀態

6、,可顯示I/O0 (scan0)I/O1 (scan1)I/O3 (scan2)111SM8110SM7101SM6100SM5011SM4010SM3001SM2000SM13.2、程序設計module jp(kbrow,seg7_out,scan,clk,start,kbcol); output 3:0 kbrow;/ 列掃描信號 output 6:0seg7_out;/ 7段顯示控制信號 output 2:0 scan;/ 數碼管地址選擇控制信號 input clk,start;/ 掃描時鐘信號,開始信號,高電平有效 input 3:0 kbcol;/ 行掃描信號 reg 3:0 kbr

7、ow; reg 6:0seg7_out; reg 2:0 scan; reg 1:0 sta; reg 1:0 count; reg 6:0 seg7; reg 4:0 dat; reg fn;/ 按鍵標志位,判斷是否有鍵被按下 initial scan=3b000;/ 只使用一個數碼管顯示/循環掃描計數器always (posedge clk)begin if(start=0) seg7=7b;else begin count=count+1; /循環列掃描 case(count)2b00:begin kbrow=4b0001;sta=2b00;end 2b01:begin kbrow=4b

8、0010;sta=2b01;end 2b10:begin kbrow=4b0100;sta=2b10;end 2b11:begin kbrow=4b1000;sta=2b11;end endcase /行掃描譯碼 case(sta) 2b00:begin case(kbcol) 4b0001:begin seg7=7b111_1001;dat=5b00011;end 4b0010:begin seg7=7b110_1101;dat=5b00010;end 4b0100:begin seg7=7b011_0000;dat=5b00001;end 4b1000:begin seg7=7b111_1

9、110;dat=5b00000;end default:begin seg7=7b000_0000;dat=5b11111;end endcase end 2b01:begin case(kbcol) 4b0001:begin seg7=7b111_0000;dat=5b00111;end 4b0010:begin seg7=7b101_1111;dat=5b00110;end 4b0100:begin seg7=7b101_1011;dat=5b00101;end 4b1000:begin seg7=7b011_0011;dat=5b00100;end default:begin seg7=

10、7b000_0000;dat=5b11111;end endcase end 2b10:begin case(kbcol) 4b0001:begin seg7=7b001_1111;dat=5b01011;end 4b0010:begin seg7=7b111_0111;dat=5b01011;end 4b0100:begin seg7=7b111_1011;dat=5b01001;end 4b1000:begin seg7=7b111_1111;dat=5b01000;end default:begin seg7=7b000_0000;dat=5b11111;end endcase end

11、2b11:begin case(kbcol) 4b0001:begin seg7=7b100_0111;dat=5b01111;end 4b0010:begin seg7=7b100_1111;dat=5b01110;end 4b0100:begin seg7=7b011_1101;dat=5b01101;end 4b1000:begin seg7=7b100_1110;dat=5b01100;end default:begin seg7=7b000_0000;dat=5b11111;end endcase end default:seg7=7b;endcase end end always

12、begin fn=(dat0&dat1&dat2&dat3&dat4); end /產生按鍵標志位,用于儲存按鍵信息 always (posedge fn)/ 按鍵信息儲存 begin seg7_out=seg7; end endmodule3.3、管腳分配表二:管腳分配表tolocationclkPIN_79seg7_out6PIN_10seg7_out5PIN_11seg7_out4PIN_12seg7_out3PIN_13seg7_out2PIN_14seg7_out1PIN_15seg7_out0PIN_16kbrow3PIN_62kbrow2PIN_61kbrow1PIN_60kbr

13、ow0PIN_58kbcol0PIN_67kbcol1PIN_65kbcol2PIN_64kbcol3PIN_63scan0PIN_7scan1PIN_8scan2PIN_9四、系統調試與結果 將實驗箱與微機和電源分別連接好。首先檢測試驗箱是否可以使用,經檢測無誤后,開通電源。根據引腳的鎖定情況,將clk時鐘接128Hz時鐘輸入,對引腳配置編譯后,可將設計好的程序下載到EDA實驗箱,即可測試功能。 當對應“數字E”按鍵的按下,在實驗箱的7段數碼管上,會顯示對應的數字E。 實驗效果圖如下圖所示:五、主要元器件與設備 1、EDA技術試驗箱一個 2、計算機一臺 3、Quartus軟件六、課程設計體會 通過此次課程設計,讓我對EDA這門技術有了更深的體會,并更好的學會了使用Quartus軟件進行硬件設計。 此次課程設計時基于Verilog HDL語言進行的矩陣鍵盤控制接口電路設計,在課程設計時,我逐漸掌握了Verilog HDL語言的語句及語法等的使用。但在學習過程中,也遇到了很多困難,尤其是Verilog HDL語言的運用。我先上網找了一些資料和程序,一點點的看,慢慢摸索著學習寫語句。最后在老師和同學的幫助下,終于完成了矩陣鍵盤控制接口電路的設計。七、參考文獻1 宋烈武. EDA技術與實踐教程. 北京:電子工業出版社,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論