


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、題系目LCD1602顯示控制器設(shè)計(部)班級姓名學(xué)號指導(dǎo)教師2014年06月30日至07_月06日共X周2014年07月02日課程設(shè)計成績評定表目錄出勤出勤天數(shù)1丄情況缺勤天數(shù)成出勤情況及設(shè)計過程表現(xiàn)(20分)績課設(shè)答辯(20分)評設(shè)計成果(60分)硬件調(diào)試設(shè)計說明書疋總成績(100分)提問(答辯)問題情況綜合評疋指導(dǎo)教師簽名:年月日目錄31引言42VHDL/Quart簡介53系統(tǒng)設(shè)計63.1整體功能63.2各模塊功能設(shè)計6功能6模塊引腳6程序7仿真圖124系統(tǒng)調(diào)試及下載錯誤!未定義書簽。5設(shè)計總結(jié)141引言通過對LCD1602/LCD12864顯示模塊控制時序和指令集的對比分析,利用Veri
2、logHDL描述語言完成了多功能LCD顯示控制模塊的IP核設(shè)計,所設(shè)計的LCD顯示控制器具有很好的可移植性,只需通過端口的使能參數(shù)配置便可以驅(qū)動LCD1602/LCD12864模塊實現(xiàn)字符或圖形的實時顯示,并且該多功能LCD控制器的可行性也在CycloneU系列的EP2C5T144C8FPGA芯片上得到了很好的驗證?;贔PGA設(shè)計LCD顯示控制器,關(guān)鍵在于采用硬件描述語言設(shè)計有限狀態(tài)機(jī)(FSM)來控制LCD模塊的跳轉(zhuǎn),文獻(xiàn)中就是使用FSM實現(xiàn)了對LCD模塊的顯示控制,但是它們都是針對一種類型LCD模塊的某種顯示模式,不具有多模式的顯示控制能力。因此,多功能LCD顯示控制器的有限狀態(tài)機(jī)就需要設(shè)
3、置更多的條件轉(zhuǎn)換,來實現(xiàn)多種控制模式。系統(tǒng)上電后,首先完成持續(xù)大約0.1s(根據(jù)時鐘頻率配置)的自動復(fù)位,然后才根據(jù)模塊的端口參數(shù)選擇不同顯示模式所對應(yīng)的初始化命令,在狀態(tài)機(jī)中設(shè)置有初始化命令、起始行地址和屏顯示數(shù)據(jù)3條轉(zhuǎn)換路徑來適應(yīng)LCD屏的工作狀態(tài),同時也在關(guān)鍵轉(zhuǎn)換路徑上設(shè)置有可以配置的延時循環(huán),這樣既能方便LCD模塊的工作調(diào)試,又能使LCD模塊一直工作在寫屏模式(RW=0)對于LCD屏的顯示數(shù)據(jù)存儲可以完全采用FPGA內(nèi)嵌的ROM/RAM單元實現(xiàn),如果使用雙口RAM(存儲器讀寫?yīng)毩ⅲ┚湍軐崿F(xiàn)LCD模塊的動態(tài)實時顯示。2VHDL/Quartusll簡介VHDL的英文全名是Very-High
4、-SpeedIntegratedCircuitHardwareDescriptionLanguage,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就
5、可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點。QuartusII是Altera公司的綜合性PLD/FPGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整PLD設(shè)計流程。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計流程外,提供了完善的用戶圖形界面設(shè)計方式。具有運行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點。QuartusII支持Altera的IP核
6、,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設(shè)計的復(fù)雜性、加快了設(shè)計速度。對第三方EDA工具的良好支持也使用戶可以在設(shè)計流程的各個階段使用熟悉的第三方EDA工具。此外,QuartusII通過和DSPBuilder工具與Matlab/Simulink相結(jié)合,可以方便地實現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開發(fā),集系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯設(shè)計于一體,是一種綜合性的開發(fā)平臺。3系統(tǒng)設(shè)計3.1整體功能使用VHDL語言通過FPGA實現(xiàn)對LCD1602字符型液晶顯示器的控制。在LCD1602字符型液晶顯示器上面顯示個
7、人信息,包括姓名和學(xué)號。在LCD1602字符型液晶顯示器上面顯示動態(tài)字符,通過按鍵輸入相應(yīng)的數(shù)字和字符。3.2各模塊功能設(shè)計3.2.1 功能1、分頻模塊應(yīng)用時鐘分頻,滿足其工作需求。2、鍵盤模塊輸入字母和數(shù)字用來實現(xiàn)動態(tài)字符,進(jìn)行動態(tài)顯示。3、消抖模塊消除抖動,使顯示平穩(wěn)進(jìn)行。4、LCD模塊實現(xiàn)靜態(tài)顯示,顯示個人信息。3.2.2 模塊引腳1、分頻模塊引腳如圖所示9Si'b*ti-1&bft1£"H”H"-n.uq_wu""*顯EtLU2、鍵盤模塊引腳如圖所示3、消抖模塊引腳如圖所示4、LCD模塊引腳如圖所示323程序1、分頻模塊
8、程序libraryIEEE;useIEEE.STD_LOGIC_1164ALL;entityfenpinisPort(elk:instd_logic;lcd_clk:outstd_logic);endfenpin;architecturebhvoffenpinisbegin125Hz輸出,125Hz輸出,process(clk)-分頻進(jìn)程,CLK輸入,CLK_Out輸出,50MHz輸入,8msconstantm:integer:=500000;variablecout:integerrange0to50000000:=0;beginifclk'eventandclk='0
9、9;thencout:=cout+1;ifcoutvm/2thenlcd_clk<='1'elsifcout<mthenlcd_clkv='0'elsecout:=0;endif;endif;endprocess;endbhv;2、鍵盤模塊程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityjianpanisport(clk:instd_logic;reset:instd_logic;col:instd_logic_vector(3downto0)
10、;row:outstdogic_vector(3downto0);key_code:outstdogic_vector(7downto0);endjianpan;architecturebhvofjianpanissignalent:stdogic_vector(1downto0);signalkey:std_logic;beginkey<=col(3)andcol(2)andcol(1)andcol(0);p2:process(clk)beginifclk'eventandclk='1'thenifkey='1'thenent<=ent+1
11、;endif;endif;endprocess;P3:process(col,cnt,reset)beginifreset='0'thenrow<="1111"elsifent<="00"thenrow<="1110"casecoliswhen"1110"=>key_code<="11101110"when"1101"=>key_code<="11011110"when"1011"
12、;=>key_code<="10111110"when"0111"=>key_code<="01111110"whenothers=>key_code<="11111111"endcase;elsifent<="01"thenrow<="1101"casecoliswhen"1110"=>key_code<="11101101"when"1101"=>
13、key_code<="11011101"when"1011"=>key_code<="10111101"when"0111"=>key_code<="01111101"whenothers=>key_code<="11111111"endcase;elsifent<="10"thenrow<="1011"casecoliswhen"1110"=>key_co
14、de<="11101011"when"1101"=>key_code<="11011011"when"1011"=>key_code<="10111011"when"0111"=>key_code<="01111011"whenothers=>key_code<="11111111"endcase;elsifent<="11"thenrow<=&quo
15、t;0111"casecoliswhen"1110"=>key_code<="11100111"when"1101"=>key_code<="11010111"when"1011"=>key_code<="10110111"when"0111"=>key_code<="01110111"whenothers=>key_code<="11111111"
16、;endcase;endif;endprocess;endarchitecture;3、消抖模塊程序libraryieee;useieee.std_logic_1164.all;useieee.stdogic_arith.all;entityxiaodouisport(clk:instd_logic;reset:instd_logic;din:instdogic_vector(7downto0);dout:outstdogic_vector(7downto0);endxiaodou;architecturebhvofxiaodouisbeginprocess(clk,reset,din)var
17、iablecnt:integerrange0to2;variablestore:stdogic_vector(7downto0);variabled1,d2,d3:std_logic:='1'beginifreset='0'thendout<="11111111"elsifclk'eventandclk='1'thencaseentiswhen0=>store:=din;cnt:=cnt+1;when1=>ifdin=storethencnt:=cnt+1;elsestore:=din;cnt:=0;
18、endif;when2=>ifdin=storethendout<=store;d1:=store(7)andstore(6)andstore(5)andstore(4);d2:=store(3)andstore(2)andstore(1)andstore(0);d3:=d1ord2;ifd3='0'thenendif;elsestore:=din;cnt:=0;endif;endcase;endif;endprocess;endbhv;4、LCD模塊程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic
19、_unsigned.all;entitylcdisport(lcd_clk:instd_logic;dout:instd_logic_vector(7downto0);rs:outstdogic;-寄存器選擇信號rw:outstd_logic;-液晶讀寫信號en:outstd_logic;-液晶時鐘信號data:outstdogic_vector(7downto0);-液晶數(shù)據(jù)信號endlcd;architecturebhvoflcdisistapestates(set_function,set_cursor,set_display,clear_display,set_ddram1,write
20、_data1);signalstate:states;beginprocess(lcd_clk,state)-狀態(tài)機(jī)控制顯示beginiflcd_clk'eventandlcd_clk='1'then,2行,5*7*/casestateiswhenset_function=>data<="00111000"-/*設(shè)置8位格式rs<='0'state<=set_display;,不閃爍*/whenset_display=>data<="00001100"-/*整體顯示,關(guān)光標(biāo)rs&
21、lt;='0'state<=clear_display;whenclear_display=>data<="00000001"rs<='0'state<=set_cursor;顯示移動格式,看最后兩whenset_cursor=>data<="00000110"-/*位,10表示光標(biāo)右移rs<='0'state<=set_ddram1;whenset_ddram1=>data<="10000000"rs<='
22、0'state<=write_data1;whenwrite_data1=>rs<='1'data<=dout;endcase;endif;endprocess;endbhv;324仿真圖10UC4V-W3V0data13rsn廳LnnfLrulWnnnRmnTLrwmj4系統(tǒng)調(diào)試及下載程序編寫完,仿真成功后,引腳設(shè)置對應(yīng)好,在實驗箱上連接好線,最后可以進(jìn)行下載了,然后就可以在實驗箱上觀察實驗結(jié)果了。5設(shè)計總結(jié)這次EDA課程設(shè)計歷時一周,學(xué)到很多很多的東西,不僅可以鞏固以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次設(shè)計,進(jìn)一
23、步加深了對EDA的了解,讓我對它有了更加濃厚的興趣。特別是當(dāng)每一個子模塊編寫調(diào)試成功時,心里特別的開心。但是在編寫頂層文件的程序時,遇到了不少問題,可以說是錯誤百出,系統(tǒng)不停報錯,特別是各元件之間的連接,以及信號的定義,總是有錯誤,在細(xì)心的檢查和請教同學(xué)后,終于找出了錯誤和警告,排除困難后,程序編譯就通過了,心里終于舒了一口氣。其次,在連接各個模塊的時候一定要注意各個輸入、輸出引腳的線寬,因為每個線寬是不一樣的,只要讓各個線寬互相匹配,才能得出正確的結(jié)果,否則,出現(xiàn)任何一點小的誤差就會導(dǎo)致整個文件系統(tǒng)的編譯出現(xiàn)錯誤提示,在器件的選擇上也有一定的技巧,只有選擇了合適當(dāng)前電路所適合的器件,編譯才能得到完滿成功。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度環(huán)保設(shè)備租賃合同價款調(diào)整與環(huán)保設(shè)施運行維護(hù)
- 二零二五年度醫(yī)療健康產(chǎn)業(yè)合作利潤分成協(xié)議
- 2025年度股東持股比例調(diào)整與公司投資決策程序協(xié)議
- 二零二五年度手集裝箱房移動辦公空間轉(zhuǎn)讓協(xié)議
- 二零二五年度知識產(chǎn)權(quán)保護(hù)服務(wù)協(xié)議范本
- 藥店員工勞動合同協(xié)議書(2025年度)-藥品追溯與供應(yīng)鏈安全
- 二零二五年度游泳池租賃與水上運動設(shè)備供應(yīng)合同
- 二零二五年度電商平臺電商平臺數(shù)據(jù)分析與運營優(yōu)化合同
- 電梯維修四季度安全事故應(yīng)急預(yù)案
- 2025年度豪華私人房屋裝修安全保證合同
- 云南省實驗教材信息技術(shù)三年級第一冊第13課PPT課件
- 交際德語教程第二版A1Studio[21] 課后習(xí)題參考答案
- 最新修改 班組安全管理建設(shè)--5831模式通用課件
- 氣割、電氣焊作業(yè)的應(yīng)急救援預(yù)案
- 2018年柴油機(jī)大修工程量單
- 超級精美PPT模版美國經(jīng)典ppt模板(通用珍藏版2)
- 2022年“葉圣陶杯”全國中學(xué)生新作文大賽專用稿紙
- 中醫(yī)內(nèi)科方歌-八
- 氣動控制閥的定義分類及工作原理詳解
- 梯形練字格A4紙打印版
- 對丁達(dá)爾效應(yīng)的研究
評論
0/150
提交評論