版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述有限狀態(tài)機(jī)(finite-statemachine,縮寫(xiě):FSM)又稱(chēng)有限狀態(tài)自動(dòng)機(jī),簡(jiǎn)稱(chēng)狀態(tài)機(jī),是表示有限個(gè)狀態(tài)以及在這些狀態(tài)之間轉(zhuǎn)移和動(dòng)作等行為的數(shù)學(xué)模型。狀態(tài)機(jī)由狀態(tài)寄存器和組合邏輯電路構(gòu)成,能夠根據(jù)控制信號(hào)按照預(yù)先設(shè)定的狀態(tài)進(jìn)行狀態(tài)轉(zhuǎn)移,協(xié)調(diào)相關(guān)信號(hào)動(dòng)作,完成特定操作的控制。在VHDL程序設(shè)計(jì)的實(shí)用時(shí)序邏輯系統(tǒng)中,狀態(tài)機(jī)是應(yīng)用廣泛的電路模塊,其在運(yùn)行速度的高效、執(zhí)行時(shí)間的確定性和高可靠性方面都顯現(xiàn)出強(qiáng)大的優(yōu)勢(shì)。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富?1項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述________________________1.狀態(tài)機(jī)_______狀態(tài)機(jī)是以描述控制特性為主的建模方法,它可以應(yīng)用于從系統(tǒng)分析到設(shè)計(jì)的__所有階段。狀態(tài)機(jī)的基本操作有兩種:(1)
狀態(tài)機(jī)內(nèi)部狀態(tài)轉(zhuǎn)換狀態(tài)機(jī)內(nèi)部狀態(tài)轉(zhuǎn)換操作使?fàn)顟B(tài)機(jī)經(jīng)歷一系列狀態(tài),下一狀態(tài)由狀態(tài)譯碼器根據(jù)當(dāng)前狀態(tài)和輸入條件決定。(2)產(chǎn)生輸出信號(hào)序列產(chǎn)生輸出信號(hào)序列操作是根據(jù)當(dāng)前狀態(tài)和輸入條件確定輸出信號(hào),由輸出譯碼器輸出信號(hào)。__典型的狀態(tài)機(jī)有兩種:Mealy狀態(tài)機(jī)和Moore狀態(tài)機(jī)。___________________________________________________________電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富,_______項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述________________________2.—般狀態(tài)機(jī)的VHDL程序描述______一般狀態(tài)機(jī)的結(jié)構(gòu)如圖6,9所示,狀態(tài)機(jī)的VHDL程序描述通常用枚舉類(lèi)數(shù)據(jù)類(lèi)型___來(lái)定義狀態(tài)機(jī)的狀態(tài),使用多進(jìn)程方式來(lái)描述狀態(tài)機(jī)的內(nèi)部邏輯。通常包括說(shuō)明部分、_______主控時(shí)序進(jìn)程、主控組合進(jìn)程和輔助進(jìn)程等。elk吋鐘reset復(fù)位stateinputs輸入信號(hào)圖6.9—般狀態(tài)機(jī)的結(jié)構(gòu)結(jié)構(gòu)框圖電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富_________?J【一認(rèn)一1
I主控時(shí)序進(jìn)程主控組合進(jìn)程nextstate次態(tài)(S+)現(xiàn)態(tài)(S)currentstatecontroloutputs_輸!」5{言號(hào)項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述(1)
說(shuō)明部分說(shuō)明部分一般放在結(jié)構(gòu)體的architecture和begin之間,用枚舉型數(shù)據(jù)類(lèi)型定義狀態(tài)機(jī)的狀態(tài)名。(2)主控時(shí)序進(jìn)程主控時(shí)序進(jìn)程是實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換的進(jìn)程。(3)主控組合進(jìn)程主控組合進(jìn)程的功能是狀態(tài)譯碼,向外部發(fā)出控制信號(hào),確定下一狀態(tài)的走向。(4)輔助進(jìn)程輔助進(jìn)程用于配合狀態(tài)機(jī)工作的組合、時(shí)序進(jìn)程或配合狀態(tài)機(jī)工作的其他時(shí)序進(jìn)程。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??___項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述【例6.11雙進(jìn)程描述的狀態(tài)機(jī)endarchitecturebehave;說(shuō)明部分:使用type語(yǔ)句定義狀態(tài)機(jī)狀態(tài)進(jìn)程P1為主控時(shí)序進(jìn)程,在“dk”上升沿時(shí),狀態(tài)機(jī)的狀態(tài)由當(dāng)前態(tài)“current-state"向次態(tài)“nextstate”轉(zhuǎn)變。進(jìn)程P2為主控組合進(jìn)程;根據(jù)當(dāng)前狀態(tài)‘‘current_state”與輸入信號(hào)“state」nputs”確定次態(tài)的狀態(tài)。進(jìn)程間通過(guò)“current_state’’、“next_state”信號(hào)傳遞信息。libiaiyieee;useieee.stdlogic1164.all;useieee.stdlogicunsigned.all;useieee.std_logic_aiith.all;entitys_machineispoi1(clk.reset:instd_logic;slate_iiiputs:iiistd_logic_vectoi(0to1):controloutputs:outstdlogievector(0to1));P2:process(ciiiient_state,state_iuputs)—i控組合進(jìn)程begincasecurreutstateiswhenS0=>coDtiol_outputs<="00";-輸出當(dāng)前狀態(tài)的控制值ifstate_inpiits^,OOr,then--根據(jù)外部輸入的值確定次態(tài)的走向next_state<=SO;elsenext_state<=Sl;endif;whenSl=>contiol_outpiits<="01”;ifstateJbnputsJ’OO”thennext_state<=Sl;elsenext_state<=S2;eudif;whenS2=>controloutputs<=HIO'1;ifstate_inptits=”ir”thennext_state<=S2;elsenext_state<=S3;endif;whenS3=>contiol_outputs<="11";ifstateinpiits^'lT'thennext^state<=S3;elsenext_state<=SO;endentitys_machine;architecturebehaveofsmacliineistypestatesis(SO,SI,S2,S3);--定義states為枚舉數(shù)據(jù)類(lèi)型signalcuirent_state,Dext_state:states;beginPl:process(ieset,clk)beginifreset='rthencunent_state<=SO;elsifclk=Tandelk'eventthen--上升沿觸發(fā)currentstate<=nextstate;-當(dāng)前態(tài)轉(zhuǎn)換為次態(tài)endif;endif;Piirlrficp-eudprocessPl;endprocess;電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述________________________例6.1程序編譯后,在QuartusII13,0集成環(huán)境,選擇【Tool】菜單[Netlist__Viewers】選項(xiàng)【RTLViewer】命令,將產(chǎn)生例6.1描述的狀態(tài)機(jī)的寄存器傳輸級(jí)綜合效果圖,如圖6.10所示。clkl->resetl^^^-stateinputsJ0..1ircurrent^stateelkSOresetS1stateinputs[1..01S2control_outputs~0control」)iitputs-1—ontrol_outputs[0..1l圖6.10寄存器傳輸級(jí)綜合效果圖RTL_____________________________________________________電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富_____________?J【一認(rèn)一1
I項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述例6,1程序編譯后,在QuartusII13,0集成環(huán)境,選擇【Tool】菜單[NetlistViewers】選項(xiàng)【StateMachineViewer】命令,將產(chǎn)生例6.1描述的狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖,如圖6.11所示。圖<5.11狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖電子工業(yè)出版社《麗應(yīng)服術(shù)》編制徧《W?項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述例6.1程序的功能仿真結(jié)果,如圖6.12所示?!觥鯥
Wave-Defaultj抱-番H品4&I*略*£20:
I||參(211‘姑'1邊85||里I會(huì)一4|肺~:團(tuán)?1_5^劃咨1]&-*1,?電,囑||t』JETIBl>|iitV3_;,■?£■>l_Search:啤y丁[今‘|圖6.12狀態(tài)機(jī)功能仿真圖從圖中可知,狀態(tài)的轉(zhuǎn)變與輸出值的改變,與輸入時(shí)鐘的上升沿同步,與輸入信號(hào)“statejnputs”不同步。在55ms處,輸入信號(hào)“statejnputs”由“01”變?yōu)椤?1”,但輸出與狀態(tài)并沒(méi)有發(fā)生改變(control_outputs=10),在70ms“clk”上升沿處,輸出狀態(tài)還是“10”態(tài)沒(méi)有A改變。這是由于當(dāng)前態(tài)是S2狀態(tài),根據(jù)程序可知當(dāng)前態(tài)是S2態(tài),輸入信號(hào)“statejnputs”值為“11”時(shí),狀態(tài)轉(zhuǎn)換是由S2態(tài)轉(zhuǎn)向S2態(tài),因而,狀態(tài)沒(méi)有發(fā)生改變。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富?J匕、、1—1項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述3.Moore狀態(tài)機(jī)的VHDL程序描述Moore有限狀態(tài)機(jī)輸出只與當(dāng)前狀態(tài)有關(guān),與輸入信號(hào)的當(dāng)前值無(wú)關(guān),是嚴(yán)格的現(xiàn)態(tài)函數(shù)。Moore有限狀態(tài)機(jī)的典型結(jié)構(gòu),如圖6.13所示。輸入狀汾衣e川介邏講態(tài)NextstateD寄Qf
,幌u存TZ>器組合電路輸出*Yk=fk(S)覘態(tài)SCuirent_state圖6.13Moore狀態(tài)機(jī)的典型結(jié)構(gòu)電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述【例6.2】Moore狀態(tài)機(jī)的描述Iibraiyieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.a11;useieee.std_logic_aiith.all;entitymooreispoil(clk,reset:iustdlogic;data_in:iiistdlogic;dataout:outstdlogievector(3dowuto0));eudentitymoore;architecturebehaveofmooreistypestates_typeis(SO,S1,S2,S3);--定義state$_t)pe為枚舉數(shù)裾類(lèi)型signalstate:states_type;--聲明信號(hào)state為states_type數(shù)據(jù)類(lèi)型Pl:piocess(reset,clk)--主控時(shí)序進(jìn)程beginifreset='O,thenstate<=SO;elsifclk='l'andelk'eventthen--上升沿觸發(fā)casestateiswhenS0=>ifdata_iu='rthenstate<=Sl;eudif;wlienSl=>ifdatain='O'then進(jìn)程P1為主控時(shí)序進(jìn)程,在“elk”上升沿時(shí),狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)變。state<=S2;endif;whenS2=>Begin\ifdata_m='rthen\state<=S3;|eudit;1
whpn以=>說(shuō)明部分:使用type語(yǔ)ifdatain=,0'thenstate<=SO;eudif;句定義狀態(tài)機(jī)狀態(tài)endcase;endif:eudprocessPl電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述【例6.2】Moore狀態(tài)機(jī)的描述P2:process(state)--主控組合進(jìn)程begincasestateiswhenS0=>data_out<="000r';--輸出當(dāng)前狀態(tài)的值whenSl=>data_out<="0010,';whenS2=>data_out<="0100,';whenS3=>data_oiit<="1000M;endcase;endprocess;endaichitecturebehave;例6.2程序編譯后,在QuartusII13.0集成環(huán)境,選擇【Tool】菜單【NetlistViewers]選項(xiàng)[StateMachineMewer]命令,將產(chǎn)生例6.2描述的狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換圖,如圖6.14所示。進(jìn)程P2為主控組合邏輯進(jìn)程圖6J4狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富?1項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述例6.2程序的功能仿真結(jié)果,如圖6.15所示。圖6.15Moore狀態(tài)機(jī)的仿真結(jié)果由圖可知,狀態(tài)機(jī)在異步復(fù)位后進(jìn)入SO態(tài)(state=SO),在第30ns時(shí)elk上升沿處,state=SO,data_in=0(?£1),狀態(tài)不變,保持處于S0態(tài),輸出data_out=0001;在30ns~50ns的一個(gè)時(shí)鐘周期內(nèi),一直保持輸蟲(chóng)信號(hào)示變,雖然在40ns處,datajn變?yōu)?,但狀態(tài)并不改變,而是要到50ns時(shí),elk上升沿處才發(fā)生狀態(tài)轉(zhuǎn)變(S0態(tài)轉(zhuǎn)變?yōu)镾1態(tài))。說(shuō)明了Moore狀態(tài)機(jī)在時(shí)鐘周期內(nèi)輸入信號(hào)發(fā)生變化,但輸出保持穩(wěn)定不變,屬于同步輸出狀態(tài)機(jī)。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富?1項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述4.Mealy狀態(tài)機(jī)的VHDL程序描述Mealy狀態(tài)機(jī)的輸出是現(xiàn)態(tài)和所有輸入的函數(shù),隨輸入變化而隨時(shí)發(fā)生變化,Mealy狀態(tài)機(jī)典型的結(jié)構(gòu)如圖6.16所示。從時(shí)序上看,Mealy狀態(tài)機(jī)屬于異步輸出狀態(tài)機(jī),它不依賴(lài)于時(shí)鐘,狀態(tài)機(jī)的輸出在輸入發(fā)生變化后立即發(fā)生?,F(xiàn)態(tài)SCurreut_state-?狀態(tài)鉛!|i組合對(duì)1次態(tài)S*Yt=fk(S,X0...XIl)輸入邏輯Ell路Nextstate—/¥D寄Q中路X卜Xt.'卜rfCl.K-IL圖6.16Mealy狀態(tài)機(jī)的典型結(jié)構(gòu)電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述【例6.31Mealy狀態(tài)機(jī)的描述Iibraiyieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.a11;useieee.std_logic_aiith.all;entitymealyispoil(clk,reset:iustdlogic;data_in:instdlogic;dataout:outstdlogievector(3dowuto0));eudentitymealy;Pl:pioces$(reset,clk)--主控時(shí)序進(jìn)程beginifieset='O'then$tate<=SO;elsifclk='l'andclk'eventthen--上升沿觸發(fā)casestateiswhenS0=>ifdata_iii=’rthen--根據(jù)外部輸入的值確定次態(tài)的走向$tate<=Sl;endif;whenSl=>ifdatain='O'thenarchitecturebehaveofmealyistypestates_typeis(SO,S1,S2,S3);--定義states_t)pe為枚舉數(shù)裾類(lèi)型signalstate:statestj-pe;說(shuō)明部分:使用type語(yǔ)句定義狀態(tài)機(jī)狀態(tài)state<=S2;endif;whenS2=>ifdatain=*l'thenstate<=S3;endif;whenS3=>ifdata_in='O'thenstate<=SO;endif;endcase;eudif;endprocessPl;電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項(xiàng)目6狀態(tài)機(jī)的VHDL程序描述________________________P2:proce$s(state,data_in)-主控組合進(jìn)程begincasestateisdata_out<=”0000”;endif;_ifdata_in='Orthendat<out<=,,0010";whenS0=>ifdata_in='l'thendatalout<="0001”;elseelsedataout<=”0001”;endif;-whenS2=>ifdatain=Tthen圖6.17Mealy狀態(tài)機(jī)的仿真結(jié)果dataZoiit<=”0100”;elsedata_out<="0001";endif;_whenS3=>ifdata_in='O'thendatsCoiit<=”1000”;elsedMa_out<=”0001”;endif;_cudcase;endprocess;endarchitectuiebehave;由圖可知,狀態(tài)機(jī)在25ns處異步復(fù)位后,進(jìn)入SO態(tài)(state=S0),輸出data_out=0000;在第40ns處,data_in由0變?yōu)?,‘出data_out值由0000^^0001,雖然此時(shí)處于clkfii下降沿,并非有效的t鐘上升沿。反映了Mealy狀態(tài)機(jī)屬于異步輸出狀態(tài)機(jī),它不依賴(lài)于時(shí)鐘的鮮明特點(diǎn)。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富________1項(xiàng)目6字符型LCD1602控制器編程下載編程下載的目的是將設(shè)計(jì)所生成的文件通過(guò)計(jì)算機(jī)下載到目標(biāo)器件,驗(yàn)證設(shè)計(jì)是否滿(mǎn)足實(shí)際要求或能否在實(shí)際中應(yīng)用。字符型LCD1602控制器硬件測(cè)試,需要將字符型LCD1602顯示元件與FPGA最小系統(tǒng)板相連接,然后,載入LCD1602顯示控制VHDL程序,現(xiàn)場(chǎng)在線(xiàn)測(cè)試字符型LCD1602顯示信息的正確性。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富項(xiàng)目6字符型LCD1602控制器編程下載硬件電路連接1.字符型LCD1602控制器控制模塊基于VHDL程序描述的字符型LCD1602顯示控制器,輸入輸出端口如圖6.33所示。[clkl為系統(tǒng)時(shí)鐘信號(hào)輸入端,由FPGA最小系統(tǒng)板提供;[reset]為系統(tǒng)復(fù)位信號(hào)輸入端;[lcd_rsl為L(zhǎng)CD寄存器選擇信號(hào)輸出端;[lcd_rw]為L(zhǎng)CD讀寫(xiě)操作選擇信號(hào)輸出端;【lcd_e】為L(zhǎng)CD使能信號(hào)輸出端;[data[7..0J]為8位數(shù)據(jù)信號(hào)輸出端。lcd1602driverinstelklcd_rsresetlcd_rwlcd_edata[7.0]'圖6.33字符型LCD1602控制器輸入輸出端口電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??___項(xiàng)目6字符型LCD1602控制器編程下載reset2.輸入輸出連接原理圖EP4CE6E22C8-FPGA最小系統(tǒng)板與字符型LCD1602模塊的連接電路原理圖,如圖6.34所示。FPGAFPG.4敁小系統(tǒng)板imcLCDI6O2?T圖6.34硬件測(cè)試連接電路原理圖電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??1項(xiàng)目6字符型LCD1602控制器編程下載3.元件連接字符型LCD1602模塊與EP4CE6E22C8-FPGA最小系統(tǒng)板的20X2雙排直插針連接,如圖6.35所示。圖6.3S字符型LCD1602控制器各元件連接電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富____?J【一認(rèn)一1
I項(xiàng)目6字符型LCD1602控制器編程下載4.輸入輸出引腳表6.15顯示控制器輸入輸出端口與目標(biāo)芯片引腳的連接關(guān)系表輸入輸出6.15o根據(jù)輸入輸出電路與FPGA最小系統(tǒng)板相連的管腳可知,字符型LCD1602控制器輸入輸出端口與目標(biāo)芯片引腳的連接關(guān)系見(jiàn)表端口名稱(chēng)芯片引腳端口名稱(chēng)芯片引腳elkpin23Icd_rspin101resetpin25lcd_rwpin104Icdepin_106datii[O]pin_llldata[l]pin_113data[2]pin_115data[3]pin_120data[4]pin125datii[5]pin_127data[6]pin—129data[7]pin133電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項(xiàng)目6字符型LCD1602控制器編程下載________________________HoderumedMa[6)她[5】她[4】%岫⑶?,;
dMa[2]:,;datt[l]%d?te[0]Icd-e2.5VPDi_250%PinPlanner?E7XM6ACD1602/LCD1602?LCD1602輸入輸出引腳鎖足在Quartus1113.0集成環(huán)境,單擊【Assignments]菜單的【PinPlanner]命令,彈出【PinPlanner]對(duì)話(huà)框;在【PinPlanner]對(duì)話(huà)框的[Location】列空白位置雙擊,根_據(jù)表6.15輸入相對(duì)應(yīng)的引腳值。完成設(shè)置后的【PinPlanner]對(duì)話(huà)框如圖6.36所示。當(dāng)分配引腳完成以后,必須再次執(zhí)行編譯命__令,這樣才能保存存儲(chǔ)引腳鎖定信息。圖6.36字符型LCD1602控制器引腳鎖定結(jié)果________________________________________________________________電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富_____________?Jr1flaS33Z9272SM1S131lMsM'fsVo5VAVSV.5VSVSVSV-SVSV.SV.SV.SV2-2.2.2.22.2.2.2.2.2.2.Ic3m7524s31m1<mI--Bsss:?1-B1B8BBB7B7B7B7B707瞇時(shí)66漉s也;七-iM0-項(xiàng)目6字符型LCD1602控制器編程下載F載設(shè)計(jì)文件下載電纜配置。下載設(shè)計(jì)文件到目標(biāo)芯片,需要專(zhuān)用下載電纜將pc機(jī)與目標(biāo)芯片相連接。將“USB-Blaster”下載電纜的一端連接到PC機(jī)的USB口,
另一端接到FPGA最小系統(tǒng)板的JTAG口,然后,接通FPGA最小系統(tǒng)板的電源,進(jìn)行下載配置。完成下載電纜配置如圖6.37所示。圖6.37字符型LCD1602控制器下載配置結(jié)果電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富?J匕、、1—1項(xiàng)目6字符型LCD1602控制器編程下載F載設(shè)計(jì)文件圖6.38編程下載完成載完成,如圖6.38所示?!癐cd1602driver.sof”;單擊【Start1按鍵,
編程下載開(kāi)始,直到下載進(jìn)度為100%,下配置文件下載。在【Programmer]對(duì)話(huà)框的【Mode】下拉列表框中選擇【JTAG】模式;選擇下載文件電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富<<1項(xiàng)目6字符型LCD1602控制器設(shè)計(jì)方案___字符型LCD(LiquidCrystalDisplay)在人機(jī)交互時(shí),常用于手持設(shè)備,便攜式電腦、數(shù)字?jǐn)z像機(jī)、儀器儀表、移動(dòng)通信工具等輸出顯示。本項(xiàng)目以_FPGA為核心芯片,采用狀態(tài)機(jī)描述LCD1602的顯示控制電路,說(shuō)明VHDL_程序狀態(tài)機(jī)的描述方法。___________________________________________________________電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富,_______項(xiàng)目6字符型LCD1602控制器設(shè)計(jì)方案教學(xué)目標(biāo)技能目標(biāo)知識(shí)目標(biāo)1.能將驅(qū)動(dòng)實(shí)際電子元器件工作的邏輯時(shí)序轉(zhuǎn)化為V1.了解點(diǎn)陣液晶屏顯示原理。HDL硬件語(yǔ)言描述。2.了解狀態(tài)機(jī)的概念。2.能采用結(jié)構(gòu)化描述方法,設(shè)計(jì)中等復(fù)雜程度的數(shù)字系統(tǒng)。3.掌握Mealy狀態(tài)機(jī)的VHDL描述方法4.掌握Moore狀態(tài)機(jī)的VHDL描述方法。3.能用FPGA實(shí)現(xiàn)對(duì)字符型LCD1602的顯示時(shí)序控5.知道字符型LCD1602控制指令及顯示控制過(guò)程。制。4.能用狀態(tài)機(jī)描述時(shí)序控制邏輯電路。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項(xiàng)目6字符型LCD1602控制器設(shè)計(jì)方案任務(wù)描述基于FPGA最小系統(tǒng)板,使用VHDL程序設(shè)計(jì)控制器實(shí)現(xiàn)對(duì)字符型LCD1602的顯示控制。在字符型LCD1602元件的第一行顯示“FPGAControlLCD59字符,第二行顯示“DisplayNumber0”字符,顯示效果,如圖6.1所示。其中,第二行最后一個(gè)數(shù)字隨時(shí)間變化循環(huán)顯示0?9數(shù)字。要求在QuartusII13.0軟件平臺(tái)上用VHDL程序設(shè)計(jì)字符型LCD1602控制器;用AlodelSim-AlteraJL?.5b仿真軟件仿真檢查設(shè)計(jì)結(jié)果;選用FPGA最小系統(tǒng)板、字符型LCD1602顯示模塊等硬件資源進(jìn)行硬件驗(yàn)證。圖6.1字符型LCD1602顯示字符效果電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??1項(xiàng)目6字符型LCD1602控制器設(shè)計(jì)方案設(shè)計(jì)方案使用FPGA實(shí)現(xiàn)字符型LCD1602模塊的字符顯示控制,就是設(shè)計(jì)VHDL程序控制字符型LCD1602控制信號(hào)RS、R/W、E的時(shí)序,根據(jù)控制信號(hào)的時(shí)序向雙向數(shù)據(jù)端DB0-DB7賦一定的編碼值。本項(xiàng)目字符型LCD1602模塊顯示字符的時(shí)序控制,采用VHDL程序的狀態(tài)機(jī)實(shí)現(xiàn),顯示數(shù)據(jù)的編碼值利用EP4CE6E22C8-FPGA片上的RAM存儲(chǔ)。字符型LCD1602顯示控制器可由兩部分組成:一部分用于存放待顯字符的RAM,另一部分是驅(qū)動(dòng)字符型LCD1602的時(shí)序狀態(tài)機(jī),如圖6.2所示。圖6.2字符型LCD1602顯示控制器組成電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富_?JI讀/寫(xiě)驅(qū)動(dòng)RAM模塊時(shí)序狀態(tài)機(jī)LCD1602模塊項(xiàng)目6字符型LCD1602控制器設(shè)計(jì)方案1.點(diǎn)陣液晶屏顯示的原理用LCD顯示英文字符時(shí),一個(gè)字符通常需要8X8或8X16點(diǎn)陣組成,既要找到和顯示屏幕上某位置對(duì)應(yīng)的顯示RAM區(qū)的8或16個(gè)字節(jié),還要使每字節(jié)的位為特定的“1”和“0”,
以組成某個(gè)字符。如圖6.3所示為8X16點(diǎn)陣英文字符“B”的位代碼及字模信息。為了讓用戶(hù)使用方便,字符型LCD通常內(nèi)部集成了一些常用字符點(diǎn)陣亮滅組合,需要顯示某一字符英文字模位代碼00000000000000001111110001100110011001100110011001111100011001100110011001100110011001101111110000000000000000000000000000000000字模信息0x000x00OxFC0x660x660x66Ox7C0x660x660x660x66OxFCoxOO0x000x000x00時(shí),只須輸入字符的編碼就可。圖6.3字符B的位代碼和字模信息電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項(xiàng)目6字符型LCD1602控制器設(shè)計(jì)方案2.字符型LCD1602簡(jiǎn)介字符型1602液晶模塊內(nèi)置了DDRAM、CGROM和CGRAM三個(gè)存儲(chǔ)器。CGROM存儲(chǔ)的字符字模編碼有:阿拉伯?dāng)?shù)字、大小寫(xiě)英文字母、常用的符號(hào)、和日文假名等,如圖6.5所示。每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“A”的代碼是01000001B(41H),顯示時(shí)把地址41H寫(xiě)入DDRAM一定的存儲(chǔ)單元內(nèi),就可在液晶屏相應(yīng)的位置顯示wjjKXSOOMooot0010001103100a4101pC110s0111Ftooo10011010W11I1M>110111W6!iaKXXXM01<2>11(Ja■=1□/aElMXXXO01OII2BRbr14■y0MXXXflOll<4)3cScsJ0亍£xxxxOlOO$14DTdtI■bp?jaO1O1M5IEUeu■才少jGuXXXXC11O(7)SI6IFUlflu=?in二13PZXXXXO111?IGIW|9|W7|千qnwax1000<|8|H酬xtiuTX■xxx100,<2)>l9IIIVIi|yJill.-1ywcalOlO<3>*I:|J|Z|j|zlluhllzj?xx1O11<4)+tinxxxxllOD<5)<|L|¥|1|I^19者Alocal1Q1<6>一l=|M|]|m|>-r<?)■>|N|A|n|4altn,l?|0|_|oK■u|y1Od11圖6.5CGROM中字符編碼與字符字模關(guān)系圖??電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富項(xiàng)目6字符型LCD1602控制器設(shè)計(jì)方案3.字符型LCD1602控制指令字符型LCD1602液晶模塊的讀寫(xiě)操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的,字符型LCD1602支持的指令如下:表6.Z演屏指令碼RSRAVDB7DB6DB5DB4DB3DB2DB1DBO0000000001表6.3光標(biāo)歸位指令犸RSRAVDB7DB6DBSDB4DB3DB2DB1DBO0?0000001?表<5.4光標(biāo)歸位指令礙RSRAVDB7DB6DB5DB4DB3DB2DB1DB0000000Q1I/DS表6.S顯示開(kāi)關(guān)控制指令碼RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版八年級(jí)物理上冊(cè)《2.3聲的利用》同步測(cè)試題及答案
- 教科版小學(xué)科學(xué)復(fù)習(xí)資料(3-6年級(jí))
- 高一化學(xué)成長(zhǎng)訓(xùn)練:第二單元微粒之間的相互作用力
- 2024高中地理第二章自然環(huán)境中的物質(zhì)運(yùn)動(dòng)和能量交換4水循環(huán)和洋流學(xué)案湘教版必修1
- 2024高中語(yǔ)文第三單元因聲求氣吟詠詩(shī)韻虞美人訓(xùn)練含解析新人教版選修中國(guó)古代詩(shī)歌散文欣賞
- 2024高考地理一輪復(fù)習(xí)第二部分人文地理-重在運(yùn)用第五章交通運(yùn)輸布局及其影響第24講交通運(yùn)輸方式和布局學(xué)案新人教版
- 2024高考地理一輪復(fù)習(xí)專(zhuān)練75歐洲西部地區(qū)含解析新人教版
- 2025高考數(shù)學(xué)考點(diǎn)剖析精創(chuàng)專(zhuān)題卷二-函數(shù)與導(dǎo)數(shù)【含答案】
- 運(yùn)動(dòng)會(huì)入場(chǎng)詞
- 物流運(yùn)營(yíng)管理與外包合作合同范例
- 2024-2025學(xué)年成都高新區(qū)七上數(shù)學(xué)期末考試試卷【含答案】
- 定額〔2025〕1號(hào)文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2025年浙江杭州市西湖區(qū)專(zhuān)職社區(qū)招聘85人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《數(shù)學(xué)廣角-優(yōu)化》說(shuō)課稿-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)人教版
- “懂你”(原題+解題+范文+話(huà)題+技巧+閱讀類(lèi)素材)-2025年中考語(yǔ)文一輪復(fù)習(xí)之寫(xiě)作
- 2025年景觀(guān)照明項(xiàng)目可行性分析報(bào)告
- 2025年江蘇南京地鐵集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 2025年度愛(ài)讀書(shū)學(xué)長(zhǎng)參與的讀書(shū)項(xiàng)目投資合同
- 一種基于STM32的智能門(mén)鎖系統(tǒng)的設(shè)計(jì)-畢業(yè)論文
- 華為經(jīng)營(yíng)管理-華為經(jīng)營(yíng)管理華為的IPD(6版)
- 小學(xué)四年級(jí)奧數(shù)教程30講(經(jīng)典講解)
評(píng)論
0/150
提交評(píng)論