




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、-. z. - - . -可修- .FPGA課程設(shè)計報告工程名稱 基于FPGA的4*4矩陣鍵盤的設(shè)計 專業(yè)班級 通信1 學(xué)生 指導(dǎo)教師 2016年 7 月 10 日字號的設(shè)置。字體的設(shè)置。西文字體的設(shè)置。如果沒有特殊說明,就選圖上的這個。說明:字體設(shè)置指下列圖。-. z.摘要本課程設(shè)計提出了基于FPGA的4*4矩陣鍵盤的設(shè)計,主要是在軟件Quartus II 9.0這個環(huán)境中,以硬件描述語言Verilog進(jìn)展編寫程序,從而完成矩陣鍵盤的相關(guān)設(shè)計。主要由矩陣式鍵盤電路、顯示電路等組成,實現(xiàn)過程是通過行掃描輸入隨機(jī)信號,列掃描判斷哪一個鍵被按下,并最后由數(shù)碼管顯示該按鍵。此次課程設(shè)計完成了4*4矩
2、陣鍵盤控制LED數(shù)碼管顯示系統(tǒng)的設(shè)計,該設(shè)計具有靈活性強(qiáng),易于操作,可靠性高,廣泛應(yīng)用于各種場合的特點,是進(jìn)展按鍵操作管理的有效方法,它可以提高系統(tǒng)準(zhǔn)確性,有利于資源的節(jié)約,降低對操作者本身的要求,并能正確、實時、高效地顯示按鍵信息,以提高工作效率和資源換利用率的意義。關(guān)鍵詞:數(shù)碼管; 矩陣鍵盤;按鍵;顯示電路-. z.AbstractThis course is designed based on FPGA is proposed 4 * 4 matri* keyboard design, mainly in the Quartus II software 9.0 this environm
3、ent, with the Verilog hardware description language program, so as to plete the related design of matri* keyboard. Main matri* keyboard circuit, display circuit and so on, plete the 4 * 4 matri* keyboard control LED digital tube display system design, the design has strong fle*ibility, easy operatio
4、n, high reliability, widely used in various occasions. Into 4 * 4 matri* keyboard control LED digital tube display system design, design fle*ibility is strong, easy to operate, high reliability, widely used in various occasions. Matri* keyboard control system, can improve efficiency, and is an effec
5、tive method to manage the keystrokes, it can improve the system accuracy, 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 re
6、sources in meaning.Keywords: Digital tube; Matri* keyboard; The key; Disply circuit-. z.目 錄 TOC o 1-3 f h z u HYPERLINK l _Toc309308615摘要 PAGEREF _Toc309308615 h IHYPERLINK l _Toc309308616Abstract PAGEREF _Toc309308616 h IIHYPERLINK l _Toc309308617第1章 緒論1HYPERLINK l _Toc3093086181.1 課題背景1HYPERLINK l
7、 _Toc3093086191.2 國外開展現(xiàn)狀1HYPERLINK l _Toc3093086221.3 本文主要研究容1HYPERLINK l _Toc309308623第2章 軟件及語言簡介2 HYPERLINK l _Toc309308624 2.1 Quartus軟件簡介3 HYPERLINK l _Toc309308625 2.2 Verilog語言簡介4HYPERLINK l _Toc3093086262.2.1 Verilog語言的主要功能4 HYPERLINK l _Toc309308626 2.2.2 Verilog語言設(shè)計數(shù)字系統(tǒng)的特點4HYPERLINK l _Toc3
8、09308628第3章 4*4矩陣鍵盤的原理6 HYPERLINK l _Toc309308624 3.1 4*4矩陣式鍵盤6 HYPERLINK l _Toc309308624 3.2 總體構(gòu)造6HYPERLINK l _Toc3093086263.2.1 LED數(shù)碼管8HYPERLINK l _Toc3093086263.2.2 鍵盤構(gòu)造9 HYPERLINK l _Toc309308624 3.3 鍵盤掃描9 HYPERLINK l _Toc309308624 3.4 矩陣鍵盤接口電路的原理9HYPERLINK l _Toc309308629第4章 程序調(diào)試11 HYPERLINK l
9、_Toc309308624 4.1 流程圖11 HYPERLINK l _Toc309308624 4.2 程序結(jié)果討論11HYPERLINK l _Toc309308630第5章 波形仿真及討論13 HYPERLINK l _Toc309308624 5.1 波形結(jié)果13 HYPERLINK l _Toc309308624 5.2 結(jié)果討論14 HYPERLINK l _Toc309308632 結(jié)論15 HYPERLINK l _Toc309308633 參考文獻(xiàn)16 HYPERLINK l _Toc309308634 附錄程序17 HYPERLINK l _Toc309308635 致1
10、9 緒論1.1 課題背景在現(xiàn)代的個人計算機(jī)系統(tǒng)中,一般都采用通用的標(biāo)準(zhǔn)鍵盤如標(biāo)準(zhǔn)鍵盤如:標(biāo)準(zhǔn)101/102鍵盤或Microsoft自然PS/2鍵盤來實現(xiàn)人與計算機(jī)之間的接口交互, 從而將需要的各種數(shù)據(jù)和指令等信息都通過鍵盤來輸人計算機(jī)。但是, 各種嵌人式系統(tǒng)如:手機(jī)、微波爐、電風(fēng)扇等所需的鍵盤的按鍵個數(shù)非常有限, 通常為幾個到十幾個不等而標(biāo)準(zhǔn)鍵盤通常為:一百多個按鍵并且每個按鍵所代表的功能含義也各不一樣。所以, 每一種嵌入式系統(tǒng)都應(yīng)對鍵盤包括鍵盤掃描模塊和相關(guān)控制信號等進(jìn)展專門設(shè)計, 以便結(jié)合工程實際情況充分利用該系統(tǒng)已有的各種資源, 使所設(shè)計的鍵盤很好地融合到嵌人式系統(tǒng)中1。在現(xiàn)代個人計算機(jī)
11、系統(tǒng)中, 一般都采用通用的標(biāo)準(zhǔn)鍵盤( 如: 標(biāo)準(zhǔn)101/102 鍵盤或Microsoft自然PS/2 鍵盤) 來實現(xiàn)人與計算機(jī)之間的接口交互, 所需要的各種數(shù)據(jù)和指令等信息都通過鍵盤來輸入計算機(jī)。但是, 在各種嵌入式系統(tǒng)( 如手機(jī)、微波爐、電風(fēng)扇等) 中, 所需要的鍵盤按鍵個數(shù)非常有限, 通常為幾個到十幾個不等( 而標(biāo)準(zhǔn)鍵盤通常為一百多個按鍵) , 并且每個按鍵所代表的功能含義也各不一樣。所以, 針對每一種嵌入式系統(tǒng)都應(yīng)對鍵盤( 包括鍵盤掃描模塊和相關(guān)控制信號等) 進(jìn)展專門設(shè)計, 結(jié)合工程實際情況充分利用該系統(tǒng)已有的各種資源, 使所設(shè)計的鍵盤恰如其分地融合到嵌入式系統(tǒng)中, 成為其不可分割的一局
12、部2。在數(shù)字電路中, 可以利用編碼器實現(xiàn)按鍵鍵值的直接編碼。將每個按鍵的輸出信號對應(yīng)連接到編碼器的每個輸入端, 通過編碼邏輯就可以在編碼器的輸出端得到對應(yīng)每個按鍵的碼值, 早期稱這種鍵盤為編碼鍵盤。但是,當(dāng)按鍵較多時數(shù)碼邏輯的本錢較高, 直接編碼的方法也不夠靈活, 一旦編碼邏輯固定就難以更改。在通用鍵盤上或當(dāng)按鍵數(shù)量較多時, 普遍采用掃描方式產(chǎn)生鍵值。將按鍵連接成矩陣, 每個按鍵位于*行、*列的交點上, 如圖1 所示, 先通過掃描方式確定按下鍵的行和列位, 即位置碼或掃描碼。再查表將位置碼轉(zhuǎn)換為按鍵碼值或者直接使用掃描碼,有些參考書稱此為非編碼鍵盤。但這種名稱容易讓人誤解為沒有對應(yīng)的鍵值, 因
13、此又稱為掃描式鍵盤3。1.2 國外開展現(xiàn)狀近年來EDA技術(shù)在電子領(lǐng)域引發(fā)的技術(shù)革命,推動著電子技術(shù)的迅猛開展,為世人所矚目,而FPGA為代表的可編程邏輯器件的應(yīng)用,更是受到業(yè)人士的普遍關(guān)注。伴隨著大規(guī)模集成電路和計算機(jī)技術(shù)的高速開展,在設(shè)計工業(yè)自動化,儀器儀表,計算機(jī)設(shè)計與應(yīng)用、通信、國防等領(lǐng)域的電子系統(tǒng)中,F(xiàn)PGA技術(shù)的含量正以驚人的速度提升。將盡可能大的完整的電子系統(tǒng)在單一FPGA芯片中實現(xiàn)已成為現(xiàn)實,電子類新技術(shù)工程的開發(fā)也更多地依賴于FPGA技術(shù)的應(yīng)用4。作為FPGA研究課題之一的矩陣鍵盤控制接口電路的設(shè)計,在FPGA設(shè)計中是一個經(jīng)常被提到的話題,就像是利用PFGA設(shè)計數(shù)字中一樣,雖然
14、簡單,但是卻是一個很有研究意義的話題,涉及到怎么樣才能是FPGA資源更加充分利用,現(xiàn)在很多電子產(chǎn)品都涉及到按鍵,小的有獨立按鍵,大的有N*N的矩陣鍵盤,獨立按鍵由于案件的個數(shù)少,也就沒必要考慮資源的利用問題了。而矩陣鍵盤,由于按鍵多,對整個系統(tǒng)的影響大,所以肯定要考慮資源的利用問題,而且還要考慮一下電路里面的時序問題。1.3 本文主要研究容本次設(shè)計要求設(shè)計一個4*4矩陣鍵盤,也就是行為4,列為4,一共可以設(shè)計16個按鍵。其中設(shè)計方法為:一般判斷鍵盤中有沒有按鍵按下是通過航線送入掃描信號,然后從列線中讀取狀態(tài)得到的,其方法是依次給行線送入低電平,檢查列線的輸入。如果列線信號趣味高電平,則代表低電
15、平信號所在的行中無按鍵按下,反之,則有,則在低電平信號所在的行和出現(xiàn)低電平的穿插處有按鍵按下。第2章 軟件及語言簡介2.1 QuartusII軟件簡介QuartusII是Altera公司的綜合性PLD/FPGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDLAlteraHardwareDescriptionLanguage等多種設(shè)計輸入形式,嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。QuartusII可以在*P、Linu*以及Uni*上使用,除了可以使用Tcl腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集
16、中,易學(xué)易用等特點。 QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度5。對第三方EDA工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。此外,Quartus II通過和DSP Builder工具與Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)SOPC開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。Ma*plus II 作為Altera的上一代PLD設(shè)計軟件,由于其出色
17、的易用性而得到了廣泛的應(yīng)用6。目前Altera已經(jīng)停頓了對Ma*plus II的更新支持,QuartusII與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在QuartusII中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計輔助工具,集成了SOPC和HardCopy設(shè)計流程,并且繼承了Ma*plus II 友好的圖形界面及簡便的使用方法7。Quartus II提供了完全集成且與電路構(gòu)造無關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計的全部特性,包括:可利用原理圖、構(gòu)造框圖、VerilogHDL、AHDL和VHDL完成電路描述,并將其保存為設(shè)計實體文
18、件;芯片電路平面布局連線編輯;LogicLock增量設(shè)計方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對原始系統(tǒng)的性能影響較小或無影響的后續(xù)模塊;功能強(qiáng)大的邏輯綜合工具;完備的電路功能仿真與時序邏輯仿真工具;定時/時序分析與關(guān)鍵路徑延時分析;可使用SignalTap II邏輯分析工具進(jìn)展嵌入式的邏輯分析;支持軟件源文件的添加和創(chuàng)立,并將它們起來生成編程文件;使用組合編譯方式可一次完成整體設(shè)計流程;自動定位編譯錯誤;高效的期間編程與驗證工具;可讀入標(biāo)準(zhǔn)的EDIF網(wǎng)表文件、VHDL網(wǎng)表文件和Verilog網(wǎng)表文件;能生成第三方EDA軟件使用的VHDL網(wǎng)表文件和Verilog網(wǎng)表文件8。2.2Verilog語
19、言簡介1983年,Gateway Design AutomationGDA硬件描述語言公司的Philip Moorby首創(chuàng)了Verilog HDL。后來Moorby成為Verilog HDL-*L的主要設(shè)計者和Cadence公司的第一合伙人。1984至1986年,Moorby設(shè)計出第一個關(guān)于VerilogHDL的仿真器,并提出了用于快速門級仿真的*L算法,使Verilog HDL語言得到迅速開展。1987年Synonsys公司開場使用Verilog HDL行為語言作為綜合工具的輸入。1989年Cadence公司收購了Gateway公司,Verilog HDL成為Cadence公司的私有財產(chǎn)。1
20、990年初,Cadence公司把Verilog HDL和Verilog HDL-*L分開,并公開發(fā)布了Verilog HDL。隨后成立的OVIOpen Verilog HDL International組織負(fù)責(zé)VerilogHDL的開展并制定有關(guān)標(biāo)準(zhǔn),OVI由Verilog HDL的使用者和CAE供給商組成。1993年,幾乎所有ASIC廠商都開場支持Verilog HDL,并且認(rèn)為VerilogHDL-*L是最好的仿真器。同時,OVI推出2.0版本的Verilong HDL規(guī),IEEE則將OVI的VerilogHDL2.0作為IEEE標(biāo)準(zhǔn)的提案9。1995年12月,IEEE制定了Verilog
21、 HDL的標(biāo)準(zhǔn)IEEE1364-1995。目前,最新的Verilog語言版本是2000年IEEE公布的Verilog 2001標(biāo)準(zhǔn),其大幅度地提高了系統(tǒng)級和可綜合性能HDL既是一種行為描述語言,也是一種構(gòu)造描述語言。如果按照一定的規(guī)則和風(fēng)格編寫代碼,就可以將功能行為模塊通過工具自動轉(zhuǎn)化為門級互連的構(gòu)造模塊。這意味著利用Verilog語言所提供的功能,就可以構(gòu)造一個模塊間的清晰構(gòu)造來描述復(fù)雜的大型設(shè)計,并對所需的邏輯電路進(jìn)展嚴(yán)格的設(shè)計10。2.2.1 Verilog語言的主要功能可描述順序執(zhí)行或并行執(zhí)行的程序構(gòu)造;用延遲表示式或事件表達(dá)式來明確地控制過程的啟動時間;通過命名的事件來觸發(fā)其他過程里
22、的激活行為或停頓行為;提供了條件和循環(huán)等程序構(gòu)造;提供了可帶參數(shù)且非零延續(xù)時間的任務(wù)程序構(gòu)造;提供了可定義新的操作符的函數(shù)構(gòu)造;提供了用于建立表達(dá)式的算術(shù)運算符、邏輯運算符和位運算符;提供了一套完整的表示組合邏輯根本元件的原語;提供了雙向通路和電阻器件的描述;可建立MOS器件的電荷分享和衰減模型;可以通過構(gòu)造性語句準(zhǔn)確地建立信號模型11。2.2.2 Verilog語言設(shè)計數(shù)字系統(tǒng)的特點 主要采用自上而下的設(shè)計方法。即從系統(tǒng)總體要求出發(fā),自上而下地逐步將設(shè)計的容細(xì)化,最后完成系統(tǒng)硬件的整體設(shè)計。在設(shè)計的過程中,對系統(tǒng)自上而下分成三個層次進(jìn)展設(shè)計:第一層次是行為描述。所謂行為描述,實質(zhì)上就是對整個
23、系統(tǒng)的數(shù)學(xué)模型的描述。一般來說,對系統(tǒng)進(jìn)展行為描述的目的是試圖在系統(tǒng)設(shè)計的初始階段,通過對系統(tǒng)行為描述的仿真來發(fā)現(xiàn)設(shè)計中存在的問題。在行為描述階段,并不真正考慮其實際的操作和算法用何種方法來實現(xiàn),而是考慮系統(tǒng)的構(gòu)造及其工作的過程是否能到達(dá)系統(tǒng)設(shè)計的要求。第二層次是RTL方式描述。這一層次稱為存放器傳輸描述又稱數(shù)據(jù)流描述。如前所述,用行為方式描述的系統(tǒng)構(gòu)造的程序,其抽象程度高,是很難直接映射到具體邏輯元件構(gòu)造的。要想得到硬件的具體實現(xiàn),必須將行為方式描述的VHDL語言程序改寫為RTL方式描述的VHDL語言程序。也就是說,系統(tǒng)采用RTL方式描述,才能導(dǎo)出系統(tǒng)的邏輯表達(dá)式,才能進(jìn)展邏輯綜合。第三層次
24、是邏輯綜合。即利用邏輯綜合工具,將RTL方式描述的程序轉(zhuǎn)換成用根本邏輯元件表示的文件門級網(wǎng)絡(luò)表。此時,如果需要,可將邏輯綜合的結(jié)果以邏輯原理圖的方式輸出。此后可對綜合的結(jié)果在門電路級上進(jìn)展仿真,并檢查其時序關(guān)系。應(yīng)用邏輯綜合工具產(chǎn)生的門級網(wǎng)絡(luò)表,將其轉(zhuǎn)換成PLD的編程碼點,即可利用PLD實現(xiàn)硬件電路的設(shè)計12。由自上而下的設(shè)計過程可知,從總體行為設(shè)計開場到最終的邏輯綜合,每一步都要進(jìn)展仿真檢查,這樣有利于盡早發(fā)現(xiàn)設(shè)計中存在的問題,從而可以大大縮短系統(tǒng)的設(shè)計周期。-. z.4*4矩陣鍵盤的原理3.1 4*4矩陣式鍵盤矩陣式鍵盤或者叫行列式鍵盤常應(yīng)用在按鍵數(shù)量比擬多的系統(tǒng)之中。這種鍵盤由行線和列線
25、組成,按鍵設(shè)置在行、列構(gòu)造的穿插點上,行、列線分別接在按鍵開關(guān)的兩端。行列式鍵盤可分為非編碼鍵盤和編碼鍵盤兩大類。編碼鍵盤部設(shè)有鍵盤編碼器,被按下鍵的鍵號由鍵盤編碼器直接給出,同時具有防抖和解決重鍵的功能。非編碼鍵盤通常采用軟件的方法,逐行逐列檢查鍵盤狀態(tài),當(dāng)有鍵按下時,通過計算或查表的方法獲取該鍵的鍵值,通常,計算機(jī)通過程序控制對鍵盤掃描,從而獲取鍵值,根據(jù)計算機(jī)掃描的方法可以分為定是掃描法和中斷掃描法兩種,原理構(gòu)造如圖3-1所示。圖3-1 4*4矩陣鍵盤原理構(gòu)造框圖3.2 總體構(gòu)造由行列式鍵盤原理就可以知道,要正確的完成鍵盤輸入工作必須有按鍵掃描電路產(chǎn)生clk信號。同時還必須有按鍵譯碼電路
26、從kbrow信號和kbcol信號中譯碼出按鍵的值。此外,一般還需要一個按鍵發(fā)生信號用于和其他模塊接口,通知其他模塊鍵盤上有按鍵動作發(fā)生,并可以從鍵盤上讀取按鍵的鍵值。由于各個模塊需要的時鐘頻率是不一樣的,因此時鐘產(chǎn)生模塊就是用于產(chǎn)生各個模塊需要的時鐘信號。在本次課程設(shè)計中,最為重要的兩局部就是數(shù)碼管顯示電路以及鍵盤構(gòu)造,這兩局部的組成,形成了4*4矩陣鍵盤,通過鍵盤輸入,數(shù)碼管進(jìn)展顯示。3.2.1 LED數(shù)碼管led數(shù)碼管LED Segment Displays由多個發(fā)光二極管封裝在一起組成8字型的器件,引線已在部連接完成,只需引出它們的各個筆劃,公共電極。數(shù)碼管實際上是由七個發(fā)光管組成8字形
27、構(gòu)成的,加上小數(shù)點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示。圖3-2 7段LED顯示器件外形圖在本系統(tǒng)中,4*4鍵盤共有16個鍵,對其編號09,AF,所以用一個7段數(shù)碼管靜態(tài)顯示即可滿足即時顯示按鍵信息的要求。所謂靜態(tài)顯示,就是當(dāng)顯示器件*個字符時,相應(yīng)的顯示段發(fā)光二極管恒定地導(dǎo)通或截止,直到顯示方式顯示一個字符時,只需要微處理器送一次代碼,因此占用機(jī)時少,而且顯示穩(wěn)定可靠,其缺點是,使用元器件相對較多,且線路比擬復(fù)雜,相對而言本錢較高,比擬適合顯示位數(shù)較少的情況。器件構(gòu)造如圖3-3所示。圖3-3 7段LED顯示器件構(gòu)造圖3.2.2 鍵盤構(gòu)造本系統(tǒng)中的4*4矩陣式鍵盤構(gòu)
28、造簡單,按鍵數(shù)較少,采用非編碼式鍵盤,當(dāng)有鍵盤按下時,由單片機(jī)通過程序掃描確定鍵值,設(shè)計一個4*4矩陣鍵盤,也就是行為4,列為4,一共可以設(shè)計16個按鍵。并將獲得的鍵值通過LED數(shù)碼管顯示出來,4*4矩陣式鍵盤構(gòu)造及鍵值分布如圖3-4所示。圖3-4鍵盤鍵值分布3.3 鍵盤掃描本設(shè)計一共有三個模塊,分別為:掃描電路模塊、時鐘產(chǎn)生模塊、鍵盤譯碼電路和按鍵標(biāo)志位產(chǎn)生電路。掃描模塊中是為了產(chǎn)生掃描信號,來利用掃描信號來掃描鍵盤中中是否有按鍵按下。鍵盤譯碼電路和按鍵標(biāo)志位產(chǎn)生電路是為了配合掃描模塊來掃描電路中是否有按鍵按下,而且還要求它來產(chǎn)生按鍵標(biāo)志信號,以便和外部電路握手。時鐘產(chǎn)生電路是為了產(chǎn)生不同頻
29、率的信號,來驅(qū)動上面兩個電路的運轉(zhuǎn)。行掃描法又稱為逐行或列掃描查詢法,是一種最常用的按鍵識別方法,如上圖所示鍵盤,介紹過程如下:1、判斷鍵盤中有無鍵按下 將全部行線Y0-Y3置低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相穿插的4個按鍵之中。假設(shè)所有列線均為高電平,則鍵盤中無鍵按下。2、判斷閉合鍵所在的位置 在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過程。其方法是:依次將行線置為低電平,即在置*根行線為低電平時,其它線為高電平。在確定*根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。假設(shè)*列為低,則該列線與置為低電平的行線穿插處
30、的按鍵就是閉合的按鍵。4個模塊來實現(xiàn)鍵盤掃描功能, 分別為即時掃描模塊、掃描控制模塊、掃描脈沖模塊和鍵值傳送模塊。3.4 矩陣鍵盤接口電路的原理在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在穿插處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比方再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵9鍵。由此可見,在需要的鍵數(shù)比擬多時,采用矩陣法來做鍵盤是合理的。矩陣式構(gòu)造的鍵盤顯然比直接法要復(fù)雜一些,識別也要復(fù)雜一些,列線
31、通過電阻接正電源,并將行線所接的FPGA的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。第4章 程序仿真4.1 流程圖本次設(shè)計的4*4矩陣鍵盤,作為輸入的有clk, start,kbcol,分別是時鐘信號,開場,行輸入,作為輸出的有kbrow,scan,seg7_out分別是列掃描,數(shù)碼管位數(shù)以及輸出結(jié)果即哪個鍵被按下,在程序仿真是我們給輸入一個隨機(jī)信號,假設(shè)輸入是1,2,3,4行,則會有相應(yīng)輸出產(chǎn)生,否則數(shù)碼管會顯示零,具體
32、流程圖如4-1所示。開場輸入隨機(jī)信號,列掃描否是否有鍵被按下是識別哪一個鍵被按下圖4-1流程圖4.2 程序結(jié)果討論只使用一個數(shù)碼管顯示,通過隨機(jī)信號的不斷變化,會有不同的輸出產(chǎn)生,周而復(fù)始地掃描。其停留在*個狀態(tài)的時間大約為10ms。更短的停留時間是沒有必要的,因為人按鍵的時間大約為10ms,不可能有更快的按鍵動作發(fā)生。另外,更短的停留時間還容易采集到抖動信號,會干擾判斷。而太長的停留時間則會使*些較快的按鍵東走喪失。完成程序見附錄,局部主要程序如圖4-1。圖4-1主要程序圖4-2 程序結(jié)果第5章 波形仿真及討論5.1 波形結(jié)果在本系統(tǒng)中,4*4鍵盤共有16個鍵,對其編號09,AF,所以用一個
33、7段數(shù)碼管靜態(tài)顯示即可滿足即時顯示按鍵信息的要求。所謂靜態(tài)顯示,就是當(dāng)顯示器件*個字符時,相應(yīng)的顯示段發(fā)光二極管恒定地導(dǎo)通或截止,直到顯示方式顯示一個字符時,只需要微處理器送一次代碼,因此占用機(jī)時少,而且顯示穩(wěn)定可靠,其缺點是,使用元器件相對較多,且線路比擬復(fù)雜,相對而言本錢較高,比擬適合顯示位數(shù)較少的情況。運行結(jié)果如圖5-1所示。圖5-1 波形結(jié)果5.2 結(jié)果討論本次課程設(shè)計主要是使用軟件QuartusII和Verilog語言進(jìn)展編寫程序,從而到達(dá)4*4矩陣鍵盤的目的,實現(xiàn)其相應(yīng)功能。首先輸入程序,程序正確之后,進(jìn)展波形仿真,由于不是實物,沒有鍵盤,所以通過給一個隨機(jī)信號來模擬*個鍵被按下,
34、因此會出現(xiàn)一些沒有的行數(shù),故而在波形仿真數(shù)碼管會產(chǎn)生0,這就是因為沒有相應(yīng)的列數(shù)有行數(shù)對應(yīng),4*4矩陣,則就只有4行4列,只有隨機(jī)信號產(chǎn)生1,2,3,4,這幾行時,才會有相應(yīng)的正確輸出產(chǎn)生。其次本次課程是仿真,通過時鐘信號來控制,所以時鐘信號一直有,就會一直進(jìn)展循環(huán)列掃描,行掃描譯碼。當(dāng)進(jìn)展列掃描時,掃描信號由列引腳進(jìn)入鍵盤,以1000,、0100、0010、0001的順序每次掃描不同的一列,然后讀取行引腳的電平信號,以此可以判斷是哪個按鍵被按下。例如,當(dāng)行掃描信號為0100時,表示正在掃描89AB一列,如果該列沒有按鍵別按下,則由行信號讀出的值為0000;反之,如果按鍵9被按下時,則該行信號
35、讀出的值為0100。-. z.結(jié)論本次課題設(shè)計完成的是基于FPGA的4*4矩陣鍵盤設(shè)計,通過一個多星期的不斷努力、克制各種困難,最終實現(xiàn)了任務(wù)目標(biāo)。本次設(shè)計解決的主要問題是是利用verilogHDL語言完成基于FPGA的矩陣鍵盤的編程問題。矩陣式鍵盤是一種常見的輸入裝置,在日常生活中,矩陣式鍵盤在計算機(jī)、手機(jī)、微波爐等各式電子產(chǎn)品上已經(jīng)被廣泛應(yīng)用。各式各樣的矩陣鍵盤控制著各種各樣的功能,矩陣式鍵盤控制接口電路是最根本的輸入電路,它我們利用軟件Quartus II自行設(shè)計并修改的鍵盤輸入顯示電路是通過VHDL語言編寫并實現(xiàn)了鍵碼的對應(yīng)顯示。并且發(fā)現(xiàn)許多的問題,還有很多需要改良的地方,設(shè)計的過程很
36、有意思也非常繁瑣,再利用Quartus II進(jìn)展仿真的時候,要精心的對參數(shù)盡心設(shè)置,最后才能夠仿真出結(jié)果。在課程設(shè)計的過程中也可以看到我的缺乏,如原理知識掌握不實,曾經(jīng)學(xué)過的知識如今卻不會應(yīng)用,軟件的應(yīng)用也不熟練,希望日后提供給我們更多的鍛煉時機(jī)來培養(yǎng)我們的實踐能力。參考文獻(xiàn)1 王志輝,林水生. 基于FPGA的鍵盤掃描模塊的設(shè)計實現(xiàn)J. 電子元器件應(yīng)用2006,8 (2) :84-86 2 王美麗, 用FPGA設(shè)計和制作鍵盤掃描儀表技術(shù)J 2008,10:47-49 3 許艷,文堂柳. 基于FPGA的鍵盤接口模塊設(shè)計J. 民風(fēng)2008:17-214 君,胡勝.一種新型的鍵盤掃描方式J.控制工程
37、,2004(S1):125-148.5 小亮,華勤,董雪峰.基于FPGA的可鍵盤控制計數(shù)電路的設(shè)計與實現(xiàn)J.電子設(shè)計工程,2011(8):154-156.6 Carlos 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 andEngineeringJ 2016 38No.3:913-9297 Shah, Aga
38、m1 Intel starts baking speedyFPGAsinto chipsJ.CIO2016:9-158 玲.基于FPGA4*4鍵盤掃描電路設(shè)計J,計算機(jī)軟件與光盤應(yīng)用,2012(13):181-182.9 樊國梁,曉燕.基于VHDL的鍵盤掃描及顯示電路設(shè)計J, 電子世界,2005(02):120-130 10 唱唱,衛(wèi)阿盈.基于Quartus的數(shù)字電路設(shè)計研究J.中國科技信息,2009(21):75-8211 王艷玲.Quartus應(yīng)用于數(shù)字電路教學(xué)的研究J.中國科技信息,2009(02):41-47.12 程繼航,黃飛,石靜苑.Quartus在EDA技術(shù)中的應(yīng)用J.電腦編程技
39、巧及維護(hù),2009(10):12-15-. z.附錄程序module dong(kbrow,seg7_out,scan,clk,start,kbcol);output3:0kbrow;/列掃描信號output6:0seg7_out;/七段顯示控制信號output7:0scan;/數(shù)碼管地址選擇控制信號input clk,start;/掃描時鐘信號,開場信號,高電平有效input3:0kbcol;/行掃描信號reg3:0kbrow;reg6:0seg7_out;reg7:0scan;reg1:0count;reg1:0sta;reg6:0seg7;reg4:0dat;reg fn;/按鍵標(biāo)志位,判斷是否有鍵被按下initial scan=b10000000;/只使用一個數(shù)碼管顯示always(posedge clk)beginif(start=0) begin seg7=b0000000;endelse begin count=count+1;/循環(huán)列掃描 case(count) 2b00:begin kbrow=b0001;sta=b00;end 2b01:begin kbrow=b0010;sta=b01;end 2b10:begin kbrow=b0100;sta=b10;end 2b11:b
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鍋爐施工方案
- 園林小品施工方案
- 河源城市道路畫線施工方案
- 室內(nèi)混凝土地面拆除施工方案
- 瀘定瀝青路面施工方案
- 實習(xí)經(jīng)驗發(fā)言稿
- 云南農(nóng)業(yè)大棚種植施工方案
- 崇川鐵路隔音屏施工方案
- 體育比賽發(fā)言稿
- 期中考試教師發(fā)言稿
- 2024-2025學(xué)年新教材高中語文 第六單元 13.2 裝在套子里的人教案 部編版必修下冊
- 中央2024年中國醫(yī)學(xué)科學(xué)院血液學(xué)研究所血液病醫(yī)院招聘17人筆試歷年典型考題及考點附答案解析
- 產(chǎn)調(diào)授權(quán)委托書模板
- JBT 14732-2024《中碳和中碳合金鋼滾珠絲杠熱處理技術(shù)要求》
- 【直播帶貨發(fā)展前景探究:以抖音平臺為例6700字(論文)】
- 2024入贅協(xié)議書范本
- 2024屆江蘇省蘇北七市(南通)高三二??荚囉⒄Z試題讀后續(xù)寫思路分析My best examination 講義
- 計算機(jī)系統(tǒng)原理13015習(xí)題答案
- 2024年益陽醫(yī)學(xué)高等專科學(xué)校單招職業(yè)技能測試題庫及答案解析
- 臨床實驗室精液常規(guī)檢驗中國專家共識
- 《新能源發(fā)電技術(shù)第2版》 課件全套 朱永強(qiáng) 第1-10章 能源概述- 分布式發(fā)電與能源互補(bǔ)
評論
0/150
提交評論