按鍵開關(guān)控制液晶顯示器進(jìn)行十進(jìn)制數(shù)字顯示_第1頁
按鍵開關(guān)控制液晶顯示器進(jìn)行十進(jìn)制數(shù)字顯示_第2頁
按鍵開關(guān)控制液晶顯示器進(jìn)行十進(jìn)制數(shù)字顯示_第3頁
按鍵開關(guān)控制液晶顯示器進(jìn)行十進(jìn)制數(shù)字顯示_第4頁
按鍵開關(guān)控制液晶顯示器進(jìn)行十進(jìn)制數(shù)字顯示_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

目錄 2 22.1、設(shè)計(jì)內(nèi)容 22.2、設(shè)計(jì)要求 2、 23.1、設(shè)計(jì)思路 23.2、工作原理及框圖 23.3、各模塊功能描述 33.4、仿真結(jié)果 93.5、實(shí)驗(yàn)箱驗(yàn)證情況 9 、參考文獻(xiàn) 1 學(xué)習(xí)操作數(shù)字電路設(shè)計(jì)實(shí)驗(yàn)開發(fā)系統(tǒng),掌握液晶顯示模塊的工作原理及應(yīng)用; 掌握組合邏輯電路、時(shí)序邏輯電路的設(shè)計(jì)方法; 學(xué)習(xí)掌握可編程器件設(shè)計(jì)的全過程。22.、設(shè)計(jì)內(nèi)容 學(xué)習(xí)掌握按鍵開關(guān)控制模塊、液晶顯示模塊的工作原理及應(yīng)用; 熟練掌握VHDL編程語言,編寫按鍵開關(guān)控制模塊的控制邏輯; 仿真所編寫的程序,模擬驗(yàn)證所編寫的模塊功能; 下載程序到芯片中,硬件驗(yàn)證所設(shè)置的功能,能夠?qū)崿F(xiàn)十進(jìn)制數(shù)字的顯示; 整理設(shè)計(jì)內(nèi)容,編寫設(shè)計(jì)說明書。2.、設(shè)計(jì)要求 本課程設(shè)計(jì)說明書; VHDL源程序及內(nèi)部原理圖; 該設(shè)計(jì)可以在實(shí)驗(yàn)箱上正常工作并演示。33.、設(shè)計(jì)思路由于是按鍵控制十進(jìn)制顯示所以采用十個按鍵K0-K9表示0—9十個數(shù)字;示000-999的選擇則由分別由按鍵K10K11K12下K11位上然后按下K1—K10中的任意一按鍵顯示器則在百位處顯示與之對應(yīng)的數(shù)值;十位、個位數(shù)值的改變的過程與之相同。3.、工作原理及框液晶顯示的工作原理1、基本操作時(shí)序:讀狀態(tài):輸入H 輸出:~D7狀態(tài)寫指令:輸入0~D7指令碼H 輸出:無讀數(shù)據(jù):輸入H 輸出:~D7數(shù)寫數(shù)據(jù):輸入0~D7數(shù)據(jù),E=H 輸出:無該液晶顯示器內(nèi)置了DDRAM該液晶顯示器內(nèi)置了DDRAMCGROM和CGRAM三種存儲器其中DDRAM就是顯示數(shù)據(jù)RAM,用來寄存待顯示的字符代碼;CGROM是液晶模塊內(nèi)部的字符發(fā)生存儲器CGRAM是控制芯片留給用戶,用以存儲用戶自己設(shè)計(jì)的字模編碼存儲器DDRAM地址與顯示位置的對應(yīng)關(guān)系如表1表1 M而設(shè)定DDRAM地址指令為表2 M這里我們送地址的時(shí)候應(yīng)該是0x80+Address、所以寫地址命令的時(shí)候要加上0x80的原因)在DDRAM的00H將00H加上80,即80H,若要在DDRAM的01H處顯示數(shù)據(jù),則必須將01H加上80H即81H。依次類推。數(shù)據(jù)寫入DDRAM或CGRAM指令如表3表3其功能<1>將字符碼寫入DDRAM,以使液晶顯示屏顯示出相對應(yīng)的字符;<2>將使用者自己設(shè)計(jì)的圖形存入CGRAM。3.、各模塊功能描述圖11)按鍵輸入譯碼模塊圖2功能Clk和Key_in為輸入端Key_out為輸出端。Clk為時(shí)鐘輸入,Key_in為按鍵輸入Key_out描K0-K9十個按鍵的狀態(tài),一旦有按鍵Ki的電平為低,則Key_out輸出二進(jìn)制表示的i值。若無按鍵按下則Key_out保持之前的狀態(tài)不變Key_out連接到液晶顯示器控制模塊的輸入端Data_in,來選擇要顯示的字符i。程序代碼:LIBRARYieee;ENTITYKEYISport(Clk:instd_logic;Key_in:instd_logic_vector(9downto0);Key_out:outstd_logic_vector(3downto);ENDKEY;ARCHITECTUREYIMAOFKEYISSIGNALcnt1:std_logic_vector(3downtoBEGINKey_out<=cnt1;process(clk)beginifrising_edge(Clk)casekey_iniswhenwhenwhenwhenwhenwhenwhenwhenwhenwhenwhenendcase;endendprocess;ENDYIMA;2)按鍵選位模塊圖3功能Clk為時(shí)鐘輸入端Sel_in為選位按鍵輸入端Sel_out按鍵共有三個Sel_in[2]、Sel_in[1、Sel_in[0]分別對應(yīng)液晶顯示位置02H、0100HSel_out接液晶顯示控制模塊的Sel輸入端。程序代碼:LIBRARYieee;ENTITYSELISport( Clk:instd_logic;SEL_in:instd_logic_vector(2downto0);SEL_out:outstd_logic_vector(1downto);ENDSEL;ARCHITECTURESELADOFSELISsignaladdr:std_logic_vector(1downtoBEGINSEL_out<=addr;process(clk)beginifrising_edge(Clk)caseSEL_iniswhenwhenwhenwhenothers=>null;endendif;endENDSELAD;3)液晶顯示控制模塊圖4功能Clk,t為復(fù)位輸入端,n接按鍵輸入譯碼模塊的t端,Sel接按鍵選位模塊的Sel_out端,S為寄存器選擇信號,W為液晶讀寫信號N為液晶時(shí)鐘信號D申請信號,為液晶顯示數(shù)據(jù)和命令字輸出端。程序代碼:LIBRARYieee;ENTITYLCDPORT(Clk :instd_logic; --狀態(tài)機(jī)時(shí)鐘信號,同時(shí)也是液晶時(shí)鐘信號,-其周期應(yīng)該滿足液晶數(shù)據(jù)的建立時(shí)Reset:instd_logic;Data_in:instd_logic_vector(3downtoSel :instd_logic_vector(1downto0);LCD_RS:outstd_logic;--寄存器選擇信號LCD_RW:outstd_logic;--液晶讀寫信號LCD_EN:outstd_logic;--液晶時(shí)鐘信號LED :outstd_logic;LCD_Data:outstd_logic_vector(7downtoENDLCD;ARCHITECTUREBehavioralOFLCDIStype state (set_dlnf,set_cursor,set_dcb,set_ddram,write_LCD_Data);signalCurrent_State:state;signalCount :std_logic_vector(18downtosignalClk_Out:std_logic;signalLCD_Clk:beginLCD_EN<= Clk_OutLED<=Clk_Out;LCD_RW<='0';process(Reset,ClkbeginifReset='0'thenCount<=(others=>'0');elsifrising_edge(Clk)Count<=Count+if(Count=0)thenClk_Out<=notendif;endif;LCD_Clk<=endprocess;control:process(LCD_Clk,Reset,Current_State,Data_in,Sel)-液晶驅(qū)動控制器beginifReset='0'thenCurrent_State<=set_dlnf;LCD_RS<='0';elsifrising_edge(LCD_Clk)thenCurrent_State<=Current_StateLCD_RS<='0';caseCurrent_Statewhenset_dlnf=>LCD_Data<="00110000";--30HCurrent_State<=set_cursor;whenset_cursor=>LCD_Data<="00000110";--06HCurrent_State<=set_dcb;whenset_dcb=>LCD_Data<="00001111";--0fHCurrent_State<=set_ddram;whenset_ddram=>LCD_RS<='0';LCD_Data<="10000000"+Sel;--80Hor81Hor82HCurrent_State<=write_LCD_Data;whenwrite_LCD_Data=>LCD_RS<='1';LCD_Data<="00110000"+Data_in;Current_State<=set_ddram;whenothers=>endcase;endif;endEND3.、仿真結(jié)果圖53.、實(shí)驗(yàn)箱驗(yàn)證情況圖6示3 圖7示在此次系統(tǒng)設(shè)計(jì)中,自己對可VHDL語言的應(yīng)用和相應(yīng)程序的編寫有了更深的掌握和加強(qiáng)對狀態(tài)機(jī)的使用和設(shè)計(jì)思路有了更深的理解同時(shí)應(yīng)用也更加熟練了同時(shí)由于設(shè)計(jì)要求模塊設(shè)計(jì)我對模塊設(shè)計(jì)系統(tǒng)的方法也有了更深次的掌握在此次設(shè)計(jì)之前我還沒有接觸過液晶顯示器通過本次系統(tǒng)設(shè)計(jì)我對液晶顯示器的工作原理工作方式及其相應(yīng)的程序編寫有了一定的理解和掌握也認(rèn)識到液晶顯示器在日常生活中的應(yīng)用十分廣泛在設(shè)計(jì)的過程中我遇到了鍵盤消抖問題自己也查找了一些相應(yīng)的消抖程序但由于應(yīng)用的時(shí)鐘頻率很高所以消抖效果不是很好最終選擇了一按鍵對應(yīng)一數(shù)字的方案在系統(tǒng)設(shè)計(jì)的過程中,自己和其他同學(xué)都遇到了許多問題但通過大家的相互幫助查找資料

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論