![鍵盤掃描輸入實驗_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/3778c27d-f9d7-461d-a211-bef15793a49b/3778c27d-f9d7-461d-a211-bef15793a49b1.gif)
![鍵盤掃描輸入實驗_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/3778c27d-f9d7-461d-a211-bef15793a49b/3778c27d-f9d7-461d-a211-bef15793a49b2.gif)
![鍵盤掃描輸入實驗_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/3778c27d-f9d7-461d-a211-bef15793a49b/3778c27d-f9d7-461d-a211-bef15793a49b3.gif)
![鍵盤掃描輸入實驗_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/3778c27d-f9d7-461d-a211-bef15793a49b/3778c27d-f9d7-461d-a211-bef15793a49b4.gif)
![鍵盤掃描輸入實驗_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/3778c27d-f9d7-461d-a211-bef15793a49b/3778c27d-f9d7-461d-a211-bef15793a49b5.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、4.1.1 實驗?zāi)康?1.學(xué)習(xí)復(fù)雜數(shù)字系統(tǒng)的設(shè)計方法; 2.掌握矩陣式鍵盤輸入列陣的設(shè)計方法。4.1.2 實驗設(shè)備 PC微機一臺,TD-EDA試驗箱一臺,SOPC開發(fā)板一塊。4.103 實驗內(nèi)容在電子,控制,信息處理等各種系統(tǒng)中,操作人員經(jīng)常需要想系統(tǒng)輸入數(shù)據(jù)和命令,以實現(xiàn)人機通信。實現(xiàn)人機通信最常用的輸入設(shè)備是鍵盤。在EDA技術(shù)的綜合應(yīng)用設(shè)計中,常用的鍵盤輸入電路獨立式鍵盤輸入電路、矩陣式鍵盤輸入電路和“虛擬式”鍵盤輸入電路。所謂矩陣是鍵盤輸入電路,就是將水平鍵盤掃描線和垂直輸入譯碼線信號的不同組合編碼轉(zhuǎn)換成一個特定的輸入信號值或輸入信號編碼,利用這種行列矩陣結(jié)構(gòu)的鍵盤,只需N個行線和M個列
2、線即可組成NXM按鍵,矩陣式鍵盤輸入電路的優(yōu)點是需要鍵數(shù)太多時,可以節(jié)省I/O口線;缺點是編程相對困難。本實驗使用TD-EDA實驗系統(tǒng)的鍵盤單元設(shè)計一個4x4的矩陣鍵盤的掃描譯碼電路。此設(shè)計包括鍵盤掃描模塊和掃描碼鎖存模塊,原理如圖4-1-1。每按下鍵盤列陣的一個按鍵立即在七段數(shù)碼管上顯示相應(yīng)的數(shù)據(jù)。4.1.1 實驗步驟 1. 運行Quartus II 軟件,分別建立新工程,選擇File->New菜單,創(chuàng)建VHDL描述語言設(shè)計文件,分別編寫、REG.VHD. 2.掃描碼鎖存模塊REG的VHDL源程序如下;-輸入鎖存器VHDL源程序:REGVHDL LIBRARY IEEE;USB IEE
3、E.STD-LOGIC-1164.ALL; ENTITY REG ISPORT ( RCLK : IN STD-LOGIC; -掃描時鐘YXD : IN STD-LOGIC-VECTOR(3 DOWNTO 0); -Y 列消抖輸入 DATA : IN STD-LOGIC-VECTOR(7 DOWNTO 0); -輸入數(shù)據(jù) LED : OUT STD-LOGIC-VECTOR(7 DOWNTO 0); -鎖存數(shù)據(jù)輸出END ENTITY REG;ARCHITECTURE BEHV OF REG IS SIGNAL RST : STD-LOGIC; -鎖存器復(fù)位清零 SIGNAL OLDDATA
4、:STD-LOGIC-VECTOR(7 DOWNTO 0); -鎖存器舊數(shù)據(jù) SIGNAL NEWDATA :STD-LOGIC-VECTOR(7 DOWNTO 0); -鎖存器新數(shù)據(jù) BEGIN PROCESS(RCLK) BEGIN IF RCLKEVENT AND RCLK=1THEN RST<=YXD(3)AND YXD(2)AND YXD(1)AND YXD(0); -判斷是否有按鍵 END IF; END PROCESS; PROCESS(RST) IS BEGIN IF(RST=1)THEN -RST=1沒有按鍵按下 NEWDATA<=OLDDATA; ELSE OL
5、DDATA<=DATA; -RST=0有按鍵按下打入新?lián)?END IF; LED<=NEWDATA; END PORCESS; END ARCHIECTUBE BEHV;3. 鍵盤掃描模塊JPSCAN的VHDL源程序如下; -鍵盤掃描電路的VHDL源程序;LIBRARY IEEE;USB IEEE-STD-LOGIC-1164-ALL;USB IEEE-STD-LOGIC-ARITH-ALL;USB IEEE-STD-LOGIC-UNSIGNED-ALL;ENTITY JPSCAN ISPORT(SCLK : IN STD-LOGIC -系統(tǒng)時鐘:1KHZ YLINE : IN S
6、TD-LOGIC-VECTOR(4 DOWN 1); -Y列按鍵輸入 RCLK : OUT STD-LOGIC; -X行鍵盤掃描時鐘 YXD : OUT STD-LOGIC-VECTOR(3 DOWN 0); -Y列消抖輸出 DATA : OUT STD-LOGIC-VECTOR(7 DOWN 0); -數(shù)字輸出 XROW : OUT STD-LOGIC-VECTOR(4 DOWN 1); -X行鍵盤掃描END ENTITY JPSCAN;ARCHITECTURE BEHV OF JPSCAN IS COMPONENT JPXD IS -控制電路工作時鐘:512Hz SIGNAL KEY-SC
7、AN:STD-LOGIC-VECTOR(1 DOWNTO 0); -鍵盤掃描時鐘信號 -“00-01-10-11” SIGNAL CLK-JPXD : STD-LOGIC; -去抖電路工作時鐘 SIGNAL Y-XD : STD-LOGIC-VECTOR(3 DOWNTO 0); -鍵盤列輸入去抖后的寄存器 SIGNAL X-SCAN : STD-LOGIC-VECTOR(3 DOWNTO 0) -鍵盤行掃描輸出寄存器 -1110-1101-1011-0111 SIGNAL VALUE : STD-LOGIC-VECTOR(7 DOWNTO 0); -按鍵譯碼數(shù)值寄存器 BEGIN DATA&
8、lt;=VALUE; COUNTER:BLOCK IS -信息掃描發(fā)生器 SIGNAL Q :STD-LOGIC-VECTOR(6 DOWNTO 0); -計數(shù)器實現(xiàn)分頻 BEGIN PROCESS(SCLK)IS BEGIN IF SCLKEVENT AND SCLK=THEN Q<=Q+1; END IF; CLK<=Q(0);-控制電路工作時鐘:512Hz,系統(tǒng)時鐘的二分頻 CLK-JPXD<=Q(2); -去抖時鐘信號,大約128Hz KEY-SCAN<=Q(6 DOWNTO 5); -產(chǎn)生鍵盤掃描信號00-01-10-11,大約16Hz END PROCESS
9、; X-SCAN<=”1110”WHEN KEY-SCAN=”00”ELSE”1101”WHEN KEY-SCAN=”01”ELSE”1011”WHEN KEY-SCAN=”10”ELSE”0111”WHEN KEY-SCAN=”11”ELSE“1111” XROW(4 DOWNTO 1)<=X-SCAN(3 DOWNTO 0); -X行掃描 END BLOCK COUNTER; JPXDMK:BLOCK IS -鍵盤去抖模塊 BEGIN U1:JPXD PORT MAP(D-IN=>YLINE(1),D-OUT=>Y-XD(0),CLK=>CLK-JPXD);U
10、2:JPXD PORT MAP(D-IN=>YLINE(2),D-OUT=>Y-XD(1),CLK=>CLK-JPXD);U3:JPXD PORT MAP(D-IN=>YLINE(3),D-OUT=>Y-XD(2),CLK=>CLK-JPXD);U4:JPXD PORT MAP(D-IN=>YLINE(4),D-OUT=>Y-XD(3),CLK=>CLK-JPXD); YXD(3 DOWNTO 0)<=Y-XD(3 DOWNTO 0); RCLK<=CLK; -鍵盤掃描時鐘等于控制電路工作時鐘:512Hz END BLOCK J
11、PXDMK; KEY-DECODER : BLOCK IS -鍵盤譯碼模塊 SIGNAL Z:STD-LOGIC-VECTOR(5 DOWNTO 0); BEGIN PORCESS(CLK) BEGIN Z<=KEY-SCAN&Y-XD; IF CLKEVENT AND CLK=1THEN CASE Z IS WHEN”001110”=>VALUE<=”00111111”; -0 WHEN”011110”=>VALUE<=”00000110”; -1 WHEN”101110”=>VALUE<=”01011011”; -2 WHEN”111110
12、”=>VALUE<=”01001111”; -3 WHEN”001101”=>VALUE<=”01100110”; -4 WHEN”011101”=>VALUE<=”01101101”; -5 WHEN”101101”=>VALUE<=”01111101”; -6 WHEN”111101”=>VALUE<=”00000111”; -7 WHEN”001001”=>VALUE<=”01111111”; -8 WHEN”011011”=>VALUE<=”01101111”; -9 WHEN”101011”=>
13、VALUE<=”01110111”; -A WHEN”111011”=>VALUE<=”01111100”; -B WHEN”000111”=>VALUE<=”00111001”; -C WHEN”010111”=>VALUE<=”01011110”; -D WHEN”100111”=>VALUE<=”01111001”; -E WHEN”110111”=>VALUE<=”01110001”; -F WHEN OTHERS => VALUS<=”00000000”; -OTHER END CASE; END IF;
14、END PROCESS; END BLOCK KEY-DECODER;END ARCHITECTURE BEHV;4. 上述程序中鍵盤消抖模塊JPXD的VHDL源程序如下: -鍵盤輸入消抖電路的VHDL源程序。JPXD,VHDLIBRARY IEEE; USB IEEESTD-LOGIC-1164ALL; ENTITY JPXD IS PORT(D-IN : IN STD-LOGIC; CLK :IN STD-LOGIC; D-OUT:OUT STD-LOGIC); END ENTITY JPXD;ARCHITECTURE BEHV OF JPXD ISCOMPONENT DCFQ IS PO
15、RT(CLK: IN STD-LOGIC; -時鐘信號 CLRN: IN STD-LOGIC: -清零信號 PRN: IN STD-LOGIC; -預(yù)置信號 D: IN STD-LOGIC; Q: OUT STD-LOGIC);END COMPONENT DCFQ; SIGNAL VCC,INV-D:STD-LOGIC; SIGNAL Q0,Q1:STD-LOGIC; SIGNAL D1,D0:STD-LOGIC; BEGIN VCC<=1; INV-D<=NOT D-IN;UMN1:DCFQ PORT MAP(CLK=>CLK,CLRN=>INV-DVCRN=>
16、VCC,D=>VCC,Q=>Q0);UMN2:DCFQ PORT MAP(CLK=>CLK,CLRN=>Q0,PRN=>VCC,D=>VCC,Q=>Q1); PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=THEN D0<=NOT Q1; D1<=D0; END IF;END PROCESS; D-OUT<=NOT(D1 AND NOT D0);END ARCHITECTURE BEHV;5. 編譯源文件,編譯無誤后分別對上述VHDL文件進行仿真,驗證其邏輯功能正確后,選擇File->Create/Update ->Create Symbol File for Current File菜單,分別生成符號文件.BSF。6. 建立新工程,工程名稱及頂層文件名稱為JIAPAN,選擇File->New菜單,創(chuàng)建圖形設(shè)計文件。如圖4-1-1所示,完成鍵盤掃描輸入電路的設(shè)計。將創(chuàng)建的圖形設(shè)計文件保留存為作為整個設(shè)計的頂層文件。7. 選擇Tools->Compiler Tool菜單,編譯文件。8. 選擇Assignments->Assignment Editor菜
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鼠抗病毒抗原單克隆抗體項目提案報告模板
- 2025年雙邊貿(mào)易合作策劃購銷協(xié)議書
- 2025年企業(yè)搬遷安置協(xié)議樣本
- 2025年萃取設(shè)備項目提案報告模板
- 2025年金屬基耐磨復(fù)合材料項目規(guī)劃申請報告模稿
- 2025年企業(yè)調(diào)整策劃與和解合同
- 2025年度磚廠用地租賃合同
- 2025年企業(yè)績效管理改進協(xié)議
- 2025年交通事故責(zé)任補償合同樣本
- 2025年居家康復(fù)護理策劃協(xié)議標(biāo)準(zhǔn)文本
- 2024年湖南省公務(wù)員錄用考試《行測》真題及答案解析
- 火災(zāi)自動報警及其消防聯(lián)動系統(tǒng)技術(shù)規(guī)格書
- 設(shè)備管理人員安全培訓(xùn)
- 分布式光伏培訓(xùn)
- 山東省房屋市政工程安全監(jiān)督機構(gòu)人員業(yè)務(wù)能力考試題庫-上(單選題)
- 2024新版(北京版)三年級英語上冊單詞帶音標(biāo)
- 財務(wù)審計服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 養(yǎng)老服務(wù)機構(gòu)復(fù)工復(fù)產(chǎn)實施方案復(fù)工復(fù)產(chǎn)安全生產(chǎn)方案
- 9《黃山奇石》教學(xué)設(shè)計-2024-2025學(xué)年統(tǒng)編版語文二年級上冊
- PP、PVC-風(fēng)管制作安裝施工作業(yè)指導(dǎo)書
- 新型智慧水利項目數(shù)字孿生工程解決方案
評論
0/150
提交評論