華南理工大學(xué)數(shù)電課程設(shè)計(jì)要點(diǎn)_第1頁(yè)
華南理工大學(xué)數(shù)電課程設(shè)計(jì)要點(diǎn)_第2頁(yè)
華南理工大學(xué)數(shù)電課程設(shè)計(jì)要點(diǎn)_第3頁(yè)
華南理工大學(xué)數(shù)電課程設(shè)計(jì)要點(diǎn)_第4頁(yè)
華南理工大學(xué)數(shù)電課程設(shè)計(jì)要點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、潘孝潸理7大亨south china university of technology課程設(shè)計(jì)報(bào)告書(shū)題目:矩陣鍵盤(pán)識(shí)別電路的設(shè)計(jì)學(xué)院自動(dòng)化學(xué)院專業(yè)自動(dòng)化控制學(xué)生姓名學(xué)生學(xué)號(hào)201330581089班內(nèi)序號(hào) 9指導(dǎo)教師馬楚儀課程編號(hào) 135070課程學(xué)分 1 學(xué)分起止日期 2015.05 19 2015.07.03教師簽名: 日期:目錄第1章、選題背景1.第2章、方案論證(設(shè)計(jì)理念)1.1設(shè)計(jì)任務(wù)12方案論證;2.第3章、過(guò)程論述 2.1總電路2.2分頻模塊3.3掃描模塊:4.4譯碼模塊5.第4章、結(jié)果分析6.1分頻模塊6.2譯碼模塊6.3掃描模塊7.4總電路7.第5章、課程設(shè)計(jì)總結(jié)8.1收獲與

2、心得 8.2致謝9.附錄1:參考文獻(xiàn)10參考文獻(xiàn)1.q附錄2:部分采用verilog語(yǔ)言編寫(xiě)的模塊的原程序10掃描模塊程序10譯碼模塊程序:15課題名稱:數(shù)字電子技術(shù)基礎(chǔ)第1章、選題背景在現(xiàn)代電子工業(yè)的控制電路中,鍵盤(pán)掃描和顯示電路對(duì)系統(tǒng)的調(diào) 試和設(shè)置有著重要的作用。隨著eda技術(shù)的發(fā)展,基于fpga的掃描 鍵盤(pán)因其結(jié)構(gòu)簡(jiǎn)單能有效防止機(jī)械鍵盤(pán)按鍵抖動(dòng)帶來(lái)的數(shù)據(jù)錯(cuò)誤等優(yōu) 點(diǎn)在許多電子設(shè)備中都得到了廣泛的應(yīng)用。本課題的內(nèi)容是設(shè)計(jì)一個(gè) 電路來(lái)識(shí)別4x4矩陣鍵盤(pán),單獨(dú)按某個(gè)鍵,數(shù)碼管顯示該鍵的數(shù)字, 如j0,顯示00, j1,顯示01,j15顯示15,同時(shí)發(fā)出發(fā)出一音“嘀” 同時(shí)按兩個(gè)或以上按鍵,數(shù)碼

3、管顯示 er,發(fā)出一音“嘀”,連續(xù)發(fā)出 “嘟嘟嘟”,直到松開(kāi)按鍵,聲音關(guān)閉。所主要解決的問(wèn)題是設(shè) 計(jì)電路,通過(guò)運(yùn)用quartusr軟件平臺(tái)生成電路符號(hào),并仿真分析,消 除各種存在的問(wèn)題,直到下載到芯片中通過(guò)硬件實(shí)現(xiàn)上述所要求的功 能。對(duì)該系統(tǒng)要求:應(yīng)具有集成度高、穩(wěn)定性好、設(shè)計(jì)靈活和設(shè)計(jì)效 率高等優(yōu)點(diǎn)。設(shè)計(jì)指導(dǎo)思想:矩陣鍵盤(pán)識(shí)別電路從原理上講就是一個(gè)典型的數(shù) 字電路,包括組合邏輯電路和時(shí)序邏輯電路。設(shè)計(jì)鍵盤(pán)掃描程序,將 程序劃分為時(shí)序產(chǎn)生模塊、鍵盤(pán)掃描模塊、鍵值譯碼模塊,蜂鳴器模 塊四個(gè)模塊,時(shí)序產(chǎn)生模塊為鍵盤(pán)掃描和蜂鳴器模塊產(chǎn)生時(shí)鐘信號(hào), 鍵盤(pán)掃描模塊采用行掃描法對(duì) 4*4矩陣鍵盤(pán)進(jìn)行掃描,

4、鍵值譯碼模塊 將所按鍵值譯碼為共陰極8位7段數(shù)碼管的顯示碼幾個(gè)模塊組合起來(lái) 實(shí)現(xiàn)鍵盤(pán)掃描的設(shè)計(jì)要求。第2章、方案論證(設(shè)計(jì)理念)1設(shè)計(jì)任務(wù)設(shè)計(jì)任務(wù)的設(shè)計(jì)功能包括:1單獨(dú)按某個(gè)鍵,數(shù)碼管顯示該鍵的數(shù)字,如j0,顯示00, j1,顯示01,j15顯示15。2同時(shí)按兩個(gè)或以上按鍵,顯示 ero3單獨(dú)按某個(gè)鍵,發(fā)出一音“嘀”,同時(shí)按兩個(gè)或以上按鍵,發(fā)出一音“嘀”,連續(xù)發(fā)出“嘟嘟嘟 ”,直到松開(kāi)按鍵,聲音關(guān)閉。(1)設(shè)計(jì)理念:將矩陣鍵盤(pán)識(shí)別電路各個(gè)功能分成模塊來(lái)實(shí)現(xiàn),包括分頻模塊描模塊、鍵值譯碼模塊,蜂鳴器模塊四個(gè)模塊,在主電路中通過(guò)連線實(shí)現(xiàn)識(shí)別功能。分模塊能使電路看起來(lái)更有條理,接線 更清晰,功能更加

5、可靠,排查錯(cuò)誤更簡(jiǎn)單和更有針對(duì)性。2方案論證;一:識(shí)別方式:判斷鍵盤(pán)上哪個(gè)鍵被按下,可以采用靜態(tài)譯碼法 或掃描法,靜態(tài)譯碼法原理簡(jiǎn)單,容易理解,但電路復(fù)雜,掃描法比 較抽象,電路相對(duì)簡(jiǎn)單,通常采用,掃描法又稱為逐行或列掃描查詢 法,它是一種最常用的多按鍵識(shí)別方法。綜上,選取掃描方法二:實(shí)現(xiàn)方式方案1:采用用門(mén)電路和各種寄存器等搭建組合時(shí)序電路的方式來(lái) 實(shí)現(xiàn),可以采用移位寄存器循環(huán)掃描信號(hào),并通過(guò)數(shù)據(jù)選擇器來(lái)判斷 各種情況,這種方法實(shí)現(xiàn)原理簡(jiǎn)單,但搭電路的時(shí)候復(fù)雜,接線繁多, 尤其是識(shí)別兩個(gè)以上的按鍵時(shí)不靈活,容易漏接錯(cuò)接,且檢查錯(cuò)誤比 較麻煩。方案2:采用用硬件描述語(yǔ)言 verilog hdl

6、來(lái)實(shí)現(xiàn),verilog hdl語(yǔ)言 和c語(yǔ)言比較類似,所以上手比較快,因此,雖然之前沒(méi)接觸過(guò)該語(yǔ) 言,但在做課程設(shè)計(jì)的這段時(shí)間里,用它來(lái)實(shí)現(xiàn)課程設(shè)計(jì)所要實(shí)現(xiàn)的 功能還是可以的。用這種方法的話,程序簡(jiǎn)單易懂,而且比較簡(jiǎn)潔, 思路比較清晰,尤其在識(shí)別兩個(gè)按鍵以上的時(shí)候優(yōu)越性特別明顯。方案3:采用用硬彳描述語(yǔ)言vhdl來(lái)實(shí)現(xiàn),與verilog hdl相似, 但是vhdl的語(yǔ)法比verilog hdl復(fù)雜一點(diǎn),由于沒(méi)有學(xué)過(guò),對(duì)該語(yǔ)言一竅 不通。所以該方案不考慮。綜上所述,選取方案二。第3章、過(guò)程論述1總電路作用:將各個(gè)模塊串連起來(lái)以實(shí)現(xiàn)識(shí)別電路的功能輸入1khz的頻率,首先經(jīng)過(guò)分頻器成1hz ,100

7、hz,250hz, 500hz 的脈沖,用于驅(qū)動(dòng)蜂鳴器,1khz的脈沖進(jìn)入掃描模塊,掃描模塊將掃 描結(jié)果分別送給顯示譯碼器模塊和蜂鳴器模塊,從而驅(qū)動(dòng)兩個(gè)led數(shù)碼 管顯示結(jié)果,只有一個(gè)鍵按下時(shí),蜂鳴器發(fā)出一音“嘀”,當(dāng)同時(shí)按 兩個(gè)或以上按鍵,發(fā)出一音“嘀”,連續(xù)發(fā)出“嘟嘟嘟”。2分頻模塊作用:在輸入脈沖只有11khz的情況下,將1khz的脈沖分頻成 1hz ,100hz,250hz, 500hz的脈沖,用于驅(qū)動(dòng)蜂鳴器,不同的頻率使 蜂鳴器發(fā)出不同的聲音。圖2分頻模塊電路圖圖中各成分的作用,和成分之間的交互:輸入 1khz的脈沖,運(yùn) 用7490芯片構(gòu)成分頻電路,當(dāng)7490的set9a,set9b

8、,clra.clrb管 腳接低電平clka接qd輸出管腳,clkb接輸入脈沖,qa輸出脈沖, 構(gòu)成十分頻電路。依據(jù)這樣的原理,經(jīng)過(guò)三個(gè)十分頻即可輸出100,1hz 的脈沖信號(hào)。分頻模塊的下部分是用d觸發(fā)器構(gòu)成的二分頻電路,因此可以分 頻出500hz,250hz的脈沖信號(hào)。3掃描模塊:作用:判斷按鍵的狀態(tài),即識(shí)別按鍵,按照識(shí)別結(jié)果輸出一個(gè)按 鍵標(biāo)志位flag,錯(cuò)誤按鍵標(biāo)志位flag2,和按鍵值key_valueoj0圖3.掃描模塊電路邏輯符號(hào)圖kr£>kr1kmjij2j12q |0 o4.7kq 4_j-j10 -o q0 6圖4矩陣鍵盤(pán)結(jié)構(gòu)圖程序見(jiàn)附錄,各成分的作用,和成分之

9、間的交互:掃描流程1、判斷鍵盤(pán)中有無(wú)鍵按下將全部列線kr0-kr3置低電平然后檢測(cè)行線 kl0-kl3的狀態(tài), 只要有一列的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位 于低電平線與4根行線相交叉的4個(gè)按鍵之中,若所有行線均為高電 平則表示鍵盤(pán)中無(wú)鍵按下。2、判斷按鍵所在的位置在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程,其方法是 依次將列線置為低電平,即在置某根列線為低電平時(shí),其它線為高電 平,例如: kr0 kr1 kr2 kr3置0111,之后掃描 kl端,當(dāng) j0鍵按下,則kl0輸出為0,其余則為1,即kl3 kl2 kl1 kl0 輸出為1110,此時(shí)就可以判斷為j0鍵被按下,

10、數(shù)碼管顯示01,依此 類推,判斷其他鍵。而在一次掃描過(guò)程中,當(dāng)掃描到某列有鍵按下, 即將該列的按鍵標(biāo)志置1,在掃描結(jié)束后,如果有多列置1,就判斷有 多個(gè)鍵按下,從而key_value=16,即報(bào)錯(cuò),而在一行之中的最后判斷 之中,例如 kr0-kr3置1110時(shí),當(dāng)kl3 kl2 kl1 kl0輸出至 少兩個(gè)管腳為低電平時(shí),也判斷為多個(gè)按鍵按下,即就報(bào)錯(cuò)。即識(shí)別 思想是在一次輪回中,依次將kr0 kr1 kr2 kr3分別置為00000, 0111,1011,1101,1101此次掃描結(jié)束才判斷掃描結(jié)果,判斷按 鍵錯(cuò)誤的順序是先列后行。表1按鍵位置與數(shù)碼的關(guān)系kr- klj0j1j2j3j4j5

11、1110_11101101_11101011_11100111_11101110_11011101_1101j6j7j8j9j10j111011_11010111_11011110_10111101_10111011_1010111_10111j12j3j14j15j16(即報(bào)錯(cuò)標(biāo)志)1110_01111101_01111011_01110111_0111defualt4譯碼模塊作用:將4u進(jìn)來(lái)的key_value譯碼出相應(yīng)的碼給led1,led2顯示。程序見(jiàn)附錄第4章、結(jié)果分析1分頻模塊clk輸入1khz的脈沖信號(hào),分頻出 500hz,250hz,100hz,1hz的 信號(hào),分析波形結(jié)果正確

12、。圖6分頻模塊仿真波形2譯碼模塊當(dāng)電路輸入key_value分別為:00000,00001,00010,00011,00100,00101,00110,00111,01000, 01001,01010,01011,01100,01101,01110,01111,10000led1 輸出:00111111,00111111,00111111,00111111,00111111 00111111 00111111,00111111,00111111,00111111,00110000 00110000, 00110000,00110000,00110000,00110000,01111001 le

13、d2 輸出:00111111,00110000,01011011,01001111,01100110 01101101, 01111100,00000111,01111111,01101111,0011111100110000,01011011,01001111,01100110,01101101,01110111圖7.譯碼模塊的仿真波形圖3掃描模塊掃描程序依次將 kr0 kr1 kr2 kr3 置 0111,1011,1101,1110 進(jìn)行掃描。圖8.掃描模塊的仿真波形圖4總電路在時(shí)鐘的控制下,j3描程序依次將kr0 kr1 kr2 kr3置0111, 1011,1101,1110進(jìn)行掃描

14、,如果第一個(gè)鍵按下時(shí),此時(shí) flag置,數(shù)碼管中l(wèi)ed1,led2都置00111111。其他的同理。圖9.總電路仿真波形圖第5章、課程設(shè)計(jì)總結(jié)1收獲與心得通過(guò)本次課程設(shè)計(jì),我收獲到在課堂上所不能給予我的知識(shí)和處 理問(wèn)題的能力,也深刻體會(huì)到,正如老師在任務(wù)書(shū)中說(shuō)的一樣,做設(shè) 計(jì)是一件很辛苦的事情,千萬(wàn)不能夠浮躁,想走捷徑,只有靜下心來(lái), 根據(jù)本課程的知識(shí)、查找資料、學(xué)習(xí)前人經(jīng)驗(yàn),才能有自己的作品。 在設(shè)計(jì)過(guò)程中,感覺(jué)自己收獲到了很多比僅僅做題,上課更豐富的知 識(shí),同時(shí)也加深了對(duì)數(shù)電知識(shí)的理解,并且這個(gè)過(guò)程現(xiàn)在回想起來(lái)真 很奇妙一一自己能夠獨(dú)立地運(yùn)用自己學(xué)的知識(shí)來(lái)設(shè)計(jì)電路,真的很 有成就感。讓我感

15、受最深的是在這次設(shè)計(jì)之中出現(xiàn)的那些問(wèn)題,真的,做設(shè) 計(jì)如同人生,并不是一帆風(fēng)順的,也不能一蹴而就。從選擇矩陣鍵盤(pán) 的這道題開(kāi)始,就意味著我要開(kāi)始接受一個(gè)新的挑戰(zhàn)。說(shuō)實(shí)話,一開(kāi) 始選擇這道題目是因?yàn)橹坝薪佑|過(guò)矩陣鍵盤(pán),后來(lái)才發(fā)現(xiàn)用數(shù)電知 識(shí)來(lái)實(shí)現(xiàn)和我之前接觸的有特別大的區(qū)別,真的可以說(shuō)天壤之別。在 選擇方案的時(shí)候,一開(kāi)始挺糾結(jié),是要用描述語(yǔ)言還是用搭電路的方 法,因?yàn)槲抑皼](méi)接觸過(guò)硬件描述語(yǔ)言。后來(lái)通過(guò)論證,果斷選了硬 件語(yǔ)言,硬件語(yǔ)言對(duì)我來(lái)說(shuō)真的是一個(gè)新的東西,所以這不得不說(shuō)是 一個(gè)新的挑戰(zhàn)。也正因?yàn)榇舜卧O(shè)計(jì),我對(duì) verilog hdl語(yǔ)言有了一個(gè)大 概的了解。選擇了用描述語(yǔ)言來(lái)描述電路,

16、首先就是要補(bǔ)充知識(shí),我把數(shù)電 課本的關(guān)于硬件語(yǔ)言的那章看了,然后就到處于找關(guān)于verilog hdl的語(yǔ)法資料。在寫(xiě)掃描程序的過(guò)程中,單個(gè)按鍵檢測(cè)比較容易,但當(dāng)然 這個(gè)過(guò)程出現(xiàn)了很多小問(wèn)題,這些小問(wèn)題有時(shí)候也是挺難發(fā)現(xiàn)的,有 時(shí)候就改了一個(gè)地方,然后程序就可以正常工作了,所以程序編譯了 數(shù)不清n遍,出現(xiàn)問(wèn)題的時(shí)候就找找書(shū),例如阻塞語(yǔ)句和非阻塞語(yǔ)句 的區(qū)別,還有case語(yǔ)句在verilog hdl中的應(yīng)用等,尤其是阻塞語(yǔ)句和 非阻塞語(yǔ)句,花了很久才搞懂是什么回事。最困難的部分是兩個(gè)以上 按鍵的檢測(cè),首先是掃描方法,如何檢測(cè)出兩個(gè)以上的按鍵,真的想 了好久,看著那個(gè)矩陣鍵盤(pán)原理圖想了不知道多少遍了

17、。一開(kāi)始想出來(lái)的程序,按照原理,它應(yīng)該能夠檢測(cè)出不同行的兩 個(gè)按鍵以上的,但是結(jié)果卻出乎我意料,竟然只能夠識(shí)別同一列的兩 個(gè)以上按鍵,然后檢測(cè)很久也沒(méi)發(fā)現(xiàn)問(wèn)題,真的考驗(yàn)人的耐心,奇怪 的是在之后的寫(xiě)的程序,沒(méi)怎么改,它就正常工作了。之后用它又寫(xiě) 了一個(gè)程序,雖然感覺(jué)那個(gè)原理能夠檢測(cè)任意兩個(gè)以上按鍵但結(jié)果卻 是只能檢測(cè)不同行。迫于無(wú)奈,只能改另外一種掃描方法,前一種掃 描方法由于時(shí)間關(guān)系,只能先放下查找它的錯(cuò)誤,自己感覺(jué)可能對(duì) verilog hdl有些細(xì)節(jié)的東西還不是很清楚,可能這也是此次設(shè)計(jì)遇到 的最大問(wèn)題。之后的那個(gè)程序掃描方法在實(shí)現(xiàn)過(guò)程中也是遇到各種問(wèn) 題,經(jīng)過(guò)查資料,最后很幸運(yùn)都解決了

18、。在程序調(diào)試的時(shí)候,需要的 是發(fā)現(xiàn)問(wèn)題的細(xì)心和耐心,程序問(wèn)題才能夠一一解決。數(shù)電課程設(shè)計(jì)過(guò)程充滿挑戰(zhàn),既有有趣的地方,又有困難的讓人 想要放棄的地方。每當(dāng)想到一個(gè)新方法,就想去用它,驗(yàn)證它,有時(shí) 睡在床上想著,想出一些解決方案,于是跳下床,到電腦前操作,這 也許就是它的魅力,每一個(gè)困難都讓人躍躍欲試下想要克服它。在每 一個(gè)問(wèn)題解決的背后需要一顆有耐心的心和思考的大腦。在不斷發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的過(guò)程中,收獲的不僅僅是知識(shí),更 是一種主動(dòng)的態(tài)度。學(xué)習(xí)是一種態(tài)度。我覺(jué)得我很享受做課程設(shè)計(jì)的 過(guò)程,它讓我經(jīng)歷了柳暗花明的喜悅,讓我在這個(gè)過(guò)程中的到很多的 滿足感。2致謝衷心感謝老師在實(shí)驗(yàn)過(guò)程中的諄諄教導(dǎo)

19、,通過(guò)實(shí)驗(yàn),我更加鞏固 了課堂上的知識(shí),也感謝學(xué)校安排了這次數(shù)電設(shè)計(jì),讓我有了這次不 同以往的經(jīng)歷,增加了我實(shí)踐的機(jī)會(huì)。附錄1:參考文獻(xiàn)參考文獻(xiàn)1閻石.數(shù)學(xué)電子技術(shù)基礎(chǔ).北京:高等教育出版社2夏宇聞.verilog數(shù)字系統(tǒng)設(shè)計(jì)教程.北京.北京航空航天大學(xué)出 版社3魏家明.verilog編程藝術(shù).電子工業(yè)出版社附錄2:部分采用verilog語(yǔ)言編寫(xiě)的模塊的原程序掃描模塊程序/* 時(shí) 鐘 clk 管 腳 : pin_18* 鍵盤(pán) col 輸入管腳:pin_8, pin_7, pin_6, pin_5 * 鍵盤(pán) row 輸出管腳:pin_14, pin_13, pin_12, pin_11 * 實(shí)驗(yàn)

20、結(jié)果:按鍵每個(gè)數(shù)字對(duì)應(yīng)亮燈數(shù),其它按鍵對(duì)應(yīng)不同結(jié)果*/module juzhen(clk,incol,outrow,key_value,key_flag,key_flag1);input clk;/定義時(shí)鐘引腳input3:0incol;/定義橫向數(shù)據(jù)輸入output3:0outrow;定義縱向數(shù)據(jù)輸出output4:0key_value;定義識(shí)別的按鍵值output key_flag,key_flag1;/定義按鍵標(biāo)志,flag 表示一個(gè)flag/flag2表示兩個(gè)按鍵 reg 3:0row;reg3:0incol_reg ;reg3:0 outrow_reg;reg2:0state;reg

21、 key_flag,key_flag1;reg 4:0 key_value;/寄存掃描行值/寄存掃描列值/狀態(tài)標(biāo)志/按鍵標(biāo)志位/讀取的狀態(tài)值reg 3:0incol_1,incol_2,incol_3,incol_4;reg state1,state2,state3,state4;reg 3:0 statez;總的按鍵標(biāo)志always(posedge clk)begincase(state)0:beginrow<=4'b0000;key_flag<=1'b0;key_flag1<=1'b0;if(incol!=4'b1111)beginstat

22、e<=1;row<=4'b1110;endelse state<=0;end1:beginif(incol!=4'b1111)beginincol_1<=incol;state1<=1'b1;state<=2;row<=4'b1101;endelsebeginstate<=2;row<=4'b1101;state1<=1'b0;endend 2:beginif(incol!=4'b1111) beginincol_2<=incol;state2<=1'b1;s

23、tate<=3;row<=4'b1011;endelsebeginstate<=3;row<=4'b1011;state2<=1'b0;endend3:beginif(incol!=4'b1111)beginincol_3<=incol;state3<=1'b1;state<=4;row<=4'b0111;endelsebeginstate<=4;row<=4'b0111;state3<=1'b0;endend4: beginif(incol!=4'b

24、1111)beginincol_4<=incol;state4<=1'b1;state<=5;endelsebegin state<=5;state4<=1'b0;endend5:beginstatez<=state4,state3,state2,state1;case(statez)4'b1000:begin incol_reg<=incol_4;outrow_reg<=4'b0111;case(incol_4)4'b1110:key_flag<=1'b1;4'b1101:key_f

25、lag<=1'b1;4'b1011:key_flag<=1'b1;4'b0111:key_flag<=1'b1;4'b0011:key_flag1<=1'b1;4'b1100:key_flag1<=1'b1;4'b1001:key_flag1<=1'b1;4'b0101:key_flag1<=1'b1;4'b1010:key_flag1<=1'b1;4'b0110:key_flag1<=1'b1;defau

26、lt:key_flag<=1'b0;endcaseend4'b0100:begin incol_reg<=incol_3;outrow_reg<=4'b1011;case(incol_3)4'b1110:key_flag<=1'b1;4'b1101:key_flag<=1'b1;4'b1011:key_flag<=1'b1;4'b0111:key_flag<=1'b1;4'b0011:key_flag1<=1'b1;4'b1100:ke

27、y_flag1<=1'b1;4'b1001:key_flag1<=1'b1;4'b0101:key_flag1<=1'b1;4'b1010:key_flag1<=1'b1;4'b0110:key_flag1<=1'b1;default:key_flag<=1'b0;endcaseend4'b0010:begin incol_reg<=incol_2;outrow_reg<=4'b1101;case(incol_2)4'b1110:key_fla

28、g<=1'b1;4'b1101:key_flag<=1'b1;4'b1011:key_flag<=1'b1;4'b0111:key_flag<=1'b1;4'b0011:key_flag1<=1'b1;4'b1100:key_flag1<=1'b1;4'b1001:key_flag1<=1'b1;4'b0101:key_flag1<=1'b1;4'b1010:key_flag1<=1'b1;4'b0

29、110:key_flag1<=1'b1;endcaseend4'b0001:begin incol_reg<=incol_1;outrow_reg<=4'b1110;case(incol_1)4'b1110:key_flag<=1'b1;4'b1101:key_flag<=1'b1;4'b1011:key_flag<=1'b1;4'b0111:key_flag<=1'b1;4'b0011:key_flag1<=1'b1;4'b1100:

30、key_flag1<=1'b1;4'b1001:key_flag1<=1'b1;4'b0101:key_flag1<=1'b1;4'b1010:key_flag1<=1'b1;4'b0110:key_flag1<=1'b1;default:key_flag<=1'b0;endcaseenddefault:beginincol_reg<=4'b0000;outrow_reg<=4'b0000;key_flag1<=1'b1;endendca

31、sestate<=0;endendcaseendalways(clk or outrow_reg or incol_reg)begin case(outrow_reg,incol_reg)8'b1110_1110:begin key_value<=5'b00000;end8'b1101_1110:begin key_value<=5'b00001;end8'b1011_1110:begin key_value<=5'b00010;end8'b0111_1110:begin key_value<=5'b

32、00011;end8'b1110_1101:begin key_value<=5'b00100;end8'b1101_1101:begin key_value<=5'b00101;end8'b1011_1101:begin key_value<=5'b00110;end8'b0111_1101:begin key_value<=5'b00111;end8'b1110_1011:begin key_value<=5'b01000;end8'b1101_1011:begin key

33、_value<=5'b01001;end8'b1011_1011:begin key_value<=5'b01010;end8'b0111_1011:begin key_value<=5'b01011;end8'b1110_0111:begin key_value<=5'b01100;end8'b1101_0111:begin key_value<=5'b01101;end8'b1011_0111:begin key_value<=5'b01110;end8'b0

34、111_0111:begin key_value<=5'b01111;enddefault:begin key_value<=5'b10000;endendcaseendassign outrow=row;endmodule譯碼模塊程序:module yima(key_value,led1,led2);input 4:0 key_value;reg7:0led_reg1,led_reg2;output7:0led1;output7:0led2;always(key_value)begincase(key_value)5'b00000:begin led_reg1=8'b00111111;led_reg2=8'b00111111; end5'b00001:begin led_reg1=8'b00111111;led_reg2=8'b00110000;end5'b00

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論