




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄1、課程設(shè)計(jì)目的.2 2、課程設(shè)計(jì)內(nèi)容和要求.22.1、設(shè)計(jì)內(nèi)容.22.2、設(shè)計(jì)要求.23、 設(shè)計(jì)方案及實(shí)現(xiàn)情況.23.1、設(shè)計(jì)思路.23.2、工作原理及框圖23.3、各模塊功能描述.33.4、仿真結(jié)果.93.5、實(shí)驗(yàn)箱驗(yàn)證情況.94、課程設(shè)計(jì)總結(jié)105、參考文獻(xiàn)101 課程設(shè)計(jì)目的n 學(xué)習(xí)操作數(shù)字電路設(shè)計(jì)實(shí)驗(yàn)開發(fā)系統(tǒng),掌握液晶顯示模塊的工作原理及應(yīng)用;n 掌握組合邏輯電路、時(shí)序邏輯電路的設(shè)計(jì)方法;n 學(xué)習(xí)掌握可編程器件設(shè)計(jì)的全過程。2 課程設(shè)計(jì)內(nèi)容和要求2.1、設(shè)計(jì)內(nèi)容n 學(xué)習(xí)掌握按鍵開關(guān)控制模塊、液晶顯示模塊的工作原理及應(yīng)用;n 熟練掌握VHDL編程語(yǔ)言,編寫按鍵開關(guān)控制模塊
2、的控制邏輯;n 仿真所編寫的程序,模擬驗(yàn)證所編寫的模塊功能;n 下載程序到芯片中,硬件驗(yàn)證所設(shè)置的功能,能夠?qū)崿F(xiàn)十進(jìn)制數(shù)字的顯示;n 整理設(shè)計(jì)內(nèi)容,編寫設(shè)計(jì)說明書。2.2、設(shè)計(jì)要求n 本課程設(shè)計(jì)說明書;n VHDL源程序及內(nèi)部原理圖;n 該設(shè)計(jì)可以在實(shí)驗(yàn)箱上正常工作并演示。3 設(shè)計(jì)方案及實(shí)現(xiàn)情況3.1、設(shè)計(jì)思路由于是按鍵控制十進(jìn)制顯示,所以采用十個(gè)按鍵K0-K9表示09十個(gè)數(shù)字;設(shè)計(jì)三位數(shù)顯示,則可以顯示000-999范圍內(nèi)的任意整數(shù),而百位、十位、個(gè)位的選擇則由分別由按鍵K10、K11、K12控制。若按下K11,則顯示器光標(biāo)跳到百位上,然后按下K1K10中的任意一按鍵,顯示器則在百位處顯示與
3、之對(duì)應(yīng)的數(shù)值;十位、個(gè)位數(shù)值的改變的過程與之相同。3.2、工作原理及框圖液晶顯示的工作原理1、 基本操作時(shí)序:讀狀態(tài):輸入:RS=L,RW=H,E=H 輸出:D0D7=狀態(tài)字寫指令:輸入:RS=L,RW=L,D0D7=指令碼,E=H 輸出:無讀數(shù)據(jù):輸入:RS=H,RW=H,E=H 輸出:D0D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,D0D7=數(shù)據(jù),E=H 輸出:無2、顯示位置及顯示字符的選擇 該液晶顯示器內(nèi)置了DDRAM、CGROM和CGRAM三種存儲(chǔ)器。其中DDRAM就是顯示數(shù)據(jù)RAM,用來寄存待顯示的字符代碼;CGROM是液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器;CGRAM 是控制芯片留給用戶,用
4、以存儲(chǔ)用戶自己設(shè)計(jì)的字模編碼存儲(chǔ)器。DDRAM地址與顯示位置的對(duì)應(yīng)關(guān)系如表1 表1 DDRAM地址與顯示位置的對(duì)應(yīng)關(guān)系而設(shè)定DDRAM地址指令為 表2 DDRAM地址指令這里我們送地址的時(shí)候應(yīng)該是0x80+Address,、所以寫地址命令的時(shí)候要加上0x80的原因)。如果你要想在DDRAM的00H地址處顯示數(shù)據(jù),則必須將00H加上80H,即80H,若要在DDRAM的01H處顯示數(shù)據(jù),則必須將01H加上80H即81H。依次類推。數(shù)據(jù)寫入DDRAM或CGRAM指令如表3 表3 數(shù)據(jù)寫入指令其功能:<1> 將字符碼寫入DDRAM,以使液晶顯示屏顯示出相對(duì)應(yīng)的字符;
5、 <2> 將使用者自己設(shè)計(jì)的圖形存入CGRAM。3.3、各模塊功能描述 圖1 系統(tǒng)電路圖1) 按鍵輸入譯碼模塊 圖2按鍵輸入譯碼模塊功能:Clk和Key_in為輸入端,Key_out為輸出端。Clk為時(shí)鐘輸入,Key_in為按鍵輸入,Key_out為譯碼輸出端。在每次時(shí)鐘的上升沿掃描K0-K9十個(gè)按鍵的狀態(tài),一旦有按鍵Ki的電平為低,則Key_out輸出二進(jìn)制表示的i值。若無按鍵按下則Key_out保持之前的狀態(tài)不變。Key_out連接到液晶顯示器控制模塊的輸入端Data_in,來選擇要顯示的字符i。程序代碼:LIBRARY ieee;ENTITY KEY IS por
6、t( Clk:in std_logic;Key_in : in std_logic_vector(9 downto 0);Key_out : out std_logic_vector(3 downto 0);END KEY;ARCHITECTURE YIMA OF KEY ISSIGNAL cnt1: std_logic_vector(3 downto 0);BEGINKey_out<=cnt1;process(clk)beginif rising_edge( Clk ) thencase key_in iswhen "1111111110"=>cnt1<
7、="0000"when "1111111101"=>cnt1<="0001"when "1111111011"=>cnt1<="0010"when "1111110111"=>cnt1<="0011"when "1111101111"=>cnt1<="0100"when "1111011111"=>cnt1<="0101&quo
8、t;when "1110111111"=>cnt1<="0110"when "1101111111"=>cnt1<="0111"when "1011111111"=>cnt1<="1000"when "0111111111"=>cnt1<="1001"when others=>null;end case;end if;end process;END YIMA;2) 按鍵選位模塊 圖3
9、 按鍵輸入選位模塊功能:Clk為時(shí)鐘輸入端,Sel_in為選位按鍵輸入端,Sel_out為輸出端。選位按鍵共有三個(gè),Sel_in2、 Sel_in1、 Sel_in0分別對(duì)應(yīng)液晶顯示位置02H、01H、00H,也就是百位、十位、個(gè)位。Sel_out接液晶顯示控制模塊的Sel輸入端。程序代碼:LIBRARY ieee;ENTITY SEL IS port(Clk:in std_logic;SEL_in : in std_logic_vector(2 downto 0);SEL_out : out std_logic_vector(1 downto 0);END SEL;ARCHITECTURE
10、SELAD OF SEL ISsignal addr :std_logic_vector(1 downto 0);BEGINSEL_out<=addr;process(clk)beginif rising_edge( Clk ) then case SEL_in iswhen "110"=>addr<="00"when "101"=>addr<="01"when "011"=>addr<="10"when others=>nul
11、l;end case;end if;end process;END SELAD;3) 液晶顯示控制模塊 圖4 液晶顯示控制模塊功能:Clk為時(shí)鐘輸入端,Reset為復(fù)位輸入端,Data_in接按鍵輸入譯碼模塊的Key_out端,Sel接按鍵選位模塊的Sel_out端,LCD_RS為寄存器選擇信號(hào),LCD_RW為液晶讀寫信號(hào),LCD_EN為液晶時(shí)鐘信號(hào),LED申請(qǐng)信號(hào), LCD_Data為液晶顯示數(shù)據(jù)和命令字輸出端。程序代碼:LIBRARY ieee;ENTITY LCD ISPORT( Clk : in std_logic; -狀態(tài)機(jī)時(shí)鐘信號(hào),同時(shí)也是液晶時(shí)鐘信號(hào),-其周期應(yīng)該滿足液晶數(shù)據(jù)的建
12、立時(shí)間 Reset : in std_logic; Data_in : in std_logic_vector(3 downto 0); Sel : in std_logic_vector(1 downto 0); LCD_RS : out std_logic; -寄存器選擇信號(hào) LCD_RW : out std_logic; -液晶讀寫信號(hào) LCD_EN : out std_logic; -液晶時(shí)鐘信號(hào) LED : out std_logic; LCD_Data : out std_logic_vector(7 downto 0); END LCD;ARCHITECTURE Behavior
13、al OF LCD IStype state is (set_dlnf,set_cursor,set_dcb,set_ddram,write_LCD_Data); signal Current_State:state; signal Count : std_logic_vector(18 downto 0);signal Clk_Out : std_logic;signal LCD_Clk : std_logic;beginLCD_EN <= Clk_Out ; LED <= Clk_Out;LCD_RW <= '0' ;process( Reset, Clk
14、 )begin if Reset = '0' then Count <= (others => '0');elsif rising_edge( Clk ) thenCount <= Count + 1;if(Count = 0)thenClk_Out<= not Clk_Out;end if;end if;LCD_Clk<= Clk_Out;end process ;control:process(LCD_Clk,Reset,Current_State,Data_in,Sel) -液晶驅(qū)動(dòng)控制器beginif Reset='
15、0'thenCurrent_State<=set_dlnf;LCD_RS<='0'elsif rising_edge(LCD_Clk)thenCurrent_State<= Current_State ;LCD_RS <= '0'case Current_State iswhen set_dlnf=> LCD_Data<="00110000"-30HCurrent_State<=set_cursor;when set_cursor=>LCD_Data<="00000110
16、"-06HCurrent_State<=set_dcb;when set_dcb=>LCD_Data<="00001111"-0fHCurrent_State<=set_ddram;when set_ddram=>LCD_RS<='0'LCD_Data<="10000000"+Sel;-80H or 81H or 82HCurrent_State<=write_LCD_Data;when write_LCD_Data=> LCD_RS<='1'LCD_D
17、ata<="00110000"+Data_in;Current_State<=set_ddram;when others => null;end case;end if;end process;END Behavioral; 3.4、仿真結(jié)果 圖5 系統(tǒng)仿真波形3.5、實(shí)驗(yàn)箱驗(yàn)證情況 圖6 兩位顯示03 圖7 三位顯示999 4、課程設(shè)計(jì)總結(jié) 在此次系統(tǒng)設(shè)計(jì)中,自己對(duì)可VHDL語(yǔ)言的應(yīng)用和相應(yīng)程序的編寫有了更深的掌握和加強(qiáng),對(duì)狀態(tài)機(jī)的使用和設(shè)計(jì)思路有了更深的理解,同時(shí)應(yīng)用也更加熟練了。同時(shí)由于設(shè)計(jì)要求模塊設(shè)計(jì),我對(duì)模塊設(shè)計(jì)系統(tǒng)的方法也有了更深次的掌握。在此次設(shè)計(jì)之前我還沒有接觸過液晶顯示器,通過本次系統(tǒng)設(shè)計(jì)我對(duì)液晶顯示器的工作原理、工作方式及其相應(yīng)的程序編寫有了一定的理解和掌握,也認(rèn)識(shí)到液晶顯示器在日常生活中的應(yīng)用十分廣泛。在設(shè)計(jì)的過程中,我遇到了鍵盤消抖問題,自己也查找了一些相應(yīng)的消抖程序,但由于應(yīng)用的時(shí)鐘頻率很高,所以消抖效果不是很好,最終選擇了一按鍵對(duì)應(yīng)一數(shù)字的方案。在系統(tǒng)設(shè)計(jì)的過程中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省前黃中學(xué)2025屆高三下學(xué)期二模適應(yīng)性考試(二)語(yǔ)文試卷
- 2025保險(xiǎn)公司合同管理制度規(guī)范
- 甘肅省天水市2024~2025學(xué)年 高一下冊(cè)第三階段測(cè)試(5月月考)數(shù)學(xué)試卷附解析
- 福建省龍巖市2024-2025學(xué)年高二下冊(cè)第二次月考(3月)數(shù)學(xué)試卷附解析
- 安徽省六安市2024~2025學(xué)年 高二下冊(cè)4月月考B班數(shù)學(xué)試卷附解析
- 2025屆廣東省中考二模數(shù)學(xué)試卷
- 虛實(shí)界限-青年亞文化在數(shù)字時(shí)代的抵抗性邊界-洞察闡釋
- 上海交通大學(xué)醫(yī)學(xué)院附屬瑞金醫(yī)院招聘筆試真題2024
- 陜西延安“優(yōu)師計(jì)劃地方專項(xiàng)”師范畢業(yè)生招聘筆試真題2024
- 2025年古文字基礎(chǔ)試題
- 2025年全釩液流電池行業(yè)調(diào)研分析報(bào)告
- 2025年二級(jí)建造師考試《礦業(yè)工程管理與實(shí)物》真題及答案
- 2025年P(guān)ython數(shù)據(jù)分析試題及答案
- 植物保護(hù)通論重點(diǎn)復(fù)習(xí)題
- 兒童抽動(dòng)障礙共患焦慮抑郁障礙診治2025
- 2024年山東省初中學(xué)業(yè)水平考試語(yǔ)文試題(文字版-含答案)
- 2024-2025教科版一年級(jí)下冊(cè)科學(xué)期末考試卷附參考答案 (三套)
- 高血壓藥的類型
- 家規(guī)家訓(xùn)課件
- 《深圳音樂廳解析》課件
- 2025屆河南省鶴壁市淇縣第一中學(xué)高三下學(xué)期聯(lián)合考試英語(yǔ)試題含解析
評(píng)論
0/150
提交評(píng)論