![鍵盤(pán)掃描輸入實(shí)驗(yàn)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/3778c27d-f9d7-461d-a211-bef15793a49b/3778c27d-f9d7-461d-a211-bef15793a49b1.gif)
![鍵盤(pán)掃描輸入實(shí)驗(yàn)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/3778c27d-f9d7-461d-a211-bef15793a49b/3778c27d-f9d7-461d-a211-bef15793a49b2.gif)
![鍵盤(pán)掃描輸入實(shí)驗(yàn)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/3778c27d-f9d7-461d-a211-bef15793a49b/3778c27d-f9d7-461d-a211-bef15793a49b3.gif)
![鍵盤(pán)掃描輸入實(shí)驗(yàn)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/3778c27d-f9d7-461d-a211-bef15793a49b/3778c27d-f9d7-461d-a211-bef15793a49b4.gif)
![鍵盤(pán)掃描輸入實(shí)驗(yàn)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/3778c27d-f9d7-461d-a211-bef15793a49b/3778c27d-f9d7-461d-a211-bef15793a49b5.gif)
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、4.1.1 實(shí)驗(yàn)?zāi)康?1.學(xué)習(xí)復(fù)雜數(shù)字系統(tǒng)的設(shè)計(jì)方法; 2.掌握矩陣式鍵盤(pán)輸入列陣的設(shè)計(jì)方法。4.1.2 實(shí)驗(yàn)設(shè)備 PC微機(jī)一臺(tái),TD-EDA試驗(yàn)箱一臺(tái),SOPC開(kāi)發(fā)板一塊。4.103 實(shí)驗(yàn)內(nèi)容在電子,控制,信息處理等各種系統(tǒng)中,操作人員經(jīng)常需要想系統(tǒng)輸入數(shù)據(jù)和命令,以實(shí)現(xiàn)人機(jī)通信。實(shí)現(xiàn)人機(jī)通信最常用的輸入設(shè)備是鍵盤(pán)。在EDA技術(shù)的綜合應(yīng)用設(shè)計(jì)中,常用的鍵盤(pán)輸入電路獨(dú)立式鍵盤(pán)輸入電路、矩陣式鍵盤(pán)輸入電路和“虛擬式”鍵盤(pán)輸入電路。所謂矩陣是鍵盤(pán)輸入電路,就是將水平鍵盤(pán)掃描線(xiàn)和垂直輸入譯碼線(xiàn)信號(hào)的不同組合編碼轉(zhuǎn)換成一個(gè)特定的輸入信號(hào)值或輸入信號(hào)編碼,利用這種行列矩陣結(jié)構(gòu)的鍵盤(pán),只需N個(gè)行線(xiàn)和M個(gè)列
2、線(xiàn)即可組成NXM按鍵,矩陣式鍵盤(pán)輸入電路的優(yōu)點(diǎn)是需要鍵數(shù)太多時(shí),可以節(jié)省I/O口線(xiàn);缺點(diǎn)是編程相對(duì)困難。本實(shí)驗(yàn)使用TD-EDA實(shí)驗(yàn)系統(tǒng)的鍵盤(pán)單元設(shè)計(jì)一個(gè)4x4的矩陣鍵盤(pán)的掃描譯碼電路。此設(shè)計(jì)包括鍵盤(pán)掃描模塊和掃描碼鎖存模塊,原理如圖4-1-1。每按下鍵盤(pán)列陣的一個(gè)按鍵立即在七段數(shù)碼管上顯示相應(yīng)的數(shù)據(jù)。4.1.1 實(shí)驗(yàn)步驟 1. 運(yùn)行Quartus II 軟件,分別建立新工程,選擇File->New菜單,創(chuàng)建VHDL描述語(yǔ)言設(shè)計(jì)文件,分別編寫(xiě)、REG.VHD. 2.掃描碼鎖存模塊REG的VHDL源程序如下;-輸入鎖存器VHDL源程序:REGVHDL LIBRARY IEEE;USB IEE
3、E.STD-LOGIC-1164.ALL; ENTITY REG ISPORT ( RCLK : IN STD-LOGIC; -掃描時(shí)鐘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沒(méi)有按鍵按下 NEWDATA<=OLDDATA; ELSE OL
5、DDATA<=DATA; -RST=0有按鍵按下打入新?lián)?END IF; LED<=NEWDATA; END PORCESS; END ARCHIECTUBE BEHV;3. 鍵盤(pán)掃描模塊JPSCAN的VHDL源程序如下; -鍵盤(pán)掃描電路的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)時(shí)鐘:1KHZ YLINE : IN S
6、TD-LOGIC-VECTOR(4 DOWN 1); -Y列按鍵輸入 RCLK : OUT STD-LOGIC; -X行鍵盤(pán)掃描時(shí)鐘 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行鍵盤(pán)掃描END ENTITY JPSCAN;ARCHITECTURE BEHV OF JPSCAN IS COMPONENT JPXD IS -控制電路工作時(shí)鐘:512Hz SIGNAL KEY-SC
7、AN:STD-LOGIC-VECTOR(1 DOWNTO 0); -鍵盤(pán)掃描時(shí)鐘信號(hào) -“00-01-10-11” SIGNAL CLK-JPXD : STD-LOGIC; -去抖電路工作時(shí)鐘 SIGNAL Y-XD : STD-LOGIC-VECTOR(3 DOWNTO 0); -鍵盤(pán)列輸入去抖后的寄存器 SIGNAL X-SCAN : STD-LOGIC-VECTOR(3 DOWNTO 0) -鍵盤(pán)行掃描輸出寄存器 -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); -計(jì)數(shù)器實(shí)現(xiàn)分頻 BEGIN PROCESS(SCLK)IS BEGIN IF SCLKEVENT AND SCLK=THEN Q<=Q+1; END IF; CLK<=Q(0);-控制電路工作時(shí)鐘:512Hz,系統(tǒng)時(shí)鐘的二分頻 CLK-JPXD<=Q(2); -去抖時(shí)鐘信號(hào),大約128Hz KEY-SCAN<=Q(6 DOWNTO 5); -產(chǎn)生鍵盤(pán)掃描信號(hào)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 -鍵盤(pán)去抖模塊 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; -鍵盤(pán)掃描時(shí)鐘等于控制電路工作時(shí)鐘:512Hz END BLOCK J
11、PXDMK; KEY-DECODER : BLOCK IS -鍵盤(pán)譯碼模塊 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. 上述程序中鍵盤(pán)消抖模塊JPXD的VHDL源程序如下: -鍵盤(pán)輸入消抖電路的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; -時(shí)鐘信號(hào) CLRN: IN STD-LOGIC: -清零信號(hào) PRN: IN STD-LOGIC; -預(yù)置信號(hào) 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. 編譯源文件,編譯無(wú)誤后分別對(duì)上述VHDL文件進(jìn)行仿真,驗(yàn)證其邏輯功能正確后,選擇File->Create/Update ->Create Symbol File for Current File菜單,分別生成符號(hào)文件.BSF。6. 建立新工程,工程名稱(chēng)及頂層文件名稱(chēng)為JIAPAN,選擇File->New菜單,創(chuàng)建圖形設(shè)計(jì)文件。如圖4-1-1所示,完成鍵盤(pán)掃描輸入電路的設(shè)計(jì)。將創(chuàng)建的圖形設(shè)計(jì)文件保留存為作為整個(gè)設(shè)計(jì)的頂層文件。7. 選擇Tools->Compiler Tool菜單,編譯文件。8. 選擇Assignments->Assignment Editor菜
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能交通系統(tǒng)股權(quán)收購(gòu)合作協(xié)議
- 施工現(xiàn)場(chǎng)施工防噪隔音制度
- 現(xiàn)代家居設(shè)計(jì)中的綠植藝術(shù)實(shí)踐
- 醫(yī)療護(hù)理醫(yī)學(xué)培訓(xùn) 小麥病蟲(chóng)害防治課件
- DB6528T 202-2024春玉米滴灌栽培技術(shù)規(guī)程
- 中小企業(yè)勞動(dòng)合同模板大全
- 個(gè)人與工廠(chǎng)合作協(xié)議合同
- 個(gè)人借款合同條款解析
- 交通運(yùn)輸行業(yè)勞動(dòng)合同準(zhǔn)則
- 個(gè)人短期借款合同文本范例
- 遼寧省沈陽(yáng)市鐵西區(qū)2025屆初三最后一次模擬(I卷)數(shù)學(xué)試題含解析
- 幼教培訓(xùn)課件:《幼兒園如何有效組織幼兒戶(hù)外自主游戲》
- 2024-2030年中國(guó)輕型運(yùn)動(dòng)飛機(jī)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 暑假作業(yè) 09 高二英語(yǔ)閱讀七選五20篇(原卷版)-【暑假分層作業(yè)】2024年高二英語(yǔ)暑假培優(yōu)練(人教版2019)
- 20以?xún)?nèi)的加減法練習(xí)題1000道
- 電纜銷(xiāo)售年終工作總結(jié)與計(jì)劃
- (完整)三年級(jí)數(shù)學(xué)口算題300道(直接打印)
- TB 10012-2019 鐵路工程地質(zhì)勘察規(guī)范
- 新蘇教版三年級(jí)下冊(cè)科學(xué)全冊(cè)知識(shí)點(diǎn)(背誦用)
- 【良心出品】架空輸電線(xiàn)路巡視內(nèi)容
- 10000以?xún)?nèi)加減法混合豎式題
評(píng)論
0/150
提交評(píng)論