FPGA矩陣鍵盤課程設(shè)計_第1頁
FPGA矩陣鍵盤課程設(shè)計_第2頁
FPGA矩陣鍵盤課程設(shè)計_第3頁
FPGA矩陣鍵盤課程設(shè)計_第4頁
FPGA矩陣鍵盤課程設(shè)計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、fpga課程設(shè)計報告項fl名稱基于fpga的4*4矩陣鍵盤的設(shè)計專業(yè)班級通信1學生姓名卷指導教師2016 年 7 月 10 h本課程設(shè)計提出了基于fpga的4*4矩陣鍵盤的設(shè)計,主要是在軟件quartus 119.0 這個環(huán)境中,以碩件描述語言verilog進行編寫程序,從而完成矩陣鍵盤的相關(guān)設(shè)計。 主要由矩陣式鍵盤電路、顯示電路等組成,實現(xiàn)過程是通過行掃播輸入隨機信號,列掃 描判斷哪一個鍵被按下,并最后由數(shù)碼管顯示該按鍵。此次課程設(shè)計完成了 4*4矩陣鍵 盤控制led數(shù)碼管顯示系統(tǒng)的設(shè)計,該設(shè)計具有靈活性強,易于操作,可靠性高,廣 泛應(yīng)用于各種場合的特點,是進行按鍵操作管理的有效方法,它可以

2、提高系統(tǒng)準確性, 有利于資源的節(jié)約,降低對操作者本身的要求,并能止確、實時、高效地顯示按鍵信息, 以提高工作效率和資源換利用率的意義。關(guān)鍵詞:數(shù)碼管;矩陣鍵盤;按鍵;顯示電路abstractthis course is designed based on fpga is proposed 4*4 matrix keyboard design, mainly in the quartus ii software 9.0 this environment, with the verilog hardware description language program, so as to comple

3、te the related design of matrix keyboard. main matrix keyboard circuit, display circuit and so on, complete the 4 * 4 matrix keyboard control led digital tube display system design, the design has strong flexibility, easy operation, high reliability, widely used in various occasions. into 4*4 matrix

4、 keyboard control led digital tube display system design, design flexibility is strong, easy to operate, high reliability, widely used in various occasions. matrix keyboard control system, can improve efficiency, and is an effective method to manage the keystrokes, it can improve the system accuracy

5、, and is conducive to resource saving and reduce the requirement of the operator itself, and correctly, real-time and efficient to show the key information, in order to improve the work efficiency and the utilization ratio of resources in meaning.keywords: digital tube; matrix keyboard; the key; dis

6、ply circuit目錄摘要iabstractii第1章緒論i1.1課題背景11.2 國內(nèi)外發(fā)展現(xiàn)狀11.3 本文主要研究內(nèi)容1第2章軟件及語言簡介22. 1 quartus軟件簡介32. 2 ver訂og 語言簡介42. 2. 1 verilog語言的主要功能42. 2. 2 vedlog語言設(shè)計數(shù)字系統(tǒng)的特點4第3章4*4矩陣鍵盤的原理63. 14*4矩陣式鍵盤63. 2 總體結(jié)構(gòu)63. 2. 1 led 數(shù)碼管83.2.2 鍵盤結(jié)構(gòu)93. 3鍵盤掃描93.4矩陣鍵盤接口電路的原理9第4章程序調(diào)試114. 1流程圖114.2程序結(jié)果討論11第5章波形仿真及討論135. 1波形結(jié)果135.

7、 2結(jié)果討論14結(jié)論15參考文獻16附錄程序17致謝19第1章緒論1.1課題背景在現(xiàn)代的個人計算機系統(tǒng)中,一般都釆用通用的標準鍵盤如標準鍵盤(如:標準 101/102鍵盤或microsoft自然ps/2鍵盤)來實現(xiàn)人與計算機之間的接口交互,從而將需 要的各種數(shù)據(jù)和指令等信息都通過鍵盤來輸人計算機。但是,各種嵌人式系統(tǒng)(如:手機、微波爐、電風扇等)所需的鍵盤的按鍵個數(shù)非 常有限,通常為幾個到十幾個不等(而標準鍵盤通常為:一百多個按鍵并且每個按鍵所 代表的功能含義也各不相同。所以,每一種嵌入式系統(tǒng)都應(yīng)對鍵盤(包括鍵盤掃描模塊 和相關(guān)控制信號等)進行專門設(shè)計,以便結(jié)合工程實際情況充分利用該系統(tǒng)已有的

8、各種 資源,使所設(shè)計的鍵盤很好地融合到嵌人式系統(tǒng)中。在現(xiàn)代個人計算機系統(tǒng)中,一般都采用通用的標準鍵盤(女口:標準101/102鍵盤 或microsoft自然ps/2鍵盤)來實現(xiàn)人與計算機之間的接口交互,所需要的各種數(shù)據(jù) 和指令等信息都通過鍵盤來輸入計算機。但是,在各種嵌入式系統(tǒng)(如手機、微波爐、電風扇等)中,所需要的鍵盤按鍵個 數(shù)非常有限,通常為幾個到十幾個不等(而標準鍵盤通常為一百多個按鍵),并口每 個按鍵所代表的功能含義也各不相同。所以,針對每一種嵌入式系統(tǒng)都應(yīng)對鍵盤(包括 鍵盤掃描模塊和相關(guān)控制信號等)進行專門設(shè)計,結(jié)合工程實際情況充分利用該系統(tǒng) 已有的各種資源,使所設(shè)計的鍵盤恰如其分地

9、融合到嵌入式系統(tǒng)中,成為其不可分割 的一部分。在數(shù)字電路中,可以利用編碼器實現(xiàn)按鍵鍵值的直接編碼。將每個按鍵的輸出信號 對應(yīng)連接到編碼器的每個輸入端,通過編碼邏輯就可以在編碼器的輸出端得到對應(yīng)每 個按鍵的碼值,早期稱這種鍵盤為編碼鍵盤。但是,當按鍵較多時數(shù)碼邏輯的成本較高, 直接編碼的方法也不夠靈活,一旦編碼邏輯固定就難以更改。在通用鍵盤上或當按鍵數(shù)量較多吋,普遍采用掃描方式產(chǎn)生鍵值。將按鍵連接成矩 陣,每個按鍵位于某行、某列的交點上,如圖1所示,先通過掃描方式確定按下鍵的行 和列位,即位置碼或掃描碼。再查表將位置碼轉(zhuǎn)換為按鍵碼值或者直接使用掃描碼,有 些參考書稱此為“非編碼鍵盤”。但這種名稱

10、容易讓人誤解為沒有對應(yīng)的鍵值,因此又 稱為掃描式鍵盤。1.2國內(nèi)外發(fā)展現(xiàn)狀近年來eda技術(shù)在電子領(lǐng)域引發(fā)的技術(shù)革命,推動著電子技術(shù)的迅猛發(fā)展,為世人 所矚目,而fpga為代表的可編程邏輯器件的應(yīng)用,更是受到業(yè)內(nèi)人上的普遍關(guān)注。伴隨 著大規(guī)模集成電路和計算機技術(shù)的高速發(fā)展,在設(shè)計工業(yè)自動化,儀器儀表,計算機設(shè) 計與應(yīng)用、通信、國防等領(lǐng)域的電子系統(tǒng)中,fpga技術(shù)的含量正以驚人的速度提升。將 盡可能大的完整的電子系統(tǒng)在單一fpga芯片中實現(xiàn)己成為現(xiàn)實,電子類新技術(shù)項目的開 發(fā)也更多地依賴于fpga技術(shù)的應(yīng)用。作為fpga研究課題之一的矩陣鍵盤控制接口電路的設(shè)計,在fpga設(shè)計中是一個經(jīng)常 被提到的

11、話題,就像是利用pfga設(shè)計數(shù)字中一樣,雖然簡單,但是卻是一個很有研究意 義的話題,涉及到怎么樣才能是fpga資源更加充分利用,現(xiàn)在很多電子產(chǎn)品都涉及到按 鍵,小的有獨立按鍵,大的有的矩陣鍵盤,獨立按鍵由于案件的個數(shù)少,也就沒必 要考慮資源的利用問題了。而矩陣鍵盤,由于按鍵多,對整個系統(tǒng)的影響大,所以肯定 要考慮資源的利用問題,而且還要考慮一下電路里面的時序問題。1.3本文主要研究內(nèi)容本次設(shè)計要求設(shè)計一個4*4矩陣鍵盤,也就是行為4,列為4, 一共可以設(shè)計16 個按鍵。其中設(shè)計方法為:一般判斷鍵盤中有沒有按鍵按下是通過航線送入掃描信號, 然后從列線中讀取狀態(tài)得到的,其方法是依次給行線送入低電平

12、,檢查列線的輸入。如 果列線信號趣味高電平,則代表低電平信號所在的行中無按鍵按下,反之,則有,則在 低電平信號所在的行和出現(xiàn)低電平的交叉處有按鍵按下。第2章軟件及語言簡介2. 1 quartus i i軟件簡介quartusii是altera公司的綜合性pld/fpga開發(fā)軟件,支持原理圖、viidl、 veriloghdl 以及 aiidl (altera hardware description language)等多種設(shè)計輸入 形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整pld設(shè)計 流程。quartusii可以在xp、linux以及unix上使用,除了可以使用te

13、l腳本完成設(shè)計流 程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集屮, 易學易用等特點。quartusii支持altera的ip核,包含了 lpm/megafunction宏功能模塊庫,使用 戶可以充分利用成熟的模塊,簡化了設(shè)計的復雜性、加快了設(shè)計速度。對第三方eda 工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方eda工具。此外,quartus ii通過和dsp builder i具與matlab/simulink相結(jié)合,可以方 便地實現(xiàn)各種dsp應(yīng)用系統(tǒng);支持altera的片上可編程系統(tǒng)(sopc)開發(fā),集系統(tǒng)級 設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計

14、于一體,是一種綜合性的開發(fā)平臺。maxplus ii 作為altera的上一代pld設(shè)計軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目 前altera已經(jīng)停止了對maxplus ii的更新支持,quartusii與z相比不僅僅是支持器 件類型的豐富和圖形界面的改變。altera在quartusii屮包含了許多諸如signaltap ii、chip editor和rtl viewer的設(shè)計輔助工具,集成了 s0pc和hardcopy設(shè)計流程, 并且繼承了 maxplus ii友好的圖形界面及簡便的使用方法。quartus ii提供了完全集成且與電路結(jié)構(gòu)無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計 的全部特

15、性,包括:可利用原理圖、結(jié)構(gòu)框圖、veriloglldl. aiidl和vhdl完成電路描 述,并將其保存為設(shè)計實體文件;芯片(屯路)平面布局連線編輯;logiclock增量設(shè) 計方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對原始系統(tǒng)的性能影響較小或無影響的后續(xù) 模塊;功能強大的邏輯綜合工具;完備的電路功能仿真與時序邏輯仿真工具;定時/時 序分析與關(guān)鍵路徑延時分析;可使用signaltap ii邏輯分析工具進行嵌入式的邏輯分 析;支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件;使用組合編譯方 式可一次完成整體設(shè)計流程;自動定位編譯錯誤;高效的期間編程與驗證工具;可讀入 標準的edif網(wǎng)表文件

16、、viidl網(wǎng)表文件和verilog網(wǎng)表文件;能生成第三方eda軟件使 用的v11dl網(wǎng)表文件和verilog網(wǎng)表文件罔。2.2 verilog語言簡介1983 年,gateway design automation (gda)硬件描述語言公司的 philip moorby 首創(chuàng)了 verilog hdl。后來moorby成為verilog hdl-xl的主要設(shè)計者和cadence公司 的第一合伙人。1984至1986年,moorby設(shè)計岀第一個關(guān)于verilog hdl的仿真器, 并提出了用于快速門級仿真的xl算法,使verilog hdl語言得到迅速發(fā)展。1987年 synonsys公司開

17、始使用verilog hdl行為語言作為綜合工具的輸入。1989年cadence 公司收購了 gateway公司,verilog hdl成為cadence公司的私有財產(chǎn)。1990年初, cadence 公司把 verilog i1dl 和 verilog iidl-xl 分開,并公開發(fā)布了 verilog hdlo 隨 后成立的 ovi (open verilog hdl international)組織負責 verilog i1dl 的發(fā)展并 制定有關(guān)標準,ovt由verilog hdl的使用者和cae供應(yīng)商組成。1993年,幾乎所有 astc廠商都開始支持verilog hdl,并且認為v

18、erilog hdi-xl是最好的仿真器。同吋, 0vi 推出 2. 0 版本的 verilong hdl 規(guī)范,ieee 則將 ovi 的 verilog hdl2. 0 作為 ieee 標準的提案。1995年12月,ieee制定了 veril og hdl的標準i eee 1364-1995 0目前, 最新的vemlog語言版本是2000年ieee公布的verilog 2001標準,其大幅度地提高 了系統(tǒng)級和可綜合性能hdl既是一種行為描述語言,也是一種結(jié)構(gòu)描述語言。如果按照 一定的規(guī)則和風格編寫代碼,就可以將功能行為模塊通過工具自動轉(zhuǎn)化為門級互連的結(jié) 構(gòu)模塊。這意味著利用verilog語

19、言所提供的功能,就可以構(gòu)造一個模塊間的清晰結(jié)構(gòu) 來描述復雜的大型設(shè)計,并對所需的邏輯電路進行嚴格的設(shè)計。2.2. 1 verilog語言的主要功能可描述順序執(zhí)行或并行執(zhí)行的程序結(jié)構(gòu);用延遲表示式或事件表達式來明確地控制 過程的啟動時間;通過命名的事件來觸發(fā)其他過程里的激活行為或停止行為;提供了條 件和循環(huán)等程序結(jié)構(gòu);提供了可帶參數(shù)且非零延續(xù)時間的任務(wù)程序結(jié)構(gòu);提供了可定義 新的操作符的函數(shù)結(jié)構(gòu);提供了用于建立表達式的算術(shù)運算符、邏輯運算符和位運算符; 提供了一套完整的表示組合邏輯基本元件的原語;提供了雙向通路和電阻器件的描述; 可建立m0s器件的電荷分享和衰減模型;可以通過構(gòu)造性語句精確地建立

20、信號模型2.2.2 verilog語言設(shè)計數(shù)字系統(tǒng)的特點主要采用自上而下的設(shè)計方法。即從系統(tǒng)總體要求出發(fā),自上而下地逐步將設(shè)計的 內(nèi)容細化,最后完成系統(tǒng)硬件的整體設(shè)計。在設(shè)計的過程中,對系統(tǒng)自上而下分成三個 層次進行設(shè)計:第一層次是行為描述。所謂行為描述,實質(zhì)上就是對整個系統(tǒng)的數(shù)學模型的描述。 一般來說,對系統(tǒng)進行行為描述的目的是試圖在系統(tǒng)設(shè)計的初始階段,通過對系統(tǒng)行為 描述的仿真來發(fā)現(xiàn)設(shè)計中存在的問題。在行為描述階段,并不真正考慮其實際的操作和 算法用何種方法來實現(xiàn),而是考慮系統(tǒng)的結(jié)構(gòu)及其工作的過程是否能到達系統(tǒng)設(shè)計的要 求。第二層次是rtl方式描述。這一層次稱為寄存器傳輸描述(乂稱數(shù)據(jù)流描

21、述)。如 前所述,用行為方式描述的系統(tǒng)結(jié)構(gòu)的程序,其抽象程度高,是很難育接映射到具體邏 輯元件結(jié)構(gòu)的。要想得到硬件的具體實現(xiàn),必須將行為方式描述的vhdl語言程序改寫 為rtl方式描述的vhdl語言程序。也就是說,系統(tǒng)采用rtl方式描述,才能導出系統(tǒng) 的邏輯表達式,才能進行邏輯綜合。第三層次是邏輯綜合。即利用邏輯綜合工具,將rtl方式描述的程序轉(zhuǎn)換成用基木 邏輯元件表示的文件(門級網(wǎng)絡(luò)表)。此時,如果需要,可將邏輯綜合的結(jié)果以邏輯原 理圖的方式輸出。此后可對綜合的結(jié)果在門電路級上進行仿真,并檢查其時序關(guān)系。應(yīng) 用邏輯綜合工具產(chǎn)牛的門級網(wǎng)絡(luò)表,將其轉(zhuǎn)換成pld的編程碼點,即可利用pld實現(xiàn)硬 件

22、電路的設(shè)計由自上而下的設(shè)計過程可知,從總體行為設(shè)計開始到最終的邏輯綜合,每一步都要 進行仿真檢查,這樣有利于盡早發(fā)現(xiàn)設(shè)計中存在的問題,從而可以大大縮短系統(tǒng)的設(shè)計 周期。第3章4*4矩陣鍵盤的原理3. 1 4*4矩陣式鍵盤矩陣式鍵盤(或者叫行列式鍵盤)常應(yīng)用在按鍵數(shù)量比較多的系統(tǒng)z中。這種鍵盤 由行線和列線組成,按鍵設(shè)置在行、列結(jié)構(gòu)的交叉點上,行、列線分別接在按鍵開關(guān)的 兩端。行列式鍵盤可分為非編碼鍵盤和編碼鍵盤兩大類。編碼鍵盤內(nèi)部設(shè)有鍵盤編碼器, 被按下鍵的鍵號由鍵盤編碼器直接給出,同時具有防抖和解決重鍵的功能。非編碼鍵盤 通常采用軟件的方法,逐行逐列檢查鍵盤狀態(tài),當有鍵按下時,通過計算或查表

23、的方法 獲取該鍵的鍵值,通常,計算機通過程序控制對鍵盤掃描,從而獲取鍵值,根據(jù)計算機 掃描的方法可以分為定是掃描法和屮斷掃描法兩種,原理結(jié)構(gòu)如圖3-1所示。圖3-1 4*4矩陣鍵盤原理結(jié)構(gòu)框圖3. 2總體結(jié)構(gòu)由行列式鍵盤原理就可以知道,要止確的完成鍵盤輸入工作必須有按鍵掃描電路產(chǎn) 生elk信號。同時還必須有按鍵譯碼電路從kbrow信號和kbcol信號中譯碼出按鍵的值。 此外,一般還需要一個按鍵發(fā)生信號用于和其他模塊接口,通知其他模塊鍵盤上有按鍵 動作發(fā)生,并可以從鍵盤上讀取按鍵的鍵值。由于各個模塊需耍的時鐘頻率是不一樣的, 因此時鐘產(chǎn)生模塊就是用于產(chǎn)生各個模塊需要的時鐘信號。在本次課程設(shè)計中,

24、最為重 要的兩部分就是數(shù)碼管顯示電路以及鍵盤結(jié)構(gòu),這兩部分的組成,形成了 4*4矩陣鍵盤, 通過鍵盤輸入,數(shù)碼管進行顯示。3.2.1 led數(shù)碼管led數(shù)碼管(led segment displays)由多個發(fā)光二極管封裝在一起組成“質(zhì)字型的 器件,引線己在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。數(shù)碼管實際上是 由七個發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp 來表示。afbuccdcom圖32 7段led顯示器件外形圖在本系統(tǒng)中,4*4鍵盤共有16個鍵,對其編號09, af,所以用一個7段數(shù)碼管 靜態(tài)顯示即可滿足即吋顯示按鍵信息的要求

25、。所謂靜態(tài)顯示,就是當顯示器件某個字符 時,相應(yīng)的顯示段(發(fā)光二極管)恒定地導通或截止,直到顯示方式顯示一個字符吋, 只需要微處理器送一次代碼,因此占用機吋少,而且顯示穩(wěn)定可靠,其缺點是,使用元 器件相對較多,口線路比較復雜,相對而言成本較高,比較適合顯示位數(shù)較少的情況。 器件結(jié)構(gòu)如圖33所示。a a a a a a圖33 7段led顯示器件結(jié)構(gòu)圖3.2.2鍵盤結(jié)構(gòu)木系統(tǒng)中的4*4矩陣式鍵盤結(jié)構(gòu)簡單,按鍵數(shù)較少,采用非編碼式鍵盤,當有鍵盤 按下時,由單片機通過程序掃描確定鍵值,設(shè)計一個4*4矩陣鍵盤,也就是行為4,列 為4, 一共可以設(shè)計16個按鍵。并將獲得的鍵值通過led數(shù)碼管顯示出來,4*

26、4矩陣式 鍵盤結(jié)構(gòu)及鍵值分布如圖3-4所示。0123456789abcdef圖3-4鍵盤鍵值分布3. 3鍵盤掃描本設(shè)計一共有三個模塊,分別為:掃描電路模塊、時鐘產(chǎn)生模塊、鍵盤譯碼電路和 按鍵標志位產(chǎn)生電路。掃描模塊中是為了產(chǎn)生掃描信號,來利用掃描信號來掃描鍵盤中 中是否有按鍵按下。鍵盤譯碼電路和按鍵標志位產(chǎn)生電路是為了配合掃描模塊來掃描電 路中是否有按鍵按下,而且還要求它來產(chǎn)生按鍵標志信號,以便和外部電路握手。時鐘 產(chǎn)生電路是為了產(chǎn)生不同頻率的信號,來驅(qū)動上面兩個電路的運轉(zhuǎn)。行掃描法又稱為逐 行(或列)掃描查詢法,是一種最常用的按鍵識別方法,如上圖所示鍵盤,介紹過程如 下:1、判斷鍵盤中有無鍵

27、按下將全部行線y0-y3置低電平,然后檢測列線的狀態(tài)。只 要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行 線相交叉的4個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。2、判斷閉合 鍵所在的位置在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是:依次 將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位 置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的 行線交叉處的按鍵就是閉合的按鍵。4個模塊來實現(xiàn)鍵盤掃描功能,分別為即時掃描模 塊、掃描控制模塊、掃描脈沖模塊和鍵值傳送模塊。3.4矩陣鍵盤接口電路的原理在

28、鍵盤屮按鍵數(shù)量較多時,為了減少i/o 口的占用,通常將按鍵排列成矩陣形式。 在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連 接。這樣,一個端口就可以構(gòu)成4*4二16個按鍵,比之育接將端口線用于鍵盤多出了一 倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而育接 用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來 做鍵盤是合理的。矩陣式結(jié)構(gòu)的鍵盤顯然比宜接法要復雜一些,識別也要復雜一些,列 線通過電阻接正電源,并將行線所接的fpga的i/o 口作為輸出端,而列線所接的i/o 口則作為輸入。這樣,當按鍵沒有按下時,所有的

29、輸出端都是高電平,代表無鍵按下。 行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀 態(tài)就可得知是否有鍵按下了。第4章程序仿真4. 1流程圖本次設(shè)計的4*4矩陣鍵盤,作為輸入的有elk, start, kbcol,分別是時鐘信號,開 始,行輸入,作為輸出的有kbrow, scan, scg7_out分別是列掃描,數(shù)碼管位數(shù)以及輸出 結(jié)果即哪個鍵被按下,在程序仿真是我們給輸入一個隨機信號,若輸入是1, 2, 3, 4 行,那么會有相應(yīng)輸出產(chǎn)生,否則數(shù)碼管會顯示零,具體流程圖如4-1所示。圖4-1流程圖4. 2程序結(jié)果討論只使用一個數(shù)碼管顯示,通過隨機信號的不斷變化,會有

30、不同的輸出產(chǎn)生,周而復 始地掃描。其停留在某個狀態(tài)的時間大約為loniso更短的停留時間是沒有必要的,因 為人按鍵的時間大約為10ms,不可能有更快的按鍵動作發(fā)生。另外,更短的停留時間還容易采集到抖動信號,會干擾判斷。而太長的停留時間則會使某些較快的按鍵東走丟失。完成程序見附錄,部分主要程序如圖4-1。234567891011121314151617181920212223 module jianpan kbrowz seg7_outz scan,elk,starts kbcol); output3:0kbrow;output6:0seg7_out;output7:0scan;input el

31、k,start;input3:0kbcol;reg 3 : 0 k±)row;reg6:0 seg7_ou,c;reg7:0scan;reg1:0count;regl:0sea;reg6:0seg7;reg4:0dat;reg fn;initial scan<=,bl0000000;always®(posedge elk)s beginif (start=0)begin seg7<='b0000000;endelses begincount<=count+l;h case(count)| apis26.響 lianpan.vcompilation

32、report 旨禺 legal notice 爭e flow summaryflow summary唇bfl flow non-default global 爭開 flow elapsed time 冷flow os summary 爭閭 flow log uumpnckiuri nvpun - rivw dunini<siyflov statusquartux ii 64bi t version r«v: si on nftnotop-level entity nu毛 fftnilymetrequirsenlslorie ut 111zationgizterzissucces

33、sful stt jux 9.0 build 132 02/25/ ji gpmjigpgstratix iino< 1 %24 / 12, 480 ( < 1 %29 / 12,480 ( < 1 %2925 / 343 ( 7 % )00 / 419,328 ( 0 % )0/96 (0 % )0/6 ( 0 % )0/2 ( 0 % )ep2s15t484c3final圖4-1主要程序lold ti»e violation between source pin or register "3ea7(2j" and destination pi

34、n or reqlater rsea7_out2*reo for c r register "seg70" (data pm = "start", clock pin = "elk"j is 4.082 ns皿 clock *clk" to destination pin "seg7_ouclj" through register w3eg7_out1*rego" is 10.315 nsregister "daclw (data pin = "kbcolllclock pi

35、n = "elk") is -2.000 ns3 ii 64-bit classic timing analyzer was successful 0 errors, 3 warnings圖4-2程序結(jié)果第5章 波形仿真及討論5.1波形結(jié)果在本系統(tǒng)中,4*4鍵盤共有16個鍵,對其編號09, af,所以用一個7段數(shù)碼管 靜態(tài)顯示即可滿足即時顯示按鍵信息的要求。所謂靜態(tài)顯示,就是當顯示器件某個字符 時,相應(yīng)的顯示段(發(fā)光二極管)恒定地導通或截止,直到顯示方式顯示一個字符時, 只需要微處理器送一次代碼,因此占用機時少,而且顯示穩(wěn)定可靠,其缺點是,使用元 器件相對較多,且線路比較復

36、雜,相對而言成本較高,比較適合顯示位數(shù)較少的情況。 運行結(jié)果如圖5-1所示。i uumpiiiun nepuu * riuw oummaiy| sj »*«*«| omiuidiaxi ncpui - omiuiduuritime bar.15.075 n$ <| »| pointer200 p$interval: |14 88 n$start:opsend1.0u$)psio.9 ns20 .9 ns30.9 nswanei5.be15.075 “1elkaii111廠回 kbcola 1x15x10】>x8(toy9x 10s kbrov

37、ra (i(0)s sewa (ilors . .outa i0startain l"1 mji圖51波形結(jié)果5. 2結(jié)果討論本次課程設(shè)計主要是使用軟件quartusll和verilog語言進行編寫程序,從而達到 4*4矩陣鍵盤的目的,實現(xiàn)其相應(yīng)功能。首先輸入程序,程序正確之后,進行波形仿真, 由于不是實物,沒有鍵盤,所以通過給一個隨機信號來模擬某個鍵被按下,因此會出現(xiàn) 一些沒有的行數(shù),故而在波形仿真數(shù)碼管會產(chǎn)生0,這就是因為沒有相應(yīng)的列數(shù)有行數(shù) 對應(yīng),4*4矩陣,那么就只有4行4列,只有隨機信號產(chǎn)生1, 2, 3, 4,這幾行13寸,才 會有相應(yīng)的正確輸出產(chǎn)生。其次本次課程是仿真,

38、通過吋鐘信號來控制,所以吋鐘信號 一直有,就會一育進行循環(huán)列掃描,行掃描譯碼。當進行列掃描時,掃描信號由列引腳 進入鍵盤,以1000,、0100、0010、0001的順序每次掃描不同的一列,然后讀取行引腳 的電平信號,以此可以判斷是哪個按鍵被按下。例如,當行掃描信號為“0100”時,表 示正在掃描“89ab” 一列,如果該列沒有按鍵別按下,則由行信號讀出的值為“0000”; 反之,如果按鍵“9”被按下時,則該行信號讀出的值為“0100” o結(jié)論木次課題設(shè)計完成的是基于fpga的4*4矩陣鍵盤設(shè)計,通過一個多星期的不斷努 力、克服各種困難,最終實現(xiàn)了任務(wù)目標。木次設(shè)計解決的主要問題是是利用 ve

39、rilog hdl語言完成基于fpga的矩陣鍵盤的編程問題。矩陣式鍵盤是一種常見的輸入裝置,在日常?;钪?,矩陣式鍵盤在計算機、電話、 手機、微波爐等各式電子產(chǎn)品上己經(jīng)被廣泛應(yīng)用。各式各樣的矩陣鍵盤控制著各種各樣 的功能,矩陣式鍵盤控制接口電路是最基木的輸入電路,它我們利用軟件quartus ii自 行設(shè)計并修改的鍵盤輸入顯示電路是通過vhdl語言編寫并實現(xiàn)了鍵碼的對應(yīng)顯示。 并且發(fā)現(xiàn)許多的問題,還有很多需要改進的地方,設(shè)計的過程很有意思也非常繁瑣,再 利用quartus ii進行仿真的時候,要精心的對參數(shù)盡心設(shè)置,最后才能夠仿真出結(jié)果。在課程設(shè)計的過程中也可以看到我的不足,如原理知識掌握不實,

40、曾經(jīng)學過的知識 如今卻不會應(yīng)用,軟件的應(yīng)用也不熟練,希望日后提供給我們更多的鍛煉機會來培養(yǎng)我 們的實踐能力。參考文獻1 王志輝,林水生.基于fpga的鍵盤掃描模塊的設(shè)計實現(xiàn)j.電子元器件應(yīng)用2006,8 (2) : 84-862 王美麗,用fpga設(shè)計和制作鍵盤掃描儀表技術(shù)j 2008,10: 47-49許艷,文堂柳.基于fpga的鍵盤接口模塊設(shè)計j.民風2008:17-214李君,胡勝.一種新型的鍵盤掃描方式j(luò).控制工程,2004(sl): 125-14&李小亮,蔣華勤,董雪峰基于fpga的可鍵盤控制計數(shù)電路的設(shè)計與實現(xiàn)j.電子設(shè)計工 程,2011(8):154-156.f6 car

41、los h. llanos,ronald h. hurtado,sadek c. absi alfaro fpga-based approach for changdetection in gtaw welding process journal of the brazilian society of mechanical sciences andengineeringfj 2016 38 no.3:913-9297 shah, agaml intel starts baking speedy fpgas into chipsj.cio 2016: 9-158 張玲.基于fpga4m鍵盤掃描電

42、路設(shè)計j,計算機軟件與光盤應(yīng)用,2012(13):181-182.9 樊國梁,張曉燕.基于vhdl的鍵盤打描及顯示電路設(shè)計j,電子世界,2005(02):120-13010 尹唱唱,衛(wèi)阿盈.基于quartusii的數(shù)字電路設(shè)計研究j.中國科技信息,2009):75-8211 王艷玲.quartusii應(yīng)用于數(shù)字電路教學的研究j.中國科技信息,2009(02): 41-47.12 程繼航潢飛,石靜苑.quartusii在eda技術(shù)小的應(yīng)用j.電腦編程技巧及維護,2009(10):12-15附錄程序module dong(kbrow,seg7_out,scan,elk,start,kbcol);

43、output3:0 kbrow;列掃描信號output6:0seg7_out;/七段顯示控制信號 output7:0scan;/數(shù)碼管地址選擇控制信號 input elk,start;/掃描時鐘信號,開始信號,高電平有效 input3:0kbcol;/ 行掃描信號reg3:0kbrow;reg6:0seg7_out;reg 7:0 scan;regl:0count;regl:0sta;reg6:0seg7;reg4:0dat;reg fn;/按鍵標志位,判斷是否有鍵被按下initial scan<=*b 10000000;只使用一個數(shù)碼管顯示 always(posedge elk)beg

44、inif(start=o)begin seg7<='b0000000;endelsebegincount<=count+1;循環(huán)列擔描case(count)2'b00:begin kbrow<=,b0001 ;sta<='b00;end2'bo 1:begin kbrow<=,b0010;sta<='b01 ;end2'b 10:begin kbrow<=,b01 oo;sta<='b 10;end2'bl l:begin kbrow<='blooo;sta<='bl 1 ;endendcase/行掃描譯碼case(sta)2'b00:begincase(kbcol)4*b0001:begin seg76:0<=bl 111001 akbooo 11 ;end 4'b0010:begin seg7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論