版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 .東 北 石 油 大 學(xué)課 程 設(shè) 計(jì)課 程 硬件課程設(shè)計(jì) 題 目 矩陣鍵盤控制接口電路設(shè)計(jì) 院 系 計(jì)算機(jī)與信息技術(shù)學(xué)院 專業(yè)班級(jí) 學(xué)生XX 學(xué)生學(xué)號(hào) 指導(dǎo)教師 2011年 07月 10 日東北石油大學(xué)課程設(shè)計(jì)任務(wù)書課程 硬件課程設(shè)計(jì)題目 矩陣鍵盤控制接口設(shè)計(jì)專業(yè) 計(jì)算機(jī)與信息技術(shù)09-4 學(xué)號(hào) 主要容、基本要求、主要參考資料等一、主要容:利用EL教學(xué)實(shí)驗(yàn)箱、微機(jī)和Quartus軟件系統(tǒng),設(shè)計(jì)并實(shí)現(xiàn)一個(gè)48鍵盤接口控制器。設(shè)計(jì)過(guò)程中使用層次設(shè)計(jì)方法和VHDL語(yǔ)言,完成硬件設(shè)計(jì)和功能仿真。最后下載到EL教學(xué)實(shí)驗(yàn)箱中予以實(shí)現(xiàn)。二、基本要求:1.按照層次設(shè)計(jì)方法實(shí)現(xiàn)鍵盤接口控制器中的時(shí)序產(chǎn)生電路
2、、鍵盤掃描電路、彈跳消除電路、鍵盤譯碼電路、按鍵碼存儲(chǔ)電路和顯示八段數(shù)碼管電路。2. 按下某一鍵時(shí),在數(shù)碼管上顯示該鍵對(duì)應(yīng)的鍵值。三、參考文獻(xiàn):1 松.EDA技術(shù)實(shí)用教程M.:科學(xué), 2003.11-13.2 恒.FPGA/CPLD最新實(shí)用技術(shù)指南M.:清華大學(xué), 2005.20-22.3 EDA先鋒工作室.Altera FPGA/CPLD設(shè)計(jì) M.:人民郵電2005.32-33.4 松.SOPC技術(shù)實(shí)用教程M .清華大學(xué).2005.1-15.完成期限: 第19周 指導(dǎo)教師: 專業(yè)負(fù)責(zé)人:2011年 06 月28 日目 錄第1章 EDA的概述11.1 EDA的概述1第2章 QUARTUS II
3、系統(tǒng)32.1 QUARTUS II3第3章矩陣鍵盤控制接口電路43.1 概述43.2 底層實(shí)體電路73.3 頂層實(shí)體電路103.4 仿真結(jié)果173.5 硬件驗(yàn)證結(jié)果18結(jié)論21參考文獻(xiàn)2224 / 27第1章 EDA的概述1.1 EDA的概述EDA是電子設(shè)計(jì)自動(dòng)化(Electronic DesignAutomation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來(lái)的。20世紀(jì)90年代,國(guó)際上電子和計(jì)算機(jī)技術(shù)較先進(jìn)的國(guó)家,一直在積極探索新的電子電路設(shè)計(jì)方法,并在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變
4、革,取得了巨大成功。在電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到廣泛的普與,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來(lái)了極大的靈活性。這些器件可以通過(guò)軟件編程而對(duì)其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過(guò)程和設(shè)計(jì)觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極提高了電路設(shè)計(jì)的效
5、率和可操作性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。利用EDA工具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開始設(shè)計(jì)電子系統(tǒng),大量工作可以通過(guò)計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出IC版圖或PCB版圖的整個(gè)過(guò)程的計(jì)算機(jī)上自動(dòng)處理完成?,F(xiàn)在對(duì)EDA的概念或疇用得很寬。包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個(gè)領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門廣泛使用。例如在飛機(jī)制造過(guò)程中,從設(shè)計(jì)、性能測(cè)試與特性分析直到飛行模擬,都可能涉與到EDA技術(shù)。二、幾個(gè)有關(guān)EDA的專題(1) EDA中心 (2) EDA中國(guó)門戶 (3) 中國(guó)EDA工程網(wǎng) .
6、edagc.(4) EDA愛(ài)好者 .edafans. (5) EDA教學(xué)與研究 .edateach. 三、設(shè)計(jì)方法(1) 前端設(shè)計(jì)(系統(tǒng)建模RTL 級(jí)描述)后端設(shè)計(jì)(FPGAASIC)系統(tǒng)建模(2) IP 復(fù)用(3) 前端設(shè)計(jì)(4) 系統(tǒng)描述:建立系統(tǒng)的數(shù)學(xué)模型。(5) 功能描述:描述系統(tǒng)的行為或各子模塊之間的數(shù)據(jù)流圖。6) 邏輯設(shè)計(jì):將系統(tǒng)功能結(jié)構(gòu)化,通常以文本、原理圖、邏輯圖、布爾表達(dá)式來(lái)表示設(shè)計(jì)結(jié)果。(7) 仿真:包括功能仿真和時(shí)序仿真,主要驗(yàn)證系統(tǒng)功能的正確性與時(shí)序特性。四、EDA工具軟件EDA工具軟件可大致可分為芯片設(shè)計(jì)輔助軟件、可編程芯片輔助設(shè)計(jì)軟件、系統(tǒng)設(shè)計(jì)輔助軟件等三類。目前進(jìn)
7、入我國(guó)并具有廣泛影響的EDA軟件是系統(tǒng)設(shè)計(jì)軟件輔助類和可編程芯片輔助設(shè)計(jì)軟件:Protel、PSPICE、multiSIM7(原EWB的最新版本)、OrCAD、PCAD、LSIIogic、MicroSim,ISE,modelsim等等。這些工具都有較強(qiáng)的功能,一般可用于幾個(gè)方面,例如很多軟件都可以進(jìn)行電路設(shè)計(jì)與仿真,同進(jìn)還可以進(jìn)行PCB自動(dòng)布局布線,可輸出多種網(wǎng)表文件與第三方軟件接口。EDA工具軟件廠商三巨頭:Synopsys、Mentor Graphics、Cadence?!癳da”在英漢詞典中的解釋(來(lái)源:百度詞典):EDA abbr. 1. =Economic Development A
8、dministration (美國(guó))(商務(wù)部)經(jīng)濟(jì)開發(fā)署 2. =Economic Development Association (美國(guó))經(jīng)濟(jì)開發(fā)協(xié)會(huì)eda abbr. 1. =early departure authorized 經(jīng)批準(zhǔn)提前出發(fā)第2章 QUARTUS II系統(tǒng)2.1 QUARTUS IIQuartus II 是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以與AHDL(Altera Hardware Description Language)等多種設(shè)計(jì)輸入形式,嵌自有的綜合器以與仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。
9、Quartus II可以在XP、Linux以與Unix上使用,除了可以使用Tcl腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫(kù),使用戶可以充分利用成熟的模塊,簡(jiǎn)化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度。對(duì)第三方EDA工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方EDA工具。 此外,Quartus II 通過(guò)和DSP Builder工具與Matlab/Simulink相結(jié)合,可以方便地實(shí)現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可
10、編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺(tái)。 Maxplus II 作為Altera的上一代PLD設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對(duì)Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計(jì)輔助工具,集成了SOPC和HardCopy設(shè)計(jì)流程,并且繼承了Maxplus II 友好的圖形界面與簡(jiǎn)便的使用方法。 Altera
11、Quartus II 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來(lái)越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。 Altera的Quartus II可編程邏輯軟件屬于第四代PLD開發(fā)平臺(tái)。該平臺(tái)支持一個(gè)工作組環(huán)境下的設(shè)計(jì)要求,其中包括支持基于Internet的協(xié)作設(shè)計(jì)。Quartus平臺(tái)與Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplicity等EDA供應(yīng)商的開發(fā)工具相兼容。改進(jìn)了軟件的LogicLock模塊設(shè)計(jì)功能,增添 了FastFit編譯選項(xiàng),推進(jìn)了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。支持MAX7000/MAX3000等
12、乘積項(xiàng)器件第3章 矩陣鍵盤控制接口電路3.1 概述在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤是合理的。矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些,列線通過(guò)電阻接正電源,并將行線所接的FPGA的I/O口作為輸出端,而列線所接的I/O口則作為輸
13、入。這樣,當(dāng)按鍵沒(méi)有按下時(shí),所有的輸出端都是高電平,代表無(wú)鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過(guò)讀入輸入線的狀態(tài)就可得知是否有鍵按下了。實(shí)驗(yàn)儀器中48矩陣鍵盤的電路原理圖如圖所示:圖3-1 48矩陣鍵盤的電路原理圖掃描信號(hào)為BCOM8.1,在BCOM8.1前已接有一個(gè)3-8譯碼器,3-8譯碼器的輸入為SEL0SEL3。當(dāng)3-8譯碼器的輸入為“000”時(shí),即BCOM1為0,其他位為1,我們按下第一排第一鍵,此時(shí)KIN0輸出0,KIN1KIN3輸出全為1,按下第二排第二鍵時(shí),KIN1輸出0,其他輸出1;當(dāng)3-8譯碼器輸入為001時(shí),即BCOM2為0,我們按下第一排第
14、二鍵,此時(shí)KIN0輸出0,KIN1KIN3輸出全為1,同理其他鍵依此類推。鍵盤上的每個(gè)按鍵就是一個(gè)開關(guān),當(dāng)某鍵被按下時(shí),該按鍵的接點(diǎn)會(huì)呈現(xiàn)0狀態(tài),反之為1。掃描信號(hào)為SEL2.0進(jìn)入3-8譯碼器,再?gòu)淖g碼器輸出到鍵盤,所以第一次只能掃描一排,依此周而復(fù)始。按鍵位置與數(shù)碼的關(guān)系如表50-1所示。若從KIN3.0輸出的皆為1時(shí),表示沒(méi)有按鍵按下,代表該列沒(méi)有按鍵被按下,則不進(jìn)行按鍵編碼的操作,反之,如果有被按下時(shí),則應(yīng)將KIN3.0讀出的值送到譯碼電路進(jìn)行編碼。設(shè)置掃描信號(hào)為SEL2SEL0,列線按鍵輸入信號(hào)KIN3KIN0與按鍵位置的關(guān)系如表所示:SEL2SEL0KIN3KIN0對(duì)應(yīng)的按鍵鍵盤譯
15、 碼輸出按鍵功能0001110000000數(shù)字01101600100數(shù)字61011LAST10100功能鍵0111CTRL11000功能鍵0011110100001數(shù)字11101700111數(shù)字71011STEP10101功能鍵0111EMPTY111010擴(kuò)展10101110200010數(shù)字21101REG10010功能鍵1011C01100字母C0111EMPTY211011擴(kuò)展20111110300011數(shù)字31101EXEC10011功能鍵1011D01101字母D0111EMPTY311100擴(kuò)展31001110MEM10000功能鍵1101801000數(shù)字81011E01110字母
16、E0111EMPTY411101擴(kuò)展41011110ESC10001功能鍵1101901001數(shù)字91011F01111字母F0111SHIFT11001功能鍵1101110400100數(shù)字41101A01010字母A1011NEXT10110功能鍵0111NONE11110無(wú)定義1111110500101數(shù)字51101B01011字母B1011ENTER10111功能鍵0111NONE11110無(wú)定義圖3-2 鍵盤參數(shù)表3.2 底層實(shí)體電路彈跳消除電路因?yàn)榘存I大多是機(jī)械式開關(guān)結(jié)構(gòu),在開關(guān)切換的瞬間會(huì)在接觸點(diǎn)出現(xiàn)來(lái)回彈跳的現(xiàn)象,對(duì)于激活關(guān)閉一般電器并不會(huì)有何影響,但對(duì)于靈敏度較高的電路,卻有可
17、能產(chǎn)生誤動(dòng)作而出錯(cuò)。彈跳現(xiàn)象產(chǎn)生的原因可從圖50-2說(shuō)明。雖然只是按下按鍵一次然后放掉,然而實(shí)際產(chǎn)生的按鍵信號(hào)卻不只跳動(dòng)一次,經(jīng)過(guò)取樣的檢查后將會(huì)造成誤判,以為按鍵兩次。按鍵信號(hào)抽樣信號(hào)抽樣結(jié)果圖3-3 彈跳現(xiàn)象產(chǎn)生錯(cuò)誤的抽樣結(jié)果如果調(diào)整抽樣頻率,可以發(fā)現(xiàn)彈跳現(xiàn)象獲得了改善。按鍵信號(hào)抽樣信號(hào)抽樣結(jié)果圖3-4 調(diào)整抽樣頻率后得到的抽樣結(jié)果因此必須加上彈跳消除電路,避免誤操作信號(hào)的發(fā)生。注意,彈跳消除電路所使用脈沖信號(hào)的頻率必須比其它電路使用的脈沖信號(hào)的頻率更高;通常將掃描電路或LED顯示電路的工作頻率定在24HZ左右,兩者的工作頻率是通常的4倍或更高。該元件為一個(gè)通用的全功能的消抖動(dòng)元件,含有自
18、由計(jì)數(shù)器模塊、消抖動(dòng)模塊和微分模塊。各引腳說(shuō)明如下:Key為按鍵輸入信號(hào),高電平有效,有抖動(dòng)毛刺;clr是清零信號(hào),低電平有效;clk是同步時(shí)鐘信號(hào),選擇20MHZ;dly_out是消抖動(dòng)輸出;diff_out是消抖動(dòng)微分輸出。LIBRARY IEEE; -消除USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY debouncing ISPORT(clk,key:IN STD_LOGIC; clr:IN STD_LOGIC; dly_out,dif_out:OUT STD_LOGIC);END debouncin
19、g;ARCHITECTURE a OF debouncing IS SIGNAL sample,dly,diff:STD_LOGIC; BEGINfree_counter:block -計(jì)數(shù)器模塊 SIGNAL :STD_LOGIC_VECTOR(4 DOWNTO 0); SIGNAL d0:STD_LOGIC; BEGIN PROCESS(clr,clk) BEGIN if clr=0then d0=0; 0); elsif clkevent and clk=1then d0= (4); = +1; end if; end process; sample=not( (4) and (not
20、d0);end block free_counter;debunce:block -消抖動(dòng)模塊 signal d0,d1,s,r:std_logic;begin process(clk,clr) begin if clr=0 then dly=0; elsif rising_edge(clk) then if sample=1 then d1=d0; d0=key; s=d0 and d1; r=not d0 and not d1; if s=0 and r=0 then dly=dly; elsif s=0 and r=1 then dly=0; elsif s=1 and r=0 then
21、 dly=1; else dly=0; end if; end if; end if; end process; dly_out=dly;end block debunce;differential:block -微分模塊 signal d1,d0:std_logic; begin process(clk,clr) begin if clr=0then d0=0;d1=0; elsif rising_edge(clk)then d1=d0;d0=dly; end if; diff=d0 and not d1; end process; dif_out=diff;end block differ
22、ential;END a;彈跳消除電路生成元件:圖3-5 彈跳消除電路生成元件3.3 頂層實(shí)體電路1、 時(shí)鐘產(chǎn)生電路當(dāng)一個(gè)系統(tǒng)中使用不同操作頻率的脈沖波形時(shí),最方便的方法就是利用一個(gè)自由計(jì)數(shù)器來(lái)產(chǎn)生各種頻率。本電路中就使用三種不同頻率的工作脈沖波形。它們分別是:系統(tǒng)時(shí)鐘(它是系統(tǒng)部所有時(shí)鐘的提供者,頻率最高)、彈跳消除取樣信號(hào)、鍵盤掃描信號(hào)和七段顯示器掃描信號(hào)。在很多的電路設(shè)計(jì)中,鍵盤掃描信號(hào)和七段顯示器掃描信號(hào)可以使用一樣的時(shí)鐘信號(hào),本設(shè)計(jì)也采用此方法。該模塊中的掃描信號(hào)就是取了計(jì)數(shù)器中的3個(gè)值,使用語(yǔ)句: SELTMP=Q(7 DOWNTO 5);此處SELTMP要預(yù)先定義為3bit的寬度
23、。2、 鍵盤掃描電路掃描電路的作用是用來(lái)提供鍵盤掃描信號(hào)的電路,掃描信號(hào)的變化的順序依次為000-001-010-011-100-101-110-111依次的周而復(fù)始。掃描時(shí)依序分別掃描八列按鍵,當(dāng)掃描信號(hào)為000時(shí),掃描0這一列按鍵每掃描一列按鍵,就檢查一次是否有按鍵按下,如果這排有按鍵按下,就馬上停止掃描,立即進(jìn)行按鍵編碼動(dòng)作,存儲(chǔ)鍵碼,如果沒(méi)有按鍵按下,則繼續(xù)掃描下一列。用語(yǔ)句SELTMP=Q(7 DOWNTO 5); SELOUT=SELTMP;即可實(shí)現(xiàn)鍵盤掃描。3、 鍵盤譯碼電路上述鍵盤中的按鍵可分為數(shù)字鍵和功能鍵。數(shù)字鍵主要用來(lái)輸入數(shù)字,但鍵盤所產(chǎn)生的輸出KIN3KIN0無(wú)法拿來(lái)直
24、接使用;另外不同的數(shù)字按鍵也擔(dān)負(fù)不同的功能,因此必須由鍵盤譯碼電路來(lái)規(guī)劃第個(gè)按鍵的輸出形式,以便執(zhí)行相應(yīng)的動(dòng)作。譯碼電路負(fù)責(zé)的工作有:a)判別是否有鍵按下。b)將被按下鍵編碼成對(duì)應(yīng)的ZOUT7.08位二進(jìn)制編碼,即用十進(jìn)制數(shù)來(lái)顯示按鍵值:KEY_CODE=ZOUT;c)把KEY_CODE送到部下一級(jí)電路,即按鍵碼的寄存器_選擇器模塊。4、 按鍵碼存儲(chǔ)電路因?yàn)槊看螔呙钑?huì)產(chǎn)生新的按鍵數(shù)據(jù),可能會(huì)覆蓋前面的數(shù)據(jù),所以需要一個(gè)按鍵存儲(chǔ)電路,將整個(gè)鍵盤掃描完畢后記錄下來(lái)。5、 顯示電路該模塊把DB3.0的值譯成8位的數(shù)碼管所對(duì)應(yīng)的0、1、2、3、4、5、6、7、8、9,使數(shù)碼管正常顯示按鍵值。libra
25、ry ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;entity keys_test isport(clk20,clr:in std_logic; selout:out std_logic_vector(2 downto 0); notselout_0:out std_logic; key:in std_logic_vector(3 downto 0); segout:out std_logic_vector(7 downto 0);end key
26、s_test; architecture a of keys_test iscomponent debouncing -鍵盤掃描模塊 port(key:in std_logic; clk,clr:in std_logic; dly_out:out std_logic);end component; signal clk,clk1,clk2,clk4:std_logic; signal seltmp:std_logic_vector(2 downto 0); signal key_code:std_logic_vector(7 downto 0); signal c:std_logic_vect
27、or(3 downto 0); signal db,key_in:std_logic_vector(3 downto 0); signal seg:std_logic_vector(7 downto 0);begin segout(7 downto 0)=seg; selout=seltmp; notselout_0=not seltmp(0); key_in=not key;fenpin:block signal m:integer range 0 to 10#5#; begin process(clk20) begin if clk20event and clk20=1then if m=
28、10#5# then m=0; else m=m+1; end if; end if; end process; process(m) begin if m=10#5# then clk4=1; else clk4=0; end if; end process; end block fenpin;counter:block -時(shí)鐘產(chǎn)生電路 signal q:std_logic_vector(10 downto 0); begin process(clk4,clr) begin if clr=0 then q0); elsif clk4event and clk4=1 then q=q+1; e
29、nd if;end process; clk=q(0); clk1=q(2); clk2=q(4); seltmpkey_in(0), dly_out=c(0),clr=clr,clk=clk); u2:debouncing port map(key=key_in(1), dly_out=c(1),clr=clr,clk=clk); u3:debouncing port map(key=key_in(2), dly_out=c(2),clr=clr,clk=clk); u4:debouncing port map(key=key_in(3),dly_out=c(3),clr=clr,clk=c
30、lk);end block debounuing;key_decoder:block -鍵盤譯碼電路 signal z:std_logic_vector(6 downto 0); signal zout:std_logic_vector(7 downto 0); beginz=(not c)&seltmp; key_code=zout; -用十進(jìn)制數(shù)顯示 process(clk1,clr) beginif clr=0 then zout0);elsif clk1event and clk1=1 thencase z isWHEN1110000=ZOUTZOUTZOUTZOUTZOUTZOUTZ
31、OUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUTZOUT=11111111;end case;END IF;END PROCESS;END BLOCK key_decoder;REG_MULTIPLEXER:BLOCK -按鍵碼的存儲(chǔ)模塊SIGNAL KEY_CODE1:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(CLK2,clr)begin if clr=0 then KEY_CODE10); E
32、LSIF(CLK2EVENT AND CLK2=1)THEN if(key_code=11111111) then KEY_CODE1=KEY_CODE1; ELSE KEY_CODE1=KEY_CODE; end if; END if;END PROCESS;DB=KEY_CODE1(3 DOWNTO 0)WHEN(SELTMP(0)=0)ELSE KEY_CODE1(7 DOWNTO 4)WHEN(SELTMP(0)=1)ELSE 0000;End Block REG_MULTIPLEXER;seven_segment:block -顯示模塊 begin seg=00111111 when
33、 db=0000 else 00000110 when db=0001 else 01011011 when db=0010 else 01001111 when db=0011 else 01100110 when db=0100 else 01101101 when db=0101 else 01111101 when db=0110 else 00000111 when db=0111 else 01111111 when db=1000 else 01101111 when db=1001 else 01110111 when db=1010 else 01111100 when db
34、=1011 else 00111001 when db=1100 else 01011110 when db=1101 else 01111001 when db=1110 else 01110001 when db=1111 else 00000000; end block seven_segment; end a;頂層實(shí)體電路生成元件:圖3-6 頂層實(shí)體電路生成元件3.4 仿真結(jié)果彈跳消除電路設(shè)計(jì)實(shí)體仿真波形圖:圖3-7 彈跳消除電路設(shè)計(jì)實(shí)體仿真波形圖頂層設(shè)計(jì)實(shí)體仿真波形圖:圖3-8 頂層設(shè)計(jì)實(shí)體仿真波形圖3.5 硬件驗(yàn)證結(jié)果將實(shí)驗(yàn)箱與微機(jī)和電源分別連接好。首先檢測(cè)試驗(yàn)箱是否可以使用,經(jīng)檢測(cè)無(wú)誤后,開通電源。根據(jù)引腳的鎖定情況,將CLK20時(shí)鐘接20MHZ時(shí)鐘輸入,KEY3.0分別接實(shí)驗(yàn)儀器的鍵盤輸出KIN3.0,SELOU
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 垂體危象與垂體卒中講課課件
- 21、《槐鄉(xiāng)五月》第二課時(shí)
- 初二年級(jí)期中考試家長(zhǎng)會(huì)教學(xué)案例
- 二零二五年網(wǎng)絡(luò)零售商合作協(xié)議樣本2篇
- 新教材高考地理一輪復(fù)習(xí)課時(shí)作業(yè)二十四城鎮(zhèn)化課件新人教版
- 水利工程合同管理制度
- 黃金投資入門教學(xué)教案
- 九年級(jí)物理全冊(cè)192家庭電路中電流過(guò)大的原因課件新版新人教版
- 《科幻小說(shuō)賞析與寫作》 課件 -第四章 “生命奇跡”的重述與復(fù)魅-《弗蘭肯斯坦》
- 二零二五年礦產(chǎn)品資源整合開發(fā)合作協(xié)議書3篇
- 工程管理中心管理制度
- 下套管危害識(shí)別和風(fēng)險(xiǎn)評(píng)估
- 翼狀胬肉病人的護(hù)理
- GB/T 12914-2008紙和紙板抗張強(qiáng)度的測(cè)定
- GB/T 1185-2006光學(xué)零件表面疵病
- ps6000自動(dòng)化系統(tǒng)用戶操作及問(wèn)題處理培訓(xùn)
- 家庭教養(yǎng)方式問(wèn)卷(含評(píng)分標(biāo)準(zhǔn))
- 城市軌道交通安全管理課件(完整版)
- 線纜包覆擠塑模設(shè)計(jì)和原理
- TSG ZF001-2006 安全閥安全技術(shù)監(jiān)察規(guī)程
- 部編版二年級(jí)語(yǔ)文下冊(cè)《蜘蛛開店》
評(píng)論
0/150
提交評(píng)論