EDA應(yīng)用技術(shù) 課件 王真富 a46-基于VHDL程序的狀態(tài)機描述、a55-字符型LCD1602控制器編程、a45-字符型LCD1602控制器設(shè)計方案_第1頁
EDA應(yīng)用技術(shù) 課件 王真富 a46-基于VHDL程序的狀態(tài)機描述、a55-字符型LCD1602控制器編程、a45-字符型LCD1602控制器設(shè)計方案_第2頁
EDA應(yīng)用技術(shù) 課件 王真富 a46-基于VHDL程序的狀態(tài)機描述、a55-字符型LCD1602控制器編程、a45-字符型LCD1602控制器設(shè)計方案_第3頁
EDA應(yīng)用技術(shù) 課件 王真富 a46-基于VHDL程序的狀態(tài)機描述、a55-字符型LCD1602控制器編程、a45-字符型LCD1602控制器設(shè)計方案_第4頁
EDA應(yīng)用技術(shù) 課件 王真富 a46-基于VHDL程序的狀態(tài)機描述、a55-字符型LCD1602控制器編程、a45-字符型LCD1602控制器設(shè)計方案_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目6狀態(tài)機的VHDL程序描述有限狀態(tài)機(finite-statemachine,縮寫:FSM)又稱有限狀態(tài)自動機,簡稱狀態(tài)機,是表示有限個狀態(tài)以及在這些狀態(tài)之間轉(zhuǎn)移和動作等行為的數(shù)學模型。狀態(tài)機由狀態(tài)寄存器和組合邏輯電路構(gòu)成,能夠根據(jù)控制信號按照預(yù)先設(shè)定的狀態(tài)進行狀態(tài)轉(zhuǎn)移,協(xié)調(diào)相關(guān)信號動作,完成特定操作的控制。在VHDL程序設(shè)計的實用時序邏輯系統(tǒng)中,狀態(tài)機是應(yīng)用廣泛的電路模塊,其在運行速度的高效、執(zhí)行時間的確定性和高可靠性方面都顯現(xiàn)出強大的優(yōu)勢。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富?1項目6狀態(tài)機的VHDL程序描述________________________1.狀態(tài)機_______狀態(tài)機是以描述控制特性為主的建模方法,它可以應(yīng)用于從系統(tǒng)分析到設(shè)計的__所有階段。狀態(tài)機的基本操作有兩種:(1)

狀態(tài)機內(nèi)部狀態(tài)轉(zhuǎn)換狀態(tài)機內(nèi)部狀態(tài)轉(zhuǎn)換操作使狀態(tài)機經(jīng)歷一系列狀態(tài),下一狀態(tài)由狀態(tài)譯碼器根據(jù)當前狀態(tài)和輸入條件決定。(2)產(chǎn)生輸出信號序列產(chǎn)生輸出信號序列操作是根據(jù)當前狀態(tài)和輸入條件確定輸出信號,由輸出譯碼器輸出信號。__典型的狀態(tài)機有兩種:Mealy狀態(tài)機和Moore狀態(tài)機。___________________________________________________________電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富,_______項目6狀態(tài)機的VHDL程序描述________________________2.—般狀態(tài)機的VHDL程序描述______一般狀態(tài)機的結(jié)構(gòu)如圖6,9所示,狀態(tài)機的VHDL程序描述通常用枚舉類數(shù)據(jù)類型___來定義狀態(tài)機的狀態(tài),使用多進程方式來描述狀態(tài)機的內(nèi)部邏輯。通常包括說明部分、_______主控時序進程、主控組合進程和輔助進程等。elk吋鐘reset復(fù)位stateinputs輸入信號圖6.9—般狀態(tài)機的結(jié)構(gòu)結(jié)構(gòu)框圖電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富_________?J【一認一1

I主控時序進程主控組合進程nextstate次態(tài)(S+)現(xiàn)態(tài)(S)currentstatecontroloutputs_輸!」5{言號項目6狀態(tài)機的VHDL程序描述(1)

說明部分說明部分一般放在結(jié)構(gòu)體的architecture和begin之間,用枚舉型數(shù)據(jù)類型定義狀態(tài)機的狀態(tài)名。(2)主控時序進程主控時序進程是實現(xiàn)狀態(tài)轉(zhuǎn)換的進程。(3)主控組合進程主控組合進程的功能是狀態(tài)譯碼,向外部發(fā)出控制信號,確定下一狀態(tài)的走向。(4)輔助進程輔助進程用于配合狀態(tài)機工作的組合、時序進程或配合狀態(tài)機工作的其他時序進程。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??___項目6狀態(tài)機的VHDL程序描述【例6.11雙進程描述的狀態(tài)機endarchitecturebehave;說明部分:使用type語句定義狀態(tài)機狀態(tài)進程P1為主控時序進程,在“dk”上升沿時,狀態(tài)機的狀態(tài)由當前態(tài)“current-state"向次態(tài)“nextstate”轉(zhuǎn)變。進程P2為主控組合進程;根據(jù)當前狀態(tài)‘‘current_state”與輸入信號“state」nputs”確定次態(tài)的狀態(tài)。進程間通過“current_state’’、“next_state”信號傳遞信息。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控組合進程begincasecurreutstateiswhenS0=>coDtiol_outputs<="00";-輸出當前狀態(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ù)類型signalcuirent_state,Dext_state:states;beginPl:process(ieset,clk)beginifreset='rthencunent_state<=SO;elsifclk=Tandelk'eventthen--上升沿觸發(fā)currentstate<=nextstate;-當前態(tài)轉(zhuǎn)換為次態(tài)endif;endif;Piirlrficp-eudprocessPl;endprocess;電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項目6狀態(tài)機的VHDL程序描述________________________例6.1程序編譯后,在QuartusII13,0集成環(huán)境,選擇【Tool】菜單[Netlist__Viewers】選項【RTLViewer】命令,將產(chǎn)生例6.1描述的狀態(tài)機的寄存器傳輸級綜合效果圖,如圖6.10所示。clkl->resetl^^^-stateinputsJ0..1ircurrent^stateelkSOresetS1stateinputs[1..01S2control_outputs~0control」)iitputs-1—ontrol_outputs[0..1l圖6.10寄存器傳輸級綜合效果圖RTL_____________________________________________________電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富_____________?J【一認一1

I項目6狀態(tài)機的VHDL程序描述例6,1程序編譯后,在QuartusII13,0集成環(huán)境,選擇【Tool】菜單[NetlistViewers】選項【StateMachineViewer】命令,將產(chǎn)生例6.1描述的狀態(tài)機的狀態(tài)轉(zhuǎn)換圖,如圖6.11所示。圖<5.11狀態(tài)機狀態(tài)轉(zhuǎn)換圖電子工業(yè)出版社《麗應(yīng)服術(shù)》編制徧《W?項目6狀態(tài)機的VHDL程序描述例6.1程序的功能仿真結(jié)果,如圖6.12所示?!觥鯥

Wave-Defaultj抱-番H品4&I*略*£20:

I||參(211‘姑'1邊85||里I會一4|肺~:團?1_5^劃咨1]&-*1,?電,囑||t』JETIBl>|iitV3_;,■?£■>l_Search:啤y丁[今‘|圖6.12狀態(tài)機功能仿真圖從圖中可知,狀態(tài)的轉(zhuǎn)變與輸出值的改變,與輸入時鐘的上升沿同步,與輸入信號“statejnputs”不同步。在55ms處,輸入信號“statejnputs”由“01”變?yōu)椤?1”,但輸出與狀態(tài)并沒有發(fā)生改變(control_outputs=10),在70ms“clk”上升沿處,輸出狀態(tài)還是“10”態(tài)沒有A改變。這是由于當前態(tài)是S2狀態(tài),根據(jù)程序可知當前態(tài)是S2態(tài),輸入信號“statejnputs”值為“11”時,狀態(tài)轉(zhuǎn)換是由S2態(tài)轉(zhuǎn)向S2態(tài),因而,狀態(tài)沒有發(fā)生改變。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富?J匕、、1—1項目6狀態(tài)機的VHDL程序描述3.Moore狀態(tài)機的VHDL程序描述Moore有限狀態(tài)機輸出只與當前狀態(tài)有關(guān),與輸入信號的當前值無關(guān),是嚴格的現(xiàn)態(tài)函數(shù)。Moore有限狀態(tài)機的典型結(jié)構(gòu),如圖6.13所示。輸入狀汾衣e川介邏講態(tài)NextstateD寄Qf

,幌u存TZ>器組合電路輸出*Yk=fk(S)覘態(tài)SCuirent_state圖6.13Moore狀態(tài)機的典型結(jié)構(gòu)電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項目6狀態(tài)機的VHDL程序描述【例6.2】Moore狀態(tài)機的描述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ù)裾類型signalstate:states_type;--聲明信號state為states_type數(shù)據(jù)類型Pl:piocess(reset,clk)--主控時序進程beginifreset='O,thenstate<=SO;elsifclk='l'andelk'eventthen--上升沿觸發(fā)casestateiswhenS0=>ifdata_iu='rthenstate<=Sl;eudif;wlienSl=>ifdatain='O'then進程P1為主控時序進程,在“elk”上升沿時,狀態(tài)機的狀態(tài)轉(zhuǎn)變。state<=S2;endif;whenS2=>Begin\ifdata_m='rthen\state<=S3;|eudit;1

whpn以=>說明部分:使用type語ifdatain=,0'thenstate<=SO;eudif;句定義狀態(tài)機狀態(tài)endcase;endif:eudprocessPl電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項目6狀態(tài)機的VHDL程序描述【例6.2】Moore狀態(tài)機的描述P2:process(state)--主控組合進程begincasestateiswhenS0=>data_out<="000r';--輸出當前狀態(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]選項[StateMachineMewer]命令,將產(chǎn)生例6.2描述的狀態(tài)機的狀態(tài)轉(zhuǎn)換圖,如圖6.14所示。進程P2為主控組合邏輯進程圖6J4狀態(tài)機狀態(tài)轉(zhuǎn)換圖電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富?1項目6狀態(tài)機的VHDL程序描述例6.2程序的功能仿真結(jié)果,如圖6.15所示。圖6.15Moore狀態(tài)機的仿真結(jié)果由圖可知,狀態(tài)機在異步復(fù)位后進入SO態(tài)(state=SO),在第30ns時elk上升沿處,state=SO,data_in=0(?£1),狀態(tài)不變,保持處于S0態(tài),輸出data_out=0001;在30ns~50ns的一個時鐘周期內(nèi),一直保持輸蟲信號示變,雖然在40ns處,datajn變?yōu)?,但狀態(tài)并不改變,而是要到50ns時,elk上升沿處才發(fā)生狀態(tài)轉(zhuǎn)變(S0態(tài)轉(zhuǎn)變?yōu)镾1態(tài))。說明了Moore狀態(tài)機在時鐘周期內(nèi)輸入信號發(fā)生變化,但輸出保持穩(wěn)定不變,屬于同步輸出狀態(tài)機。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富?1項目6狀態(tài)機的VHDL程序描述4.Mealy狀態(tài)機的VHDL程序描述Mealy狀態(tài)機的輸出是現(xiàn)態(tài)和所有輸入的函數(shù),隨輸入變化而隨時發(fā)生變化,Mealy狀態(tài)機典型的結(jié)構(gòu)如圖6.16所示。從時序上看,Mealy狀態(tài)機屬于異步輸出狀態(tài)機,它不依賴于時鐘,狀態(tài)機的輸出在輸入發(fā)生變化后立即發(fā)生?,F(xiàn)態(tài)SCurreut_state-?狀態(tài)鉛!|i組合對1次態(tài)S*Yt=fk(S,X0...XIl)輸入邏輯Ell路Nextstate—/¥D寄Q中路X卜Xt.'卜rfCl.K-IL圖6.16Mealy狀態(tài)機的典型結(jié)構(gòu)電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項目6狀態(tài)機的VHDL程序描述【例6.31Mealy狀態(tài)機的描述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)--主控時序進程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ù)裾類型signalstate:statestj-pe;說明部分:使用type語句定義狀態(tài)機狀態(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ù)》編制王真富??項目6狀態(tài)機的VHDL程序描述________________________P2:proce$s(state,data_in)-主控組合進程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)機的仿真結(jié)果dataZoiit<=”0100”;elsedata_out<="0001";endif;_whenS3=>ifdata_in='O'thendatsCoiit<=”1000”;elsedMa_out<=”0001”;endif;_cudcase;endprocess;endarchitectuiebehave;由圖可知,狀態(tài)機在25ns處異步復(fù)位后,進入SO態(tài)(state=S0),輸出data_out=0000;在第40ns處,data_in由0變?yōu)?,‘出data_out值由0000^^0001,雖然此時處于clkfii下降沿,并非有效的t鐘上升沿。反映了Mealy狀態(tài)機屬于異步輸出狀態(tài)機,它不依賴于時鐘的鮮明特點。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富________1項目6字符型LCD1602控制器編程下載編程下載的目的是將設(shè)計所生成的文件通過計算機下載到目標器件,驗證設(shè)計是否滿足實際要求或能否在實際中應(yīng)用。字符型LCD1602控制器硬件測試,需要將字符型LCD1602顯示元件與FPGA最小系統(tǒng)板相連接,然后,載入LCD1602顯示控制VHDL程序,現(xiàn)場在線測試字符型LCD1602顯示信息的正確性。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富項目6字符型LCD1602控制器編程下載硬件電路連接1.字符型LCD1602控制器控制模塊基于VHDL程序描述的字符型LCD1602顯示控制器,輸入輸出端口如圖6.33所示。[clkl為系統(tǒng)時鐘信號輸入端,由FPGA最小系統(tǒng)板提供;[reset]為系統(tǒng)復(fù)位信號輸入端;[lcd_rsl為LCD寄存器選擇信號輸出端;[lcd_rw]為LCD讀寫操作選擇信號輸出端;【lcd_e】為LCD使能信號輸出端;[data[7..0J]為8位數(shù)據(jù)信號輸出端。lcd1602driverinstelklcd_rsresetlcd_rwlcd_edata[7.0]'圖6.33字符型LCD1602控制器輸入輸出端口電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??___項目6字符型LCD1602控制器編程下載reset2.輸入輸出連接原理圖EP4CE6E22C8-FPGA最小系統(tǒng)板與字符型LCD1602模塊的連接電路原理圖,如圖6.34所示。FPGAFPG.4敁小系統(tǒng)板imcLCDI6O2?T圖6.34硬件測試連接電路原理圖電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??1項目6字符型LCD1602控制器編程下載3.元件連接字符型LCD1602模塊與EP4CE6E22C8-FPGA最小系統(tǒng)板的20X2雙排直插針連接,如圖6.35所示。圖6.3S字符型LCD1602控制器各元件連接電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富____?J【一認一1

I項目6字符型LCD1602控制器編程下載4.輸入輸出引腳表6.15顯示控制器輸入輸出端口與目標芯片引腳的連接關(guān)系表輸入輸出6.15o根據(jù)輸入輸出電路與FPGA最小系統(tǒng)板相連的管腳可知,字符型LCD1602控制器輸入輸出端口與目標芯片引腳的連接關(guān)系見表端口名稱芯片引腳端口名稱芯片引腳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ù)》編制王真富??項目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]對話框;在【PinPlanner]對話框的[Location】列空白位置雙擊,根_據(jù)表6.15輸入相對應(yīng)的引腳值。完成設(shè)置后的【PinPlanner]對話框如圖6.36所示。當分配引腳完成以后,必須再次執(zhí)行編譯命__令,這樣才能保存存儲引腳鎖定信息。圖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瞇時66漉s也;七-iM0-項目6字符型LCD1602控制器編程下載F載設(shè)計文件下載電纜配置。下載設(shè)計文件到目標芯片,需要專用下載電纜將pc機與目標芯片相連接。將“USB-Blaster”下載電纜的一端連接到PC機的USB口,

另一端接到FPGA最小系統(tǒng)板的JTAG口,然后,接通FPGA最小系統(tǒng)板的電源,進行下載配置。完成下載電纜配置如圖6.37所示。圖6.37字符型LCD1602控制器下載配置結(jié)果電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富?J匕、、1—1項目6字符型LCD1602控制器編程下載F載設(shè)計文件圖6.38編程下載完成載完成,如圖6.38所示?!癐cd1602driver.sof”;單擊【Start1按鍵,

編程下載開始,直到下載進度為100%,下配置文件下載。在【Programmer]對話框的【Mode】下拉列表框中選擇【JTAG】模式;選擇下載文件電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富<<1項目6字符型LCD1602控制器設(shè)計方案___字符型LCD(LiquidCrystalDisplay)在人機交互時,常用于手持設(shè)備,便攜式電腦、數(shù)字攝像機、儀器儀表、移動通信工具等輸出顯示。本項目以_FPGA為核心芯片,采用狀態(tài)機描述LCD1602的顯示控制電路,說明VHDL_程序狀態(tài)機的描述方法。___________________________________________________________電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富,_______項目6字符型LCD1602控制器設(shè)計方案教學目標技能目標知識目標1.能將驅(qū)動實際電子元器件工作的邏輯時序轉(zhuǎn)化為V1.了解點陣液晶屏顯示原理。HDL硬件語言描述。2.了解狀態(tài)機的概念。2.能采用結(jié)構(gòu)化描述方法,設(shè)計中等復(fù)雜程度的數(shù)字系統(tǒng)。3.掌握Mealy狀態(tài)機的VHDL描述方法4.掌握Moore狀態(tài)機的VHDL描述方法。3.能用FPGA實現(xiàn)對字符型LCD1602的顯示時序控5.知道字符型LCD1602控制指令及顯示控制過程。制。4.能用狀態(tài)機描述時序控制邏輯電路。電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項目6字符型LCD1602控制器設(shè)計方案任務(wù)描述基于FPGA最小系統(tǒng)板,使用VHDL程序設(shè)計控制器實現(xiàn)對字符型LCD1602的顯示控制。在字符型LCD1602元件的第一行顯示“FPGAControlLCD59字符,第二行顯示“DisplayNumber0”字符,顯示效果,如圖6.1所示。其中,第二行最后一個數(shù)字隨時間變化循環(huán)顯示0?9數(shù)字。要求在QuartusII13.0軟件平臺上用VHDL程序設(shè)計字符型LCD1602控制器;用AlodelSim-AlteraJL?.5b仿真軟件仿真檢查設(shè)計結(jié)果;選用FPGA最小系統(tǒng)板、字符型LCD1602顯示模塊等硬件資源進行硬件驗證。圖6.1字符型LCD1602顯示字符效果電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??1項目6字符型LCD1602控制器設(shè)計方案設(shè)計方案使用FPGA實現(xiàn)字符型LCD1602模塊的字符顯示控制,就是設(shè)計VHDL程序控制字符型LCD1602控制信號RS、R/W、E的時序,根據(jù)控制信號的時序向雙向數(shù)據(jù)端DB0-DB7賦一定的編碼值。本項目字符型LCD1602模塊顯示字符的時序控制,采用VHDL程序的狀態(tài)機實現(xiàn),顯示數(shù)據(jù)的編碼值利用EP4CE6E22C8-FPGA片上的RAM存儲。字符型LCD1602顯示控制器可由兩部分組成:一部分用于存放待顯字符的RAM,另一部分是驅(qū)動字符型LCD1602的時序狀態(tài)機,如圖6.2所示。圖6.2字符型LCD1602顯示控制器組成電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富_?JI讀/寫驅(qū)動RAM模塊時序狀態(tài)機LCD1602模塊項目6字符型LCD1602控制器設(shè)計方案1.點陣液晶屏顯示的原理用LCD顯示英文字符時,一個字符通常需要8X8或8X16點陣組成,既要找到和顯示屏幕上某位置對應(yīng)的顯示RAM區(qū)的8或16個字節(jié),還要使每字節(jié)的位為特定的“1”和“0”,

以組成某個字符。如圖6.3所示為8X16點陣英文字符“B”的位代碼及字模信息。為了讓用戶使用方便,字符型LCD通常內(nèi)部集成了一些常用字符點陣亮滅組合,需要顯示某一字符英文字模位代碼00000000000000001111110001100110011001100110011001111100011001100110011001100110011001101111110000000000000000000000000000000000字模信息0x000x00OxFC0x660x660x66Ox7C0x660x660x660x66OxFCoxOO0x000x000x00時,只須輸入字符的編碼就可。圖6.3字符B的位代碼和字模信息電子工業(yè)出版社《EDA應(yīng)用技術(shù)》編制王真富??項目6字符型LCD1602控制器設(shè)計方案2.字符型LCD1602簡介字符型1602液晶模塊內(nèi)置了DDRAM、CGROM和CGRAM三個存儲器。CGROM存儲的字符字模編碼有:阿拉伯數(shù)字、大小寫英文字母、常用的符號、和日文假名等,如圖6.5所示。每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時把地址41H寫入DDRAM一定的存儲單元內(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ù)》編制王真富項目6字符型LCD1602控制器設(shè)計方案3.字符型LCD1602控制指令字符型LCD1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的,字符型LCD1602支持的指令如下:表6.Z演屏指令碼RSRAVDB7DB6DB5DB4DB3DB2DB1DBO0000000001表6.3光標歸位指令犸RSRAVDB7DB6DBSDB4DB3DB2DB1DBO0?0000001?表<5.4光標歸位指令礙RSRAVDB7DB6DB5DB4DB3DB2DB1DB0000000Q1I/DS表6.S顯示開關(guān)控制指令碼RSR/WDB7DB6DB5DB4DB3DB2DB1DB0

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論