版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、FPGAM程設(shè)計(jì)報(bào)告項(xiàng)目名稱基于FPGA勺4*4矩陣鍵盤的設(shè)計(jì)專業(yè)班級(jí)通彳1學(xué)生姓名張指導(dǎo)教師2016年7月10日摘要本課程設(shè)計(jì)提出了基于FPGA勺4*4矩陣鍵盤的設(shè)計(jì),主要是在軟件QuartusII9.0這個(gè)環(huán)境中,以硬件描述語(yǔ)言Verilog進(jìn)行編寫程序,從而完成矩陣鍵盤的相關(guān)設(shè)計(jì)。主要由矩陣式鍵盤電路、顯示電路等組成,實(shí)現(xiàn)過(guò)程是通過(guò)行掃描輸入隨機(jī)信號(hào),列掃描判斷哪一個(gè)鍵被按下,并最后由數(shù)碼管顯示該按鍵。此次課程設(shè)計(jì)完成了4*4矩陣鍵盤控制LED數(shù)碼管顯示系統(tǒng)的設(shè)計(jì),該設(shè)計(jì)具有靈活性強(qiáng),易于操作,可靠性高,廣泛應(yīng)用于各種場(chǎng)合的特點(diǎn),是進(jìn)行按鍵操作管理的有效方法,它可以提高系統(tǒng)準(zhǔn)確性,有利于
2、資源的節(jié)約,降低對(duì)操作者本身的要求,并能正確、實(shí)時(shí)、高效地顯示按鍵信息,以提高工作效率和資源換利用率的意義。關(guān)鍵詞:數(shù)碼管;矩陣鍵盤;按鍵;顯示電路AbstractThiscourseisdesignedbasedonFPGAisproposed4*4matrixkeyboarddesign,mainlyintheQuartusIIsoftware9.0thisenvironment,withtheVeriloghardwaredescriptionlanguageprogram,soastocompletetherelateddesignofmatrixkeyboard.Mainmatrix
3、keyboardcircuit,displaycircuitandsoon,completethe4*4matrixkeyboardcontrolLEDdigitaltubedisplaysystemdesign,thedesignhasstrongflexibility,easyoperation,highreliability,widelyusedinvariousoccasions.Into4*4matrixkeyboardcontrolLEDdigitaltubedisplaysystemdesign,designflexibilityisstrong,easytooperate,hi
4、ghreliability,widelyusedinvariousoccasions.Matrixkeyboardcontrolsystem,canimproveefficiency,andisaneffectivemethodtomanagethekeystrokes,itcanimprovethesystemaccuracy,andisconducivetoresourcesavingandreducetherequirementoftheoperatoritself,andcorrectly,real-timeandefficienttoshowthekeyinformation,ino
5、rdertoimprovetheworkefficiencyandtheutilizationratioofresourcesinmeaning.Keywords:Digitaltube;Matrixkeyboard;Thekey;Displycircuit目錄摘要IAbstractII第1章緒論11.1 課題背景11.2 國(guó)內(nèi)外發(fā)展現(xiàn)狀11.3 本文主要研究?jī)?nèi)容1第2章軟件及語(yǔ)言簡(jiǎn)介22.1 Quartus軟件簡(jiǎn)介32.2 Verilog語(yǔ)言簡(jiǎn)介42.2.1 Verilog語(yǔ)言的主要功能42.2.2 Verilog語(yǔ)言設(shè)計(jì)數(shù)字系統(tǒng)的特點(diǎn)4第3章4*4矩陣鍵盤的原理63.1 4*4矩陣式鍵盤6
6、3.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.2 結(jié)果討論14結(jié)論15參考文獻(xiàn)16附錄程序17致謝19第1章緒論1.1 課題背景在現(xiàn)代的個(gè)人計(jì)算機(jī)系統(tǒng)中,一般都采用通用的標(biāo)準(zhǔn)鍵盤如標(biāo)準(zhǔn)鍵盤(如:標(biāo)準(zhǔn)101/102鍵盤或Microsoft自然PS/2鍵盤)來(lái)實(shí)現(xiàn)人與計(jì)算機(jī)之間的接口交互,從而將需要的各種數(shù)據(jù)和指令等信息都通過(guò)鍵盤來(lái)輸人計(jì)算機(jī)。但是,各種嵌人式系統(tǒng)(如:手機(jī)、微波爐、電風(fēng)扇等)所需的鍵盤的按鍵個(gè)數(shù)非常有限,
7、通常為幾個(gè)到十幾個(gè)不等(而標(biāo)準(zhǔn)鍵盤通常為:一百多個(gè)按鍵并且每個(gè)按鍵所代表的功能含義也各不相同。所以,每一種嵌入式系統(tǒng)都應(yīng)對(duì)鍵盤(包括鍵盤掃描模塊和相關(guān)控制信號(hào)等)進(jìn)行專門設(shè)計(jì),以便結(jié)合工程實(shí)際情況充分利用該系統(tǒng)已有的各種資源,使所設(shè)計(jì)的鍵盤很好地融合到嵌人式系統(tǒng)中10在現(xiàn)代個(gè)人計(jì)算機(jī)系統(tǒng)中,一般都采用通用的標(biāo)準(zhǔn)鍵盤(如:標(biāo)準(zhǔn)101/102鍵盤或Microsoft自然PS/2鍵盤)來(lái)實(shí)現(xiàn)人與計(jì)算機(jī)之間的接口交互,所需要的各種數(shù)據(jù)和指令等信息都通過(guò)鍵盤來(lái)輸入計(jì)算機(jī)。但是,在各種嵌入式系統(tǒng)(如手機(jī)、微波爐、電風(fēng)扇等)中,所需要的鍵盤按鍵個(gè)數(shù)非常有限,通常為幾個(gè)到十幾個(gè)不等(而標(biāo)準(zhǔn)鍵盤通常為一百多個(gè)按
8、鍵),并且每個(gè)按鍵所代表的功能含義也各不相同。所以,針對(duì)每一種嵌入式系統(tǒng)都應(yīng)對(duì)鍵盤(包括鍵盤掃描模塊和相關(guān)控制信號(hào)等)進(jìn)行專門設(shè)計(jì),結(jié)合工程實(shí)際情況充分利用該系統(tǒng)已有的各種資源,使所設(shè)計(jì)的鍵盤恰如其分地融合到嵌入式系統(tǒng)中,成為其不可分割的一部分2。在數(shù)字電路中,可以利用編碼器實(shí)現(xiàn)按鍵鍵值的直接編碼。將每個(gè)按鍵的輸出信號(hào)對(duì)應(yīng)連接到編碼器的每個(gè)輸入端,通過(guò)編碼邏輯就可以在編碼器的輸出端得到對(duì)應(yīng)每個(gè)按鍵的碼值,早期稱這種鍵盤為編碼鍵盤。但是,當(dāng)按鍵較多時(shí)數(shù)碼邏輯的成本較高,直接編碼的方法也不夠靈活,一旦編碼邏輯固定就難以更改。在通用鍵盤上或當(dāng)按鍵數(shù)量較多時(shí),普遍采用掃描方式產(chǎn)生鍵值。將按鍵連接成矩陣
9、,每個(gè)按鍵位于某行、某列的交點(diǎn)上,如圖1所示,先通過(guò)掃描方式確定按下鍵的行和列位,即位置碼或掃描碼。再查表將位置碼轉(zhuǎn)換為按鍵碼值或者直接使用掃描碼,有些參考書稱此為“非編碼鍵盤”。但這種名稱容易讓人誤解為沒有對(duì)應(yīng)的鍵值,因此又稱為掃描式鍵盤冏。1.2 國(guó)內(nèi)外發(fā)展現(xiàn)狀近年來(lái)ED微術(shù)在電子領(lǐng)域引發(fā)的技術(shù)革命,推動(dòng)著電子技術(shù)的迅猛發(fā)展,為世人所矚目,而FPG的代表的可編程邏輯器件的應(yīng)用,更是受到業(yè)內(nèi)人士的普遍關(guān)注。伴隨著大規(guī)模集成電路和計(jì)算機(jī)技術(shù)的高速發(fā)展,在設(shè)計(jì)工業(yè)自動(dòng)化,儀器儀表,計(jì)算機(jī)設(shè)計(jì)與應(yīng)用、通信、國(guó)防等領(lǐng)域的電子系統(tǒng)中,F(xiàn)PG部術(shù)的含量正以驚人的速度提升。將盡可能大的完整的電子系統(tǒng)在單一
10、FPG盛片中實(shí)現(xiàn)已成為現(xiàn)實(shí),電子類新技術(shù)項(xiàng)目的開發(fā)也更多地依賴于FPG技術(shù)的應(yīng)用4。作為FPGAF究課題之一的矩陣鍵盤控制接口電路的設(shè)計(jì),在FPG般計(jì)中是一個(gè)經(jīng)常被提到的話題,就像是利用PFG般計(jì)數(shù)字中一樣,雖然簡(jiǎn)單,但是卻是一個(gè)很有研究意義的話題,涉及到怎么樣才能是FPG族源更加充分利用,現(xiàn)在很多電子產(chǎn)品都涉及到按鍵,小的有獨(dú)立按鍵,大的有N*N勺矩陣鍵盤,獨(dú)立按鍵由于案件的個(gè)數(shù)少,也就沒必要考慮資源的利用問(wèn)題了。而矩陣鍵盤,由于按鍵多,對(duì)整個(gè)系統(tǒng)的影響大,所以肯定要考慮資源的利用問(wèn)題,而且還要考慮一下電路里面的時(shí)序問(wèn)題。1.3 本文主要研究?jī)?nèi)容本次設(shè)計(jì)要求設(shè)計(jì)一個(gè)4*4矩陣鍵盤,也就是行為
11、4,列為4,一共可以設(shè)計(jì)16個(gè)按鍵。其中設(shè)計(jì)方法為:一般判斷鍵盤中有沒有按鍵按下是通過(guò)航線送入掃描信號(hào),然后從列線中讀取狀態(tài)得到的,具方法是依次給行線送入低電平,檢查列線的輸入。如果列線信號(hào)趣味高電平,則代表低電平信號(hào)所在的行中無(wú)按鍵按下,反之,則有,則在低電平信號(hào)所在的行和出現(xiàn)低電平的交叉處有按鍵按下。第2章軟件及語(yǔ)言簡(jiǎn)介2.1 QuartusII軟件簡(jiǎn)介QuartusII是Altera公司的綜合性PLD/FPGA開發(fā)軟件,支持原理圖、VHDLVerilogHDL以及AHDLAlteraHardwareDescriptionLanguage)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可
12、以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫(kù),使用戶可以充分利用成熟的模塊,簡(jiǎn)化了設(shè)計(jì)的復(fù)雜性、加快了設(shè)計(jì)速度5。對(duì)第三方EDA工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方EDA工具。此外,QuartusII通過(guò)和DSPBuilder工具與Matlab/Simulink相結(jié)合,可以方便地實(shí)現(xiàn)各種DS
13、P應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC開發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開發(fā)平臺(tái)。MaxplusII作為Altera的上一代PLD設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用6。目前Altera已經(jīng)停止了對(duì)MaxplusII的更新支持,QuartusII與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在QuartusII中包含了許多諸如SignalTapII、ChipEditor和RTLViewer的設(shè)計(jì)輔助工具,集成了SOPG口HardCopy設(shè)計(jì)流程,并且繼承了MaxplusII友好的圖形界面及簡(jiǎn)便的使用方法7。Qua
14、rtusII提供了完全集成且與電路結(jié)構(gòu)無(wú)關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計(jì)的全部特性,包括:可利用原理圖、結(jié)構(gòu)框圖、VerilogHDL、AHDLffiVHD戈成電路描述,并將其保存為設(shè)計(jì)實(shí)體文件;芯片(電路)平面布局連線編輯;LogicLock增量設(shè)計(jì)方法,用戶可建立并優(yōu)化系統(tǒng),然后添加對(duì)原始系統(tǒng)的性能影響較小或無(wú)影響的后續(xù)模塊;功能強(qiáng)大的邏輯綜合工具;完備的電路功能仿真與時(shí)序邏輯仿真工具;定時(shí)/時(shí)序分析與關(guān)鍵路徑延時(shí)分析;可使用SignalTapII邏輯分析工具進(jìn)行嵌入式的邏輯分析;支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來(lái)生成編程文件;使用組合編譯方式可一次完成整體設(shè)計(jì)流程;自動(dòng)定位編譯
15、錯(cuò)誤;高效的期間編程與驗(yàn)證工具;可讀入標(biāo)準(zhǔn)的EDIF網(wǎng)表文件、VHDLM表文件和Verilog網(wǎng)表文件;能生成第三方EDA次件使用的VHDW表文件和Verilog網(wǎng)表文件網(wǎng)。2.2 Verilog語(yǔ)言簡(jiǎn)介1983年,GatewayDesignAutomation(GDA硬件描述語(yǔ)言公司的PhilipMoorby首創(chuàng)了VerilogHDL。后來(lái)Moorby成為VerilogHDL-XL的主要設(shè)計(jì)者和Cadence公司的第一合伙人。1984至1986年,Moorby設(shè)計(jì)出第一個(gè)關(guān)于VerilogHDL的仿真器,并提出了用于快速門級(jí)仿真的XL算法,使VerilogHDL語(yǔ)言得到迅速發(fā)展。1987年S
16、ynonsys公司開始使用VerilogHDL行為語(yǔ)言作為綜合工具的輸入。1989年Cadence公司收購(gòu)了Gateway公司,VerilogHDL成為Cadence公司的私有財(cái)產(chǎn)。1990年初,Cadence公司把VerilogHDL和VerilogHDL-XL分開,并公開發(fā)布了VerilogHDL隨后成立的OVI(OpenVerilogHDLInternational)組織負(fù)責(zé)VerilogHDL的發(fā)展并制定有關(guān)標(biāo)準(zhǔn),OVI由VerilogHDL的使用者和CAE供應(yīng)商組成。1993年,幾乎所有ASIC廠商都開始支持VerilogHDL并且認(rèn)為VerilogHDL-XL是最好的仿真器。同時(shí),
17、OVI推出2.0版本的VerilongHDL®范,IEEE則將OVI的VerilogHDL2.0作為IEEE標(biāo)準(zhǔn)的提案9。1995年12月,IEEE制定了VerilogHDU勺標(biāo)準(zhǔn)IEEE1364-1995。目前,最新的Verilog語(yǔ)言版本是2000年IEEE公布的Verilog2001標(biāo)準(zhǔn),其大幅度地提高了系統(tǒng)級(jí)和可綜合性能HDLKE是一種行為描述語(yǔ)言,也是一種結(jié)構(gòu)描述語(yǔ)言。如果按照一定的規(guī)則和風(fēng)格編寫代碼,就可以將功能行為模塊通過(guò)工具自動(dòng)轉(zhuǎn)化為門級(jí)互連的結(jié)構(gòu)模塊。這意味著利用Verilog語(yǔ)言所提供的功能,就可以構(gòu)造一個(gè)模塊間的清晰結(jié)構(gòu)來(lái)描述復(fù)雜的大型設(shè)計(jì),并對(duì)所需的邏輯電路進(jìn)
18、行嚴(yán)格的設(shè)計(jì)10o2.2.1 Verilog語(yǔ)言的主要功能可描述順序執(zhí)行或并行執(zhí)行的程序結(jié)構(gòu);用延遲表示式或事件表達(dá)式來(lái)明確地控制過(guò)程的啟動(dòng)時(shí)間;通過(guò)命名的事件來(lái)觸發(fā)其他過(guò)程里的激活行為或停止行為;提供了條件和循環(huán)等程序結(jié)構(gòu);提供了可帶參數(shù)且非零延續(xù)時(shí)間的任務(wù)程序結(jié)構(gòu);提供了可定義新的操作符的函數(shù)結(jié)構(gòu);提供了用于建立表達(dá)式的算術(shù)運(yùn)算符、邏輯運(yùn)算符和位運(yùn)算符;提供了一套完整的表示組合邏輯基本元件的原語(yǔ);提供了雙向通路和電阻器件的描述;可建立MO潴件的電荷分享和衰減模型;可以通過(guò)構(gòu)造性語(yǔ)句精確地建立信號(hào)模型1112.2.2 Verilog語(yǔ)言設(shè)計(jì)數(shù)字系統(tǒng)的特點(diǎn)主要采用自上而下的設(shè)計(jì)方法。即從系統(tǒng)總
19、體要求出發(fā),自上而下地逐步將設(shè)計(jì)的內(nèi)容細(xì)化,最后完成系統(tǒng)硬件的整體設(shè)計(jì)。在設(shè)計(jì)的過(guò)程中,對(duì)系統(tǒng)自上而下分成三個(gè)層次進(jìn)行設(shè)計(jì):第一層次是行為描述。所謂行為描述,實(shí)質(zhì)上就是對(duì)整個(gè)系統(tǒng)的數(shù)學(xué)模型的描述。一般來(lái)說(shuō),對(duì)系統(tǒng)進(jìn)行行為描述的目的是試圖在系統(tǒng)設(shè)計(jì)的初始階段,通過(guò)對(duì)系統(tǒng)行為描述的仿真來(lái)發(fā)現(xiàn)設(shè)計(jì)中存在的問(wèn)題。在行為描述階段,并不真正考慮其實(shí)際的操作和算法用何種方法來(lái)實(shí)現(xiàn),而是考慮系統(tǒng)的結(jié)構(gòu)及其工作的過(guò)程是否能到達(dá)系統(tǒng)設(shè)計(jì)的要求。第二層次是RTL方式描述。這一層次稱為寄存器傳輸描述(又稱數(shù)據(jù)流描述)。如前所述,用行為方式描述的系統(tǒng)結(jié)構(gòu)的程序,其抽象程度高,是很難直接映射到具體邏輯元件結(jié)構(gòu)的。要想得到
20、硬件的具體實(shí)現(xiàn),必須將行為方式描述的VHDM言程序改寫為RTL方式描述的VHD印言程序。也就是說(shuō),系統(tǒng)采用RTL方式描述,才能導(dǎo)出系統(tǒng)的邏輯表達(dá)式,才能進(jìn)行邏輯綜合。第三層次是邏輯綜合。即利用邏輯綜合工具,將RTL方式描述的程序轉(zhuǎn)換成用基本邏輯元件表示的文件(門級(jí)網(wǎng)絡(luò)表)。此時(shí),如果需要,可將邏輯綜合的結(jié)果以邏輯原理圖的方式輸出。此后可對(duì)綜合的結(jié)果在門電路級(jí)上進(jìn)行仿真,并檢查其時(shí)序關(guān)系。應(yīng)用邏輯綜合工具產(chǎn)生的門級(jí)網(wǎng)絡(luò)表,將其轉(zhuǎn)換成PLD的編程碼點(diǎn),即可利用PLD實(shí)現(xiàn)硬件電路的設(shè)計(jì)12。由自上而下的設(shè)計(jì)過(guò)程可知,從總體行為設(shè)計(jì)開始到最終的邏輯綜合,每一步都要進(jìn)行仿真檢查,這樣有利于盡早發(fā)現(xiàn)設(shè)計(jì)中
21、存在的問(wèn)題,從而可以大大縮短系統(tǒng)的設(shè)計(jì)周期。第3章4*4矩陣鍵盤的原理3.1 4*4矩陣式鍵盤矩陣式鍵盤(或者叫行列式鍵盤)常應(yīng)用在按鍵數(shù)量比較多的系統(tǒng)之中。這種鍵盤由行線和列線組成,按鍵設(shè)置在行、列結(jié)構(gòu)的交叉點(diǎn)上,行、列線分別接在按鍵開關(guān)的兩端。行列式鍵盤可分為非編碼鍵盤和編碼鍵盤兩大類。編碼鍵盤內(nèi)部設(shè)有鍵盤編碼器,被按下鍵的鍵號(hào)由鍵盤編碼器直接給出,同時(shí)具有防抖和解決重鍵的功能。非編碼鍵盤通常采用軟件的方法,逐行逐列檢查鍵盤狀態(tài),當(dāng)有鍵按下時(shí),通過(guò)計(jì)算或查表的方法獲取該鍵的鍵值,通常,計(jì)算機(jī)通過(guò)程序控制對(duì)鍵盤掃描,從而獲取鍵值,根據(jù)計(jì)算機(jī)掃描的方法可以分為定是掃描法和中斷掃描法兩種,原理結(jié)
22、構(gòu)如圖3-1所示。圖3-14*4矩陣鍵盤原理結(jié)構(gòu)框圖3.2 總體結(jié)構(gòu)由行列式鍵盤原理就可以知道,要正確的完成鍵盤輸入工作必須有按鍵掃描電路產(chǎn)生clk信號(hào)。同時(shí)還必須有按鍵譯碼電路從kbrow信號(hào)和kbcol信號(hào)中譯碼出按鍵的值。此外,一般還需要一個(gè)按鍵發(fā)生信號(hào)用于和其他模塊接口,通知其他模塊鍵盤上有按鍵動(dòng)作發(fā)生,并可以從鍵盤上讀取按鍵的鍵值。由于各個(gè)模塊需要的時(shí)鐘頻率是不一樣的,因此時(shí)鐘產(chǎn)生模塊就是用于產(chǎn)生各個(gè)模塊需要的時(shí)鐘信號(hào)。在本次課程設(shè)計(jì)中,最為重要的兩部分就是數(shù)碼管顯示電路以及鍵盤結(jié)構(gòu),這兩部分的組成,形成了4*4矩陣鍵盤,通過(guò)鍵盤輸入,數(shù)碼管進(jìn)行顯示。3.2.1 LED數(shù)碼管led數(shù)
23、碼管(LEDSegmentDisplays)由多個(gè)發(fā)光二極管封裝在一起組成“阱型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個(gè)筆劃,公共電極。數(shù)碼管實(shí)際上是由七個(gè)發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點(diǎn)就是8個(gè)。這些段分別由字母a,b,c,d,e,f,g,dp來(lái)表示。CCVJ圖3-27段LED顯示器件外形圖在本系統(tǒng)中,4*4鍵盤共有16個(gè)鍵,對(duì)其編號(hào)09,AF,所以用一個(gè)7段數(shù)碼管靜態(tài)顯示即可滿足即時(shí)顯示按鍵信息的要求。所謂靜態(tài)顯示,就是當(dāng)顯示器件某個(gè)字符時(shí),相應(yīng)的顯示段(發(fā)光二極管)恒定地導(dǎo)通或截止,直到顯示方式顯示一個(gè)字符時(shí),只需要微處理器送一次代碼,因此占用機(jī)時(shí)少,而且顯示穩(wěn)定可靠,具缺點(diǎn)是
24、,使用元器件相對(duì)較多,且線路比較復(fù)雜,相對(duì)而言成本較高,比較適合顯示位數(shù)較少的情況。器件結(jié)構(gòu)如圖3-3所示。圖3-37段LED顯示器件結(jié)構(gòu)圖3.2.2 鍵盤結(jié)構(gòu)本系統(tǒng)中的4*4矩陣式鍵盤結(jié)構(gòu)簡(jiǎn)單,按鍵數(shù)較少,采用非編碼式鍵盤,當(dāng)有鍵盤按下時(shí),由單片機(jī)通過(guò)程序掃描確定鍵值,設(shè)計(jì)一個(gè)4*4矩陣鍵盤,也就是行為4,列為4,一共可以設(shè)計(jì)16個(gè)按鍵。并將獲得的鍵值通過(guò)LEDR碼管顯示出來(lái),4*4矩陣式鍵盤結(jié)構(gòu)及鍵值分布如圖3-4所示。EHEUIZ圖3-4鍵盤鍵值分布3.3 鍵盤掃描本設(shè)計(jì)一共有三個(gè)模塊,分別為:掃描電路模塊、時(shí)鐘產(chǎn)生模塊、鍵盤譯碼電路和按鍵標(biāo)志位產(chǎn)生電路。掃描模塊中是為了產(chǎn)生掃描信號(hào),來(lái)
25、利用掃描信號(hào)來(lái)掃描鍵盤中中是否有按鍵按下。鍵盤譯碼電路和按鍵標(biāo)志位產(chǎn)生電路是為了配合掃描模塊來(lái)掃描電路中是否有按鍵按下,而且還要求它來(lái)產(chǎn)生按鍵標(biāo)志信號(hào),以便和外部電路握手。時(shí)鐘產(chǎn)生電路是為了產(chǎn)生不同頻率的信號(hào),來(lái)驅(qū)動(dòng)上面兩個(gè)電路的運(yùn)轉(zhuǎn)。行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法,如上圖所示鍵盤,介紹過(guò)程如下:1、判斷鍵盤中有無(wú)鍵按下將全部行線Y0-Y3置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有列線均為高電平,則鍵盤中無(wú)鍵按下。2、判斷閉合鍵所在的位置在確認(rèn)有鍵按下后,即可進(jìn)入確
26、定具體閉合鍵的過(guò)程。其方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。4個(gè)模塊來(lái)實(shí)現(xiàn)鍵盤掃描功能,分別為即時(shí)掃描模塊、掃描控制模塊、掃描脈沖模塊和鍵值傳送模塊。3.4 矩陣鍵盤接口電路的原理在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比
27、如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤是合理的。矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些,列線通過(guò)電阻接正電源,并將行線所接的FPGA勺I/O作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒有按下時(shí),所有的輸出端都是高電平,代表無(wú)鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過(guò)讀入輸入線的狀態(tài)就可得知是否有鍵按下了。第4章程序仿真4.1 流程圖本次設(shè)計(jì)的4*4矩陣鍵盤,作為輸入的有clk,start,kbcol,分別是時(shí)鐘信號(hào),開始,行輸入,作為輸出的有kbr
28、ow,scan,seg7_out分別是列掃描,數(shù)碼管位數(shù)以及輸出結(jié)果即哪個(gè)鍵被按下,在程序仿真是我們給輸入一個(gè)隨機(jī)信號(hào),若輸入是1,2,3,4行,那么會(huì)有相應(yīng)輸出產(chǎn)生,否則數(shù)碼管會(huì)顯示零,具體流程圖如4-1所示。否圖4-1流程圖4.2 程序結(jié)果討論只使用一個(gè)數(shù)碼管顯示,通過(guò)隨機(jī)信號(hào)的不斷變化,會(huì)有不同的輸出產(chǎn)生,周而復(fù)始地掃描。具停留在某個(gè)狀態(tài)的時(shí)間大約為10ms更短的停留時(shí)間是沒有必要的,因?yàn)槿税存I的時(shí)間大約為10ms不可能有更快的按鍵動(dòng)作發(fā)生。另外,更短的停留時(shí)間還容易采集到抖動(dòng)信號(hào),會(huì)干擾判斷。而太長(zhǎng)的停留時(shí)間則會(huì)使某些較快的按鍵東走丟失。完成程序見附錄,部分主要程序如圖4-11 Hmo
29、dulejianpan(ktbrow,.seg7_outfsc.auifelk,start,Itbcol);2 output3:0kbrow;3 outputfi:0seg7_out;4 output;7:0scan;5 inputclkfstart;6 input3:0kbcol;7reg3-Brec69rec710rec111rec112rec613rec40kbrow;0seg7_out;0scan;Qcount;sta;Qseg7;Qdat;14 regfn;15initial3can<=曲1日vLDHrionb«rweensourceploorreglsMi*HgT(
30、iZ"*口曰desx.lRtilonplodfreglii:sr"Hegcni:2-EtgO"Corc:EtgltcczrHg'i,|D"dacapin-TmMclocacpls-djis%盹Znssiclock"elk"topin*Mg7_Diic11"GtiiooffliregiBT:er.髓。Jcuc工-mqtT19ID.315kheegls&erdacll"plD1"kbeol13"el&eMpic"clii")is-3。口tlbIIsq-BJ
31、.1ClaasleIlflUnjAnalyEerwaasLZ«ssful.0erzorff3口出臣,口口甘圖4-2程序結(jié)果圖5-1波形結(jié)果bl0a000a0;16 always(posedgeelk)17 begin18 if(start=0)19beginseg7<=lb0000000;end20 else21 Sbegin22 count<=count+1;23 Hcase(count-=一1圖4-1主要程序0p-anpanx縉日CoMpilffbohReport昌當(dāng)LtgalNk»dceFlawSummary亨UFlowSettingsFlowNori-D
32、efsuHGlobalFlawElapsedTiiwieFlowQ£RuEEiiiy品mFlowLeg住鳥Analysis-&爾nF哥Fitter尸身AMUTiWetfLtilTimingAnalyziFlowSummary£avtuJIXGMIlEVae1!LrmRtVisi4aTrp-lev«lEntitfNiftwFhhiItMttlikingL口jgjicatHilati«nSTicctTffnl-St%Jw電。Bmld02出.j孫jWfH-iStifvUx口的<1sZ3L£顏(<3129pL&M(C1292
33、5Z343(TIS)QD/4L9.32fi(0%)0/96(0*:i0/6(0*)Cl/?(OX)EP2S15F4M3Find.第5章波形仿真及討論5.1 波形結(jié)果在本系統(tǒng)中,4*4鍵盤共有16個(gè)鍵,對(duì)其編號(hào)09,AF,所以用一個(gè)7段數(shù)碼管靜態(tài)顯示即可滿足即時(shí)顯示按鍵信息的要求。所謂靜態(tài)顯示,就是當(dāng)顯示器件某個(gè)字符時(shí),相應(yīng)的顯示段(發(fā)光二極管)恒定地導(dǎo)通或截止,直到顯示方式顯示一個(gè)字符時(shí),只需要微處理器送一次代碼,因此占用機(jī)時(shí)少,而且顯示穩(wěn)定可靠,具缺點(diǎn)是,使用元器件相對(duì)較多,且線路比較復(fù)雜,相對(duì)而言成本較高,比較適合顯示位數(shù)較少的情況。運(yùn)行結(jié)果如圖5-1所示。TinwBa*15.075nt小
34、200昨IrUeoral:-14.88ntSlstOpsEnd1.0u$5.2 結(jié)果討論本次課程設(shè)計(jì)主要是使用軟件QuartusII和Verilog語(yǔ)言進(jìn)行編寫程序,從而達(dá)到4*4矩陣鍵盤的目的,實(shí)現(xiàn)其相應(yīng)功能。首先輸入程序,程序正確之后,進(jìn)行波形仿真,由于不是實(shí)物,沒有鍵盤,所以通過(guò)給一個(gè)隨機(jī)信號(hào)來(lái)模擬某個(gè)鍵被按下,因此會(huì)出現(xiàn)一些沒有的行數(shù),故而在波形仿真數(shù)碼管會(huì)產(chǎn)生0,這就是因?yàn)闆]有相應(yīng)的列數(shù)有行數(shù)對(duì)應(yīng),4*4矩陣,那么就只有4行4歹1,只有隨機(jī)信號(hào)產(chǎn)生1,2,3,4,這幾行時(shí),才會(huì)有相應(yīng)的正確輸出產(chǎn)生。其次本次課程是仿真,通過(guò)時(shí)鐘信號(hào)來(lái)控制,所以時(shí)鐘信號(hào)一直有,就會(huì)一直進(jìn)行循環(huán)列掃描,行
35、掃描譯碼。當(dāng)進(jìn)行列掃描時(shí),掃描信號(hào)由列引腳進(jìn)入鍵盤,以1000,、0100、0010、0001的順序每次掃描不同的一列,然后讀取行引腳的電平信號(hào),以此可以判斷是哪個(gè)按鍵被按下。例如,當(dāng)行掃描信號(hào)為“0100”時(shí),表示正在掃描"89AB'一列,如果該列沒有按鍵別按下,則由行信號(hào)讀出的值為“0000”;反之,如果按鍵“9”被按下時(shí),則該行信號(hào)讀出的值為“0100”。結(jié)論本次課題設(shè)計(jì)完成的是基于FPGA的4*4矩陣鍵盤設(shè)計(jì),通過(guò)一個(gè)多星期的不斷努力、克服各種困難,最終實(shí)現(xiàn)了任務(wù)目標(biāo)。本次設(shè)計(jì)解決的主要問(wèn)題是是利用verilogHDL語(yǔ)言完成基于FPGA的矩陣鍵盤的編程問(wèn)題。矩陣式鍵
36、盤是一種常見的輸入裝置,在日常生活中,矩陣式鍵盤在計(jì)算機(jī)、電話、手機(jī)、微波爐等各式電子產(chǎn)品上已經(jīng)被廣泛應(yīng)用。各式各樣的矩陣鍵盤控制著各種各樣的功能,矩陣式鍵盤控制接口電路是最基本的輸入電路,它我們利用軟件QuartusII自行設(shè)計(jì)并修改的鍵盤輸入顯示電路是通過(guò)VHDL語(yǔ)言編寫并實(shí)現(xiàn)了鍵碼的對(duì)應(yīng)顯示。并且發(fā)現(xiàn)許多的問(wèn)題,還有很多需要改進(jìn)的地方,設(shè)計(jì)的過(guò)程很有意思也非常繁瑣,再利用QuartusII進(jìn)行仿真的時(shí)候,要精心的對(duì)參數(shù)盡心設(shè)置,最后才能夠仿真出結(jié)果。在課程設(shè)計(jì)的過(guò)程中也可以看到我的不足,如原理知識(shí)掌握不實(shí),曾經(jīng)學(xué)過(guò)的知識(shí)如今卻不會(huì)應(yīng)用,軟件的應(yīng)用也不熟練,希望日后提供給我們更多的鍛煉機(jī)會(huì)
37、來(lái)培養(yǎng)我們的實(shí)踐能力。參考文獻(xiàn)1王志輝,林水生.基于FPGA的鍵盤掃描模塊的設(shè)計(jì)實(shí)現(xiàn)J.電子元器件應(yīng)用2006,8(2):84-862王美麗,用FPGA設(shè)計(jì)和制作鍵盤掃描儀表技術(shù)J2008,10:47-493許艷,文堂柳.基于FPGA的鍵盤接口模塊設(shè)計(jì)J.民風(fēng)2008:17-214李君,胡勝.一種新型的鍵盤掃描方式J.控制工程,2004(S1):125-148.5李小亮,蔣華勤,董雪峰.基于FPGA的可鍵盤控制計(jì)數(shù)電路的設(shè)計(jì)與實(shí)現(xiàn)J.電子設(shè)計(jì)工程,2011(8):154-156.6 CarlosH.Llanos,RonaldH.Hurtado,SadekC.AbsiAlfaroFPGA-bas
38、edapproachforchangdetectioninGTAWweldingprocessJournaloftheBrazilianSocietyofMechanicalSciencesandEngineeringJ201638No.3:913-9297 Shah,Agam1IntelstartsbakingspeedyFPGAsintochipsJ.CIO2016:9-158張玲.基于FPGA4*4鍵盤掃描電路設(shè)計(jì)J,計(jì)算機(jī)軟件與光盤應(yīng)用,2012(13):181-182.9樊國(guó)梁,張曉燕.基于VHDL的鍵盤掃描及顯示電路設(shè)計(jì)J,電子世界,2005(02):120-13010尹唱唱,衛(wèi)阿
39、盈.基于Quartusn的數(shù)字電路設(shè)計(jì)研究J.中國(guó)科技信息,2009(21):75-8211王艷玲.Quartusn應(yīng)用于數(shù)字電路教學(xué)的研究J.中國(guó)科技信息,2009(02):41-47.12程繼航,黃飛,石靜苑.Quartusn在EDA技術(shù)中的應(yīng)用J.電腦編程技巧及維護(hù),2009(10):12-15附錄程序moduledong(kbrow,seg7_out,scan,clk,start,kbcol);output3:0kbrow;/列掃描信號(hào)output6:0seg7_out;/七段顯示控制信號(hào)output7:0scan;/數(shù)碼管地址選擇控制信號(hào)inputclk,start;/掃描時(shí)鐘信號(hào),
40、開始信號(hào),高電平有效input3:0kbcol;/行掃描信號(hào)reg3:0kbrow;reg6:0seg7_out;reg7:0scan;reg1:0count;reg1:0sta;reg6:0seg7;reg4:0dat;regfn;/按鍵標(biāo)志位,判斷是否有鍵被按下initialscan<='b10000000;/只使用一個(gè)數(shù)碼管顯示always(posedgeclk)beginif(start=0)beginseg7<='b0000000;endelsebegincount<=count+1;/循環(huán)列掃描case(count)2'b00:begink
41、brow<='b0001;sta<='b00;end2'b01:beginkbrow<='b0010;sta<='b01;end2'b10:beginkbrow<='b0100;sta<='b10;end2'b11:beginkbrow<='b1000;sta<='b11;endendcase偉掃描譯碼case(sta)2'b00:begincase(kbcol)4'b0001:beginseg76:0<='b1111001;dat<='b00011;end4'b0010:beginseg76:0<='b1101101;dat<='b00010;end4'b0100:beginseg76:0<='b0110000;dat<='b000
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)冰箱行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)美容培訓(xùn)行業(yè)資本規(guī)劃與股權(quán)融資戰(zhàn)略制定與實(shí)施研究報(bào)告
- 建設(shè)施工過(guò)程職業(yè)病危害防治總結(jié)報(bào)告
- 肇慶市中小學(xué)教學(xué)質(zhì)量評(píng)估2012屆高中畢業(yè)班第二次模擬試題數(shù)學(xué)(理)
- 浙江中乾計(jì)量校準(zhǔn)有限公司介紹企業(yè)發(fā)展分析報(bào)告
- 軟件評(píng)估報(bào)告范例怎么寫
- 一年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)集錦
- 年產(chǎn)毛竹纖維粉生物基可降解材料項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)備案
- 年產(chǎn)15萬(wàn)噸(折百)稀硝酸及10萬(wàn)噸濃硝酸項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)備案
- 二零二五年度技術(shù)服務(wù)合同標(biāo)的和技術(shù)要求
- 2024年八年級(jí)班主任德育工作個(gè)人總結(jié)
- 《健康社區(qū)評(píng)價(jià)標(biāo)準(zhǔn)》
- 戶外市場(chǎng)研究報(bào)告-魔鏡洞察-202412
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之2:“1至3章:范圍、術(shù)語(yǔ)和定義”(雷澤佳編制-2025B0)
- 甘肅省會(huì)寧二中2025屆高考仿真模擬數(shù)學(xué)試卷含解析
- 節(jié)約集約建設(shè)用地標(biāo)準(zhǔn) DG-TJ08-2422-2023
- 《氮化硅陶瓷》課件
- 樓面經(jīng)理述職報(bào)告
- 山東省濟(jì)南市歷城區(qū)2024-2025學(xué)年二年級(jí)上學(xué)期期末數(shù)學(xué)模擬檢測(cè)卷(含答案)
- 心衰病的中醫(yī)治療
- 肌力的評(píng)定與護(hù)理
評(píng)論
0/150
提交評(píng)論