




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)44矩陣鍵盤控制實驗一、實驗內(nèi)容摘要 設(shè)計一個44鍵盤接口控制器,在QuartusII軟件上實現(xiàn)基設(shè)計,將其與開發(fā)板連接,實現(xiàn)電路功能。當(dāng)按下某一鍵時,4位LED上顯示對應(yīng)的鍵值,以二進制代碼形式從0至F顯示。二、實驗源代碼 LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY DEBOUNCING ISPORT(clk, key:IN STD_LOGIC ;clr
2、: INSTD_LOGIC;dly_out, dif_out: OUTSTD_LOGIC);END DEBOUNCING;ARCHITECTURE a OF DEBOUNCING ISSIGNAL sample,dly,diff: STD_LOGIC;BEGINfree_counter:blocksignal QQ:std_logic_vector(4 downto 0);signal d0:std_logic;beginprocess (CLR,clk)beginif clr=0 thend0=0;QQ0);ELSif clkevent and clk=1 thend0=QQ(4);-QQ的
3、最高位同時作為d0信號,即d0的周期為2的5次方個clk.QQ=QQ+1;end if;end process;sample=not(QQ(4) and (not d0);-當(dāng)d0為0,QQ(4)為1時,sample產(chǎn)生采樣脈沖,低電平時間為1個clkend block free_counter;debunce:blocksignal d0,d1,s,r:std_logic;beginprocess(clk,clr)beginif clr=0 thendly=0;elsif rising_edge(clk) thenif sample=1 thend1=d0;d0=key;s=d0 and d
4、1;r=not d0 and not d1;if s=0 and r=0 thendly=dly;elsif s=0 and r=1 thendly=0;elsif s=1 and r=0 thendly=1;elsedly=0;end if;end if;end if;end process;dly_out=dly;end block debunce;differential:blocksignal d1,d0:std_logic;beginprocess(clk,clr)beginif clr=0 thend0=0;d1=0;elsif rising_edge(clk) thend1=d0
5、;d0=dly;end if;diff=d0 and not d1;end process;dif_out=diff;end block differential;END a;-*-* 4x4標準鍵盤板讀取并點亮實驗箱底板上的L1-L4-* Filename: keyboard4_4-* 掃描鍵盤,譯碼并點亮實驗箱底板上的L1-L4-* 已加入去抖程序-*library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity keyboard4_4 is port( rst : in std_logic;
6、clk_in : in std_logic; keyin : in std_logic_vector(3 downto 0); scan : out std_logic_vector(3 downto 0); leds : out std_logic_vector(3 downto 0);state: out std_logic;M : out std_logic_vector(3 downto 0) );end keyboard4_4;architecture keyboard4_4_arch of keyboard4_4 is-*component debouncingport(key :
7、 IN STD_LOGIC ; clk,clr : IN STD_LOGIC ; dly_out : OUT STD_LOGIC ) ;end component ;-*- signal clkfrq : std_logic; signal cntscn : std_logic_vector(1 downto 0); signal scnlin : std_logic_vector(3 downto 0); signal cntfrq : std_logic_vector(14 downto 0); signal lednum : std_logic_vector(7 downto 0);si
8、gnal key_tmp : std_logic_vector(3 downto 0);signal clk : std_logic;signal cntfrq1 : std_logic_vector(5 downto 0);beginM = 0101;-鍵盤功能選擇 scan = not scnlin; lednum = scnlin & (not key_tmp); -key_tmp keyin(0) ,DLY_OUT = key_tmp(0) ,clr=rst,clk = CLK);U2: debouncing PORT MAP (KEY = keyin(1) ,dly_out = ke
9、y_tmp(1) ,clr=rst,clk = CLK );U3: debouncing PORT MAP (key = keyin(2) ,dly_out = key_tmp(2) ,clr=rst, clk = CLK );U4: debouncing PORT MAP (key = keyin(3) ,dly_out = key_tmp(3) ,clr=rst, clk = CLK );END block debounuing ;-*- process(rst,clk_in) - 晶振為40MHz,進行40000分頻產(chǎn)生去抖時鐘(1000Hz) begin if rst = 0 then
10、 cntfrq 0); elsif rising_edge(clk_in) then if (cntfrq = 1111 or not (key_tmp=1110 or key_tmp=1101 or key_tmp=1011 or key_tmp=0111) ) then -if (cntfrq = 1111 or key_tmp=1111 ) then -if cntfrq = 1111 then cntfrq 0); clk = not clk;-去抖時鐘 else cntfrq = cntfrq + 1; end if; end if; end process; process(rst
11、,clk) -去抖時鐘,50分頻,形成掃描時鐘beginif rst = 0 thenclkfrq = 0;cntfrq1 0);elsif rising_edge(clk) thenif cntfrq1 = 11000 thencntfrq1 0);clkfrq = not clkfrq;elsecntfrq1 = cntfrq1 + 1;end if;end if;end process; process(rst,clkfrq) - 根據(jù)掃描時鐘產(chǎn)生掃描線 begin if rst = 0 then cntscn = 00; elsif rising_edge(clkfrq) then i
12、f cntscn = 11 then cntscn = 00; else cntscn scnlin scnlin scnlin scnlin null; end case; end if; end process; process(rst, clkfrq) - 根據(jù)按鍵點亮相應(yīng)的leds begin if(rst = 0 ) then leds leds leds leds leds leds leds leds leds leds leds leds leds leds leds leds leds null; end case; end if; end process;process(r
13、st,key_tmp)beginif(rst = 0 ) thenstate = 1;elsif (key_tmp=1110 or key_tmp=1101 or key_tmp=1011 or key_tmp=0111) thenstate = 0;elsif (key_tmp=1111) thenstate ;Directory,Name,Top-Level Entity選擇Next;Add Files選擇Next;eq oac(,4)Family&Device Setting中,F(xiàn)amily選擇Cyclone IV,Packge選擇FBGA,Pin Count選擇256,Speed gr
14、ade選擇8,Available device選擇EP3C25F256C8,在點擊Next;eq oac(,5)EDA Tool Settings選擇Next;eq oac(,6)最后在Summary中選擇Finish。6、點擊Assignments,選擇Remove Assignments,全選后取消All和Device Assigments。7、預(yù)編譯,選擇Process/Start/Start Analysis&Synthesis,進行綜合。8、選擇File/New,選擇Design File/VHDL File。9、輸入44矩陣鍵盤控制的消抖代碼。10、點擊Project,選擇Set as Top-Level Entity,設(shè)置成頂層模塊。 11、點擊Assignments,選擇Remove Assignments,全選后取消All和Device Assigments。 12、進行引腳鎖定13、預(yù)編譯,選擇Process/Start/Start Analysis&Synthe
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025新進廠職工安全培訓(xùn)考試試題帶答案解析
- 2025年各個班組安全培訓(xùn)考試試題及參考答案(B卷)
- 【部編版】四年級語文下冊口語交際《朋友相處的秘訣》精美課件
- 2025機械設(shè)備購銷合同范本下載
- 2025租賃合同印花稅計算
- 2025勞動法律對勞動合同的新規(guī)定
- 【部編版】四年級語文下冊《語文園地二》精美課件
- 紋身模特合作協(xié)議書
- 藥店醫(yī)保協(xié)議續(xù)簽委托書
- 2025企業(yè)物業(yè)保安勞動合同模板
- 上海上海閔行職業(yè)技術(shù)學(xué)院招聘60人筆試歷年參考題庫附帶答案詳解
- 第18課《井岡翠竹》課件-2024-2025學(xué)年統(tǒng)編版語文七年級下冊
- 公立醫(yī)院成本核算指導(dǎo)手冊
- MOOC 中醫(yī)與辨證-暨南大學(xué) 中國大學(xué)慕課答案
- 年產(chǎn)10噸功能益生菌凍干粉的工廠設(shè)計改
- 中聯(lián)HIS系統(tǒng)掛號收費 操 作 說 明
- HIT(肝素誘導(dǎo)的血小板減少癥)課件
- Mayo肘關(guān)節(jié)功能評分
- 螺栓加工工序卡(共7頁)
- 《焦慮癥基礎(chǔ)知識》PPT課件.ppt
- 基于鉆石模型的南通紡織產(chǎn)業(yè)競爭力分析
評論
0/150
提交評論