版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)設(shè)計項目成績評定表一、設(shè)計任務(wù)及要求:1、設(shè)計任務(wù):利用 EDA設(shè)計試驗箱、微機和Quartus軟件系統(tǒng),設(shè)計并實現(xiàn)一個4*4鍵盤掃描電路。設(shè)計過程中使用 Verilog HDL語言,完成硬件設(shè)計和功能仿真。最后下載EDA設(shè)計試驗箱中予以實現(xiàn)。2、要 求:在時鐘控制下循環(huán)掃描鍵盤,根據(jù)列掃描信號和對應(yīng)鍵盤響應(yīng)信號確定鍵盤按鍵位置,并將按鍵值顯示在7段數(shù)碼管上。指導(dǎo)教師簽名: 年 月 日 二、指導(dǎo)教師評語:指導(dǎo)教師簽名: 年 月 日 三、成績評定:指導(dǎo)教師簽名: 年 月
2、日四、系部意見:系部蓋章: 年 月 日設(shè)計報告書目錄TOC o 1-3 h u 一、設(shè)計目的1、掌握常用的輸入設(shè)備行列式鍵盤接口電路的實現(xiàn)方法。2、學(xué)習(xí)較復(fù)雜的數(shù)字系統(tǒng)設(shè)計方法。二、設(shè)計思路如下圖所示為“4 * 4鍵盤”模擬圖。行“kbrow”有四行:kbrow0、kbrow1、kbrow2、kbrow3。列“kbcol”有四列:kbcol0、kbcol1、kbcol2、kbcol3 通過給四行賦值循環(huán)地對每行進行掃描,例如:通過行線賦值為“1000”時,這樣就使得第0行“0鍵、1鍵、2鍵、3鍵”處在高電平的狀態(tài)下。此時如果0鍵被按下,那么就有第0列輸出為高電平。即四位kbcol輸出為“100
3、0”,獲取鍵值為“0”然后在7段數(shù)碼管上顯示出來。圖1 4 * 4鍵盤三、設(shè)計內(nèi)容3.1、原理分析在數(shù)字系統(tǒng)設(shè)計中,4*4矩陣鍵盤是一種常見的輸入裝置,通常作為系統(tǒng)的輸入模塊。對應(yīng)于鍵盤上每一個鍵的識別,一般采用掃描的方法來實現(xiàn)。下面介紹一種用列信號進行掃描時的基本原理和流程,如圖2所示。當(dāng)進行列掃描時,掃描信號由列引腳進入鍵盤,以1000、0100、0010、0001的順序每次掃描不同的一列,然后讀取行引腳的點評信號,以此可以判斷是哪個按鍵被按下。例如,當(dāng)掃描行信號獨處的值為“0000”時,表示正在掃描“89AB”一列,如果該列沒有按鍵被按下,則由行信號讀出的值為“0000”;反之,如果按鍵
4、“9”被按下時,則該行信號讀出的值為“0110”。圖2 4 * 4鍵盤及行列代碼 3.1 1、4* 4鍵盤的掃描在這一部分中,利用時鐘信號進行掃描和頻率計數(shù)器的計數(shù)來完成對鍵盤的掃描。程序配套的4*4矩陣鍵盤電路圖如下圖所示:圖3 程序配套的4*4矩陣鍵盤電路圖時鐘信號給定相應(yīng)的時鐘信號,通過它的上升沿信號給計數(shù)器賦值。并同時讀取復(fù)位信號,一旦獲取到相應(yīng)的復(fù)位信號,所有鍵盤值即被初始化復(fù)位。3.1.2、掃描結(jié)果的顯示 用7段數(shù)碼管顯示相應(yīng)的掃描結(jié)果。其中7段數(shù)碼管采用共陰極讀取鍵值。當(dāng)某一鍵被按下,相應(yīng)的7段數(shù)碼管獲得高電平,便顯示該鍵值,如圖4所示:圖4 7段數(shù)碼管及所對應(yīng)的I/O接口3.1
5、.3、電路符號4*4矩陣鍵盤掃描電路的電路符號如圖5所示。輸入信號:時鐘信號clk;開始信號start;行掃描信號kbrow3:0。輸出信號:列掃描信號kbcool3:0;7段顯示控制信號seg7_out6:0;數(shù)碼管地址選擇控制信號scan2:0,圖5 4*4矩陣鍵盤掃描電路的電路符號3.1.4、數(shù)碼管地址選擇控制信號數(shù)碼管地址選擇控制信號scan2:0用于選擇哪個數(shù)碼管顯示數(shù)字,8個數(shù)碼管(SM8-SM1)為共陰極數(shù)碼管(段碼為高電平點亮數(shù)碼管),I/O2-I/O0為數(shù)碼管位選,位選對應(yīng)的數(shù)碼管關(guān)系如下表一所示:表一:數(shù)碼管地址選擇控制信號對應(yīng)的位選接口序列(硬件接口管教號)數(shù)碼管選中狀態(tài)
6、,可顯示I/O0 (scan0)I/O1 (scan1)I/O3 (scan2)111SM8110SM7101SM6100SM5011SM4010SM3001SM2000SM13.2、程序設(shè)計module jp(kbrow,seg7_out,scan,clk,start,kbcol); output 3:0 kbrow;/ 列掃描信號 output 6:0seg7_out;/ 7段顯示控制信號 output 2:0 scan;/ 數(shù)碼管地址選擇控制信號 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;/ 按鍵標(biāo)志位,判斷是否有鍵被按下 initial scan=3b000;/ 只使用一個數(shù)碼管顯示/循環(huán)掃描計數(shù)器always (posedge clk)begin if(start=0) seg7=7b;else begin count=count+1; /循環(huán)列掃描 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 /產(chǎn)生按鍵標(biāo)志位,用于儲存按鍵信息 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四、系統(tǒng)調(diào)試與結(jié)果 將實驗箱與微機和電源分別連接好。首先檢測試驗箱是否可以使用,經(jīng)檢測無誤后,開通電源。根據(jù)引腳的鎖定情況,將clk時鐘接128Hz時鐘輸入,對引腳配置編譯后,可將設(shè)計好的程序下載到EDA實驗箱,即可測試功能。 當(dāng)對應(yīng)“數(shù)字E”按鍵的按下,在實驗箱的7段數(shù)碼管上,會顯示對應(yīng)的數(shù)字E。 實驗效果圖如下圖所示:五、主要元器件與設(shè)備 1、EDA技術(shù)試驗箱一個 2、計算機一臺 3、Quartus軟件六、課程設(shè)計體會 通過此次課程設(shè)計,讓我對EDA這門技術(shù)有了更深的體會,并更好的學(xué)會了使用Quartus軟件進行硬件設(shè)計。 此次課程設(shè)計時基于Verilog HDL語言進行的矩陣鍵盤控制接口電路設(shè)計,在課程設(shè)計時,我逐漸掌握了Verilog HDL語言的語句及語法等的使用。但在學(xué)習(xí)過程中,也遇到了很多困難,尤其是Verilog HDL語言的運用。我先上網(wǎng)找了一些資料和程序,一點點的看,慢慢摸索著學(xué)習(xí)寫語句。最后在老師和同學(xué)的幫助下,終于完成了矩陣鍵盤控制接口電路的設(shè)計。七、參考文獻1 宋烈武. EDA技術(shù)與實踐教程. 北京:電子工業(yè)出版社,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年定制化抵押車輛融資合同樣本3篇
- 2025版酒店客房租賃及買賣合同3篇
- 2025年度大型數(shù)據(jù)中心網(wǎng)絡(luò)安全保障服務(wù)合同
- 2024年度大學(xué)生實習(xí)期間人身安全保障合同3篇
- 2025年工業(yè)定制電源合作協(xié)議書
- 旅游網(wǎng)站課程設(shè)計
- 2024年瑪雅社區(qū)房屋租賃與社區(qū)設(shè)施租賃合同3篇
- 2024年版標(biāo)準(zhǔn)格式協(xié)議模板細則版B版
- 承德醫(yī)學(xué)院《郵輪服務(wù)與管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 成都職業(yè)技術(shù)學(xué)院《展示與陳設(shè)》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)英語不規(guī)則動詞表
- VIC模型PPT課件
- AQL2.5抽檢標(biāo)準(zhǔn)
- 宣傳廣告彩頁制作合同
- 征信知識測試題及答案
- 理想系列一體化速印機故障代碼
- 現(xiàn)代電路技術(shù)——故障檢測D算法
- 檢驗科各專業(yè)組上崗輪崗培訓(xùn)考核制度全6頁
- 鈑金與成型 其它典型成形
- 工程停止點檢查管理(共17頁)
- 爬架安裝檢查驗收記錄表1529
評論
0/150
提交評論