數(shù)字系統(tǒng)設(shè)計(jì)大作業(yè)-4×4陣列鍵盤鍵信號(hào)檢測(cè)電路設(shè)計(jì)_第1頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì)大作業(yè)-4×4陣列鍵盤鍵信號(hào)檢測(cè)電路設(shè)計(jì)_第2頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì)大作業(yè)-4×4陣列鍵盤鍵信號(hào)檢測(cè)電路設(shè)計(jì)_第3頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì)大作業(yè)-4×4陣列鍵盤鍵信號(hào)檢測(cè)電路設(shè)計(jì)_第4頁(yè)
數(shù)字系統(tǒng)設(shè)計(jì)大作業(yè)-4×4陣列鍵盤鍵信號(hào)檢測(cè)電路設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

~2015學(xué)年第1學(xué)期《數(shù)字系統(tǒng)設(shè)計(jì)》大作業(yè)題目:4×4陣列鍵盤鍵信號(hào)檢測(cè)電路設(shè)計(jì)專業(yè):電子信息工程班級(jí):姓名:指導(dǎo)教師:電氣工程學(xué)院2015年12月摘要人類文明已進(jìn)入到高度發(fā)達(dá)的信息化社會(huì)。信息化社會(huì)的發(fā)展離不開電子信息產(chǎn)品開發(fā)技術(shù)、產(chǎn)品品質(zhì)的提高和進(jìn)步。電子信息產(chǎn)品隨著科學(xué)技術(shù)的進(jìn)步,其電子器件和設(shè)計(jì)方法更新?lián)Q代的速度日新月異。實(shí)現(xiàn)這種進(jìn)步的主要原因就是電子設(shè)計(jì)技術(shù)和電子制造技術(shù)的發(fā)展,其核心就是電子設(shè)計(jì)自動(dòng)化(EDA,ElectronicDesignAutomation)技術(shù),EDA技術(shù)的發(fā)展和推廣應(yīng)用又極大地推動(dòng)了電子信息產(chǎn)業(yè)的發(fā)展。為保證電子系統(tǒng)設(shè)計(jì)的速度和質(zhì)量,適應(yīng)“第一時(shí)間推出產(chǎn)品”的設(shè)計(jì)要求,EDA技術(shù)正逐漸成為不可缺少的一項(xiàng)先進(jìn)技術(shù)和重要工具。目前,在國(guó)內(nèi)電子技術(shù)教學(xué)和產(chǎn)業(yè)界的技術(shù)推廣中已形成“EDA熱”,完全可以說,掌握EDA技術(shù)是電子信息類專業(yè)學(xué)生、工程技術(shù)人員所必備的基本能力和技能。本設(shè)計(jì)主要利用VHDL硬件描述語(yǔ)言在EDA平臺(tái)xilinx.ise.7.1i上設(shè)計(jì)一個(gè)4×4陣列鍵盤掃描電路,將行掃描信號(hào)輸入陣列鍵盤,讀取列信號(hào)的值,輸出按鍵編碼,從而判斷出按鍵按下的位置。并且使用Modelsim軟件進(jìn)行模擬仿真,下載到EDA實(shí)驗(yàn)箱進(jìn)行硬件驗(yàn)證。關(guān)鍵詞:EDAVHDL語(yǔ)言4×4陣列鍵盤掃描目錄TOC\o"1-3"\h\u27845《數(shù)字系統(tǒng)設(shè)計(jì)》 112616數(shù)字系統(tǒng)設(shè)計(jì) 211722摘要 37894關(guān)鍵詞:EDAVHDL語(yǔ)言4×4陣列鍵盤掃描 325361、實(shí)驗(yàn)?zāi)康?5307872、實(shí)驗(yàn)要求 581733、實(shí)驗(yàn)原理 531834、總體框圖 6105894.1.1方案一 6175094.1.2方案二 646794.2設(shè)計(jì)思路 7118785、功能模塊介紹 9247435.1鍵盤消抖模塊 9118275.2鍵盤模塊 9286915.3VHDL部分程序 9257556、實(shí)驗(yàn)結(jié)果 11275166.1綜合電路圖 11124496.2時(shí)序仿真 121、實(shí)驗(yàn)?zāi)康模?)通過常見基本組合邏輯電路的設(shè)計(jì),熟悉EDA設(shè)計(jì)流程;(2)熟悉文本輸入及仿真步驟;(3)掌握VHDL設(shè)計(jì)實(shí)體的基本結(jié)構(gòu)及文字規(guī)則;(4)理解硬件描述語(yǔ)言和具體電路的映射關(guān)系;(5)用VHDL設(shè)計(jì)一個(gè)能識(shí)別4×4陣列鍵盤的實(shí)用電路。2、實(shí)驗(yàn)要求要求通過查閱相關(guān)書籍資料,熟悉和初步掌握VHDL語(yǔ)言的語(yǔ)法及其功能,深入分析4×4鍵盤掃描電路的原理,然后運(yùn)用VHDL硬件描述語(yǔ)言和圖形設(shè)計(jì)綜合方法,實(shí)現(xiàn)4×4鍵盤掃描電路的程序設(shè)計(jì),通過運(yùn)用xilinx.ise.7.1i軟件設(shè)置輸入端口,實(shí)現(xiàn)模擬仿真,得到仿真波形圖后,并記錄結(jié)果。實(shí)驗(yàn)原理4×4陣列鍵盤十分常用,如下圖是此鍵盤電路的原理圖,10芯接口也如下。通常,此類按鍵的識(shí)別法有兩種:掃描法和反轉(zhuǎn)法。掃描法,即當(dāng)按下某鍵后,為了辨別和讀取鍵信息,向A口掃描輸入一組分別只含一個(gè)0的4位數(shù)據(jù),如1110,1101,1011等。若有鍵按下,則B口一定會(huì)輸出對(duì)應(yīng)的數(shù)據(jù),這時(shí),只要結(jié)合A、B口的數(shù)據(jù),就能判斷出鍵的位置。如當(dāng)鍵S0按下,對(duì)于輸入的A=1110時(shí),那么B=0111.于是{B,A}=0111_1110就成了S0的代碼。反轉(zhuǎn)法中,A、B口都必須接雙向口。首先將A口設(shè)定為輸出,B口設(shè)定為輸入。然后向A口輸出全0,接著讀B口。若讀入的數(shù)據(jù)中有一位是0,則表明與該位對(duì)應(yīng)的列線上有某鍵被按下,存儲(chǔ)此值(否則循環(huán)檢測(cè));然后反過來,將A口設(shè)定為輸入,B口設(shè)定為輸出。向B口輸出全0,讀A口,其中必有一位為0.將此4位數(shù)與剛才從B口讀得的數(shù)據(jù)組合即得被按鍵的特征碼。最后通過查表即得所按鍵的碼。4×4按鍵電路總體框圖4.1.1方案一時(shí)鐘脈沖時(shí)鐘脈沖譯碼輸出鍵盤輸入鍵盤掃描譯碼輸出鍵盤輸入鍵盤掃描上圖為方案一的設(shè)計(jì)框圖,鍵盤按鍵按下后,經(jīng)過鍵盤掃描電路后,直接輸出顯示。本方案優(yōu)點(diǎn)在于簡(jiǎn)單易懂,缺點(diǎn)在于無法消除按鍵按下時(shí)和之后彈起時(shí)的抖動(dòng)對(duì)掃描電路的干擾。4.1.2方案二時(shí)鐘脈沖鍵盤輸入鍵盤消抖輸出低電平LED燈顯示鍵盤掃描鍵盤輸入鍵盤消抖輸出低電平LED燈顯示鍵盤掃描上圖為方案二的設(shè)計(jì)框圖,鍵盤按鍵按下后,先經(jīng)過消除抖動(dòng)電路之后,再進(jìn)入鍵盤掃描電路,這樣就可以使CPU只處理一次按鍵操作,避免了按鍵按下時(shí)和之后彈起時(shí)的抖動(dòng)對(duì)掃描電路的干擾。另外,LED燈顯示可以更直觀地看到實(shí)驗(yàn)結(jié)果。4.2設(shè)計(jì)思路本設(shè)計(jì)采用方案二,主要由三個(gè)功能模塊組成:鍵盤消抖模塊、鍵盤掃描模塊、譯碼顯示模塊。(1)鍵盤消抖模塊因?yàn)槠胀ǖ陌存I都是接觸式的,當(dāng)按鍵閉合或釋放時(shí),上下接觸面都會(huì)產(chǎn)生一個(gè)很短暫的抖動(dòng),這個(gè)抖動(dòng)時(shí)間一般都會(huì)持續(xù)5-10ms,雖然這個(gè)抖動(dòng)時(shí)間很短,但對(duì)于FPGA工作在50M的高頻率上的器件來說,還是可以捕捉的到的。為了使CPU對(duì)于一次按鍵操作只處理一次,在軟件中必須加入消除抖動(dòng)處理。本模塊是由四個(gè)上升沿觸發(fā)型D觸發(fā)器和一個(gè)四輸入的與門構(gòu)成的。四個(gè)D觸發(fā)器用同步時(shí)序方式連接,即:將它們的時(shí)鐘輸入端都連在一起。在工作時(shí)四個(gè)D觸發(fā)器與clk時(shí)鐘信號(hào)同步,輸入信號(hào)以移位串行方式向前傳遞。(2)鍵盤掃描模塊陣列式鍵盤又叫做行列式鍵盤,用帶有I/O口的線組成行列結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上。此模塊所用鍵盤是表1所示的4×4陣列鍵盤。按鍵設(shè)置在行列交叉點(diǎn),行列線分別接到按鍵開關(guān)的兩端,每個(gè)鍵的按下與否由這個(gè)鍵的行電平和列電平共同決定,當(dāng)按下時(shí)為低電平“0”,沒有按下時(shí)為高電平“1”。表1、4×4陣列鍵盤123A456B789C*0#D本模塊設(shè)計(jì)采用掃描的方法來實(shí)現(xiàn)對(duì)鍵盤上每個(gè)鍵的識(shí)別,即當(dāng)進(jìn)行行掃描時(shí),掃描信號(hào)由行線進(jìn)入鍵盤,以“1110”、“1101”、“1011”、“0111”的順序每次掃描不同的一行。之后,讀取列線的電平信號(hào),判斷是哪個(gè)鍵按下了,如果列線全為高電平,則代表該列沒有按鍵按下,如果列線有輸入低電平,則低電平信號(hào)所在的行和出現(xiàn)低電平的列的交點(diǎn)處有按鍵按下。假設(shè)行線為a,列線為b,長(zhǎng)度都為4。將輸入行掃描值a與列讀取值b并置形成組合值作為按鍵的輸入值,并對(duì)每一個(gè)鍵進(jìn)行編碼(如表2鍵盤參數(shù)所示),使其送入輸出變量r(定義為4位),即可判斷出按鍵按下的位置。表2、鍵盤參數(shù)行掃描a列讀取b鍵盤按鍵按鍵編碼11100111100001101011140001101101117001001110111*0011111010112010011011011501011011101180110011110110011111101101310001101110161001101111019101001111101#101111101110A110011011110B110110111110C111001111110D11113)譯碼顯示模塊該模塊包括輸出低電平與LED燈顯示。因?yàn)閷?shí)驗(yàn)箱的LED燈是低電平有效,所以需要把輸出變量r進(jìn)行邏輯“非”變換。該部分采用了4個(gè)非門,分別將輸入的4位掃描模塊輸出變量取反。LED燈的亮滅表示輸出變量r。r為高電平時(shí)燈亮,r為低電平時(shí)燈滅,這樣就能更清晰地顯示出實(shí)驗(yàn)結(jié)果,使人一目了然。5、功能模塊介紹5.1鍵盤消抖模塊圖5-1消抖動(dòng)模塊圖4為消抖模塊的邏輯符號(hào),其中D(3:0)輸入按鍵按下時(shí)帶抖動(dòng)的信號(hào),經(jīng)過消抖之后,Q(3:0)輸出消除抖動(dòng)之后的信號(hào),使得CPU可以只對(duì)一次按鍵處理一次信號(hào)。5.2鍵盤模塊圖5-2鍵盤模塊圖5-2為掃描模塊的邏輯符號(hào),其中a[3:0]是4位的行掃描信號(hào),b[3:0]是4位的列讀取信號(hào),r[3:0]是4位的按鍵編碼輸出。5.3VHDL部分程序libraryieee;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;useieee.std_logic_1164.all;entityk44isport(clk:instd_logic;--1khz以下b,a:instd_logic_vector(3downto0);r:outstd_logic_vector(3downto0));end;architectureoneofk44is--signalc:std_logic_vector(1downto0);signalba:std_logic_vector(7downto0);--signale:std_logic_vector(3downto0);beginba<=b&a;--ba<=e&a;b<=e;process(a,clk)begin--ifrising_edge(clk)thenc<=c+1;--casecis--when"00"=>e<="0111";when"01"=>e<="1011";--when"10"=>e<="1101";when"11"=>e<="1110";--whenothers=>null;--endcase;casebaiswhen"01111110"=>r<="0000";when"01111101"=>r<="0001";when"01111011"=>r<="0010";when"01110111"=>r<="0011";when"10111110"=>r<="0100";when"10111101"=>r<="0101";when"10111011"=>r<="0110";when"10110111"=>r<="0111";when"11011110"=>r<="1000";when"11011101"=>r<="1001";when"11011011"=>r<="1010";when"11010111"=>r<="1011";when"11101110"=>r<="1100";when"11101101"=>r<="1101";when"11101011"=>r<="1110";when"11100111"=>r<="1111";whenothers=>null;endcase;--endif;endprocess;end;6、實(shí)驗(yàn)結(jié)果6.1綜合電路圖圖6-1(a)電路原理圖圖6-1(b)RTL電路6.2時(shí)序仿真對(duì)源程序進(jìn)行操作,生成tbw文件后,繼續(xù)對(duì).tbw

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論