項目六 1602液晶顯示計數(shù)器制作_第1頁
項目六 1602液晶顯示計數(shù)器制作_第2頁
項目六 1602液晶顯示計數(shù)器制作_第3頁
項目六 1602液晶顯示計數(shù)器制作_第4頁
項目六 1602液晶顯示計數(shù)器制作_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、高等教育出版社Higher Education Press高等教育出版社Higher Education Press1602液晶簡介 所謂所謂16021602就是指它的顯示內(nèi)容為就是指它的顯示內(nèi)容為16X216X2,即顯示,即顯示兩行,每行兩行,每行1616個字符。個字符。1602LCD1602LCD模塊帶有背光光源,模塊帶有背光光源,并行接口,可以與單片機(jī)并行接口,可以與單片機(jī)I/OI/O口直接相連??谥苯酉噙B。高等教育出版社Higher Education Press項目綱要任務(wù)一 1602液晶顯示字符任務(wù)二 1602液晶顯示計數(shù)器制作高等教育出版社Higher Education Pre

2、ss任務(wù)一 1602液晶顯示字符(一)任務(wù)要求(一)任務(wù)要求 使用使用YL-236YL-236單片機(jī)實訓(xùn)考核裝置顯示模塊中的單片機(jī)實訓(xùn)考核裝置顯示模塊中的1602LCD1602LCD,上電后液晶屏第一行居中顯示字符,上電后液晶屏第一行居中顯示字符WelcomeWelcome,第,第二行居中顯示字符二行居中顯示字符2013-05-012013-05-01。顯示界面。顯示界面如下圖所示如下圖所示。高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符實現(xiàn)本任務(wù)的實現(xiàn)本任務(wù)的方法:方法: 可以采用前面可以采用前面LEDLED點陣顯示的方法,建立顯示緩沖區(qū),將點陣顯示的

3、方法,建立顯示緩沖區(qū),將要顯示的內(nèi)容在顯示緩沖區(qū)中定義,掃描函數(shù)負(fù)責(zé)將顯示緩要顯示的內(nèi)容在顯示緩沖區(qū)中定義,掃描函數(shù)負(fù)責(zé)將顯示緩沖區(qū)中的內(nèi)容送入沖區(qū)中的內(nèi)容送入DDRAMDDRAM,其余全部由顯示屏內(nèi)部電路進(jìn)行掃,其余全部由顯示屏內(nèi)部電路進(jìn)行掃描顯示。實現(xiàn)的方法這種方法看起來是多進(jìn)行了一次緩沖描顯示。實現(xiàn)的方法這種方法看起來是多進(jìn)行了一次緩沖(因為(因為1602LCD1602LCD已經(jīng)有內(nèi)部的顯存了),但比較直觀,容易理已經(jīng)有內(nèi)部的顯存了),但比較直觀,容易理解;還有一種方法就是直接根據(jù)字符的位置,由顯示函數(shù)直解;還有一種方法就是直接根據(jù)字符的位置,由顯示函數(shù)直接將要顯示的字符送入緩存中相應(yīng)的

4、位置。本項目采用前面接將要顯示的字符送入緩存中相應(yīng)的位置。本項目采用前面一種方法一種方法。(二)任務(wù)分析(二)任務(wù)分析高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2. 1602液晶顯示模塊知識液晶顯示模塊知識(1 1)模塊外形及引腳)模塊外形及引腳 YL-236YL-236裝置上裝置上16021602液晶結(jié)構(gòu)示意圖液晶結(jié)構(gòu)示意圖高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602液晶顯示模塊知識液晶顯示模塊知識(1 1)模塊外形及引腳)模塊外形及引腳16021602液晶引腳及其功能液晶引腳及其功

5、能引腳號名稱輸入/輸出作用1Vss電源負(fù)端(0V)2Vdd電源正端(+5V)3V0對比度調(diào)節(jié)4RS輸入數(shù)據(jù)/指令寄存器選擇端RS=0,輸入指令;RS=1,輸入數(shù)據(jù)。5R/W輸入讀寫選擇端R/W=0,寫操作;R/W,讀操作。6E輸入使能信號,下降沿觸發(fā)7-14DB0-DB7輸入/輸出數(shù)據(jù)總線從低位到高位15LEDA背光電源正端(+5V)16LEDK背光電源負(fù)端(0V)高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602液晶顯示模塊知識液晶顯示模塊知識(2 2)模塊顯示)模塊顯示字符原理字符原理LCD控制器VDDVSSV0RSR/WDB0-

6、DB7LCD驅(qū)動器LCD顯示 模塊內(nèi)部由三部分組成,控制器和驅(qū)動器往往由專用的集成電路完成,大部分都是HD44780或其兼容的芯片。HD44780主要由DDRAM、CGROM等部分組成。高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602液晶顯示模塊知識液晶顯示模塊知識(2 2)模塊顯示)模塊顯示字符原理字符原理 DDRAM為數(shù)據(jù)顯示RAM(Data Display RAM),用以存放要LCD顯示的數(shù)據(jù),能存儲80個字符。只要將標(biāo)準(zhǔn)的ASC碼放入DDRAM,內(nèi)部控制線路就會自動將數(shù)據(jù)傳送到顯示器上,并顯示出該ASC碼對應(yīng)的字符。顯示位置

7、序號顯示位置序號1 2 3 4 5 6 7 。39 40DDRAMDDRAM地地 址址第一行第一行00 01 02 03 04 05 06 。26 27第二行第二行40 41 42 43 44 45 46 。66 67注:如果要在LCD1602屏幕的第一行第二列顯示一個P字,就要向DDRAM的01H地址寫入“P”字的代碼0X50就行了。那么一行可有40個地址呀?是的,在1602中我們就用前16個就行了。第二行也一樣用前16個地址,所以在后面寫程序的時候注意第二行的位置是從40開始的。另外需要注意的是:我們往DDRAM里的01H地址處送一個數(shù)據(jù),如0 x50(P的代碼)并不能顯示P出來,原因就是

8、如果你要想在DDRAM的01H地址處顯示數(shù)據(jù),則必須將01H加上80H,即81H,若要在DDRAM的02H處顯示數(shù)據(jù),則必須將02H加上80H即82H。依次類推。高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602液晶顯示模塊知識液晶顯示模塊知識(2 2)模塊顯示)模塊顯示字符原理字符原理 CGROMCGROM為字符產(chǎn)生器為字符產(chǎn)生器ROMROM(Character Generator ROMCharacter Generator ROM),),它存儲了由它存儲了由8 8位字符碼生成的位字符碼生成的192192個個5 5點陣字符和點陣字

9、符和3232種種5 51010點陣字符。點陣字符。8 8位字符編碼和字符的對應(yīng)關(guān)系位字符編碼和字符的對應(yīng)關(guān)系(內(nèi)置字符集)如圖所示。每一個(內(nèi)置字符集)如圖所示。每一個字符都有一個固定的代碼,比如大字符都有一個固定的代碼,比如大寫的英文字母寫的英文字母“A A”的代碼是的代碼是01000001B01000001B(0X410X41),顯示時模塊把),顯示時模塊把地址地址0X410X41中的點陣字符圖形顯示出中的點陣字符圖形顯示出來,我們就能看到字母來,我們就能看到字母“A A”了。了。高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602

10、液晶顯示模塊知識液晶顯示模塊知識模塊與單片機(jī)硬件接口電路(3 3)模塊的使用)模塊的使用硬件接口電路硬件接口電路高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602液晶顯示模塊知識液晶顯示模塊知識(3 3)模塊的使用)模塊的使用模塊控制指令模塊控制指令指令名稱指令名稱控制信控制信號號指令代碼指令代碼功能功能RSRSR/WR/W D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0顯示模式設(shè)置顯示模式設(shè)置0 00 00 0 1 1 1 0 0 00 0 1 1 1 0 0 0設(shè)置設(shè)置16X216X2

11、,5X75X7點陣,點陣,8 8位數(shù)據(jù)位數(shù)據(jù)顯示開關(guān)控制顯示開關(guān)控制0 00 00 0 0 0 1 D C B0 0 0 0 1 D C B設(shè)置顯示、光標(biāo)、閃爍開關(guān):設(shè)置顯示、光標(biāo)、閃爍開關(guān):D:D:為為1 1開顯示;為開顯示;為0 0關(guān)顯示關(guān)顯示C:C:為為1 1顯示光標(biāo);為顯示光標(biāo);為0 0不顯示光標(biāo)不顯示光標(biāo)B:B:為為1 1光標(biāo)閃爍;為光標(biāo)閃爍;為0 0不顯示光標(biāo)不顯示光標(biāo)輸入模式控制輸入模式控制0 00 00 0 0 0 0 1 N S0 0 0 0 0 1 N S設(shè)置光標(biāo)、顯示畫面移動方向設(shè)置光標(biāo)、顯示畫面移動方向N:N:為為1 1,讀寫一個字符后,地址指針加,讀寫一個字符后,地址

12、指針加1 1,光標(biāo)加,光標(biāo)加1 1;為為0 0,讀寫一個字符后地址指針減,讀寫一個字符后地址指針減1 1,光標(biāo)減,光標(biāo)減1 1。S:S:為為1 1,寫入一個字符后整屏左移(,寫入一個字符后整屏左移(N=1N=1)或右移)或右移(N=0N=0);為);為0 0,寫一個字符整屏顯示不動。,寫一個字符整屏顯示不動。讀數(shù)據(jù)讀數(shù)據(jù)1 11 1數(shù)據(jù)數(shù)據(jù)從從DDRAMDDRAM中讀取數(shù)據(jù)中讀取數(shù)據(jù)寫數(shù)據(jù)寫數(shù)據(jù)1 10 0數(shù)據(jù)數(shù)據(jù)對對DDRAMDDRAM進(jìn)行寫數(shù)據(jù)進(jìn)行寫數(shù)據(jù)清屏清屏0 00 00 0 0 0 0 0 0 10 0 0 0 0 0 0 1清除顯示器的內(nèi)容,光標(biāo)到左上角清除顯示器的內(nèi)容,光標(biāo)到左上

13、角光標(biāo)歸位設(shè)定光標(biāo)歸位設(shè)定0 00 00 0 0 0 0 0 1 0 0 0 0 0 0 1 * *地址計數(shù)器清地址計數(shù)器清0 0,DDRAMDDRAM數(shù)據(jù)不變。數(shù)據(jù)不變。* *表示為表示為0 0或或1 1。高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602液晶顯示模塊知識液晶顯示模塊知識(3 3)模塊的使用)模塊的使用模塊指令操作時序模塊指令操作時序高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602液晶顯示模塊知識液晶顯示模塊知識(3 3)模塊的使用)模塊的使用驅(qū)動函數(shù)驅(qū)動

14、函數(shù)void delay(uint us); /短延時函數(shù)聲明void delay_ms(uint ms); /毫秒級延時函數(shù)聲明void wcmd_1602(uchar cmd); /寫命令到LCD函數(shù)聲明void wdat_1602(uchar dat); /寫數(shù)據(jù)到LCD函數(shù)聲明void init_1602(); /初始化函數(shù)聲明void disp_one(uchar x, uchar y,uchar dispbuf);/到指定位置顯示單個字符的函數(shù)聲明void disp_mul(uchar x, uchar y,uchar code *dispbuf);/到指定的位置顯示多個字符的函數(shù)

15、聲明高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602液晶顯示模塊知識液晶顯示模塊知識(3 3)模塊的使用)模塊的使用驅(qū)動函數(shù)驅(qū)動函數(shù)/*向LCD寫入命令*/void wcmd_1602(uchar cmd)delay(60); /延時,不檢測忙信號 E=0; /初始狀態(tài)E=0 RS=0; /初始狀態(tài)RS=0 RW=0; /初始狀態(tài)RW=0 _nop_(); /極短延時 DATAPORT=cmd; /單片機(jī)給出有效的指令數(shù)據(jù) _nop_(); /極短延時 _nop_(); E=1; /產(chǎn)生E下降沿執(zhí)行命令寫入 _nop_(); _no

16、p_(); _nop_(); E=0; _nop_();高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602液晶顯示模塊知識液晶顯示模塊知識(3 3)模塊的使用)模塊的使用驅(qū)動函數(shù)驅(qū)動函數(shù)/*到指定的位置顯示字符*/void disp_one(uchar x, uchar y,uchar dispbuf)y&=0 x01; /限制行數(shù)y不能大于1x&=0 x0f; /限制1行字符數(shù)x不能大于15if(y=1) /如果在第二行則字符地址從0 x40 x|=0 x40;x|=0 x80; /設(shè)置地址指針wcmd_1602(x); /寫地址碼

17、wdat_1602(dispbuf); /寫數(shù)據(jù)高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符2.16022.1602液晶顯示模塊知識液晶顯示模塊知識(3 3)模塊的使用)模塊的使用驅(qū)動函數(shù)驅(qū)動函數(shù)/*到指定的位置顯示多個字符*/void disp_mul(uchar x, uchar y,uchar code *dispbuf)uchar len, i;len=strlen(dispbuf); /計算要顯示的字符串長度y&=0 x01; /限制X,Y位置x&=0 x0F;if(x=0 x0F) /X坐標(biāo)小于一行執(zhí)行顯示 for (i=0;ilen;i+

18、) disp_one(x,y,dispbufi); /顯示單個字符 x+; 高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符3.C51的庫函數(shù)簡介 C51強(qiáng)大功能及其高效率的重要體現(xiàn)之一在于其豐富的可直接調(diào)用的庫函數(shù),要使用庫函數(shù),則必須將用到的每個庫函數(shù)都在相應(yīng)的頭文件(.H)中給出了函數(shù)原型聲明,即用#include,將有關(guān)的頭文件包含進(jìn)來,然后再用戶的源文件中就可以直接使用包含的頭文件中的庫函數(shù)了。(1)專用寄存器庫函數(shù)REG.H 專用寄存器庫函數(shù)REG.H中定義了所有8052的SFR及其位,定義時都用大寫字母。高等教育出版社Higher Educa

19、tion Press任務(wù)一 1602液晶顯示字符3. C513. C51的庫函數(shù)簡介的庫函數(shù)簡介(2)字符串函數(shù)STRING.H 該文件中包括了對字符的復(fù)制、比較、移動等函數(shù),使用這些函數(shù)可以很方便地對字符串進(jìn)行處理。例如:strlen函數(shù)的函數(shù)原型為int strlen (char *src);其功能是返回字符串src中的字符個數(shù),包括結(jié)束符。(3)內(nèi)部函數(shù)INTRINS.H 該文件提供了幾個最常用的移位操作函數(shù)以及空操作等函數(shù)。例如:_nop_函數(shù)的原型為void _nop_(void),其功能是產(chǎn)生一個MCS-51單片機(jī)的NOP(空)指令,實現(xiàn)短暫的延時。高等教育出版社Higher Ed

20、ucation Press任務(wù)一 1602液晶顯示字符(三)硬件電路(三)硬件電路1602液晶顯示字符電路原理圖高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符(三)硬件電路(三)硬件電路硬件模塊接線圖高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符(四)參考程序(四)參考程序#include #include 1602LCD.h/*變量定義*/uchar code Onedisp1= Welcome! ;/待顯示的字符串uchar code Onedisp2= 2013-05-01 ;/待顯示的字符串/*主函數(shù)*/v

21、oid main()/定義主函數(shù) init_1602(); /LCD初始化 delay(50); /延時等待穩(wěn)定 disp_mul(0,0,Onedisp1); /第一行顯示W(wǎng)elcome! disp_mul(0,1,Onedisp2);/第二行顯示2013-05-01 while(1) ;/無限循環(huán)高等教育出版社Higher Education Press任務(wù)一 1602液晶顯示字符(五)任務(wù)實施步驟(五)任務(wù)實施步驟1硬件電路連接;2. 打開KEIL軟件,通過菜單“項目/新建項目”,新建立一個工程項目1602LCD1,然后再建一個文件名為1602LCD1.C的源程序文件,將上面的參考程序輸

22、入并保存,同時將該文件添加到項目中;3.對源程序進(jìn)行編譯和鏈接,產(chǎn)生目標(biāo)代碼并使用下載器將目標(biāo)代碼寫入單片機(jī);4. 通電觀察運行結(jié)果,如果不能實現(xiàn)任務(wù)要求,則修改程序、調(diào)整和檢查硬件連接,直到1602液晶顯示正常;5. 進(jìn)行扎線,整理。高等教育出版社Higher Education Press謝謝!謝謝!高等教育出版社Higher Education Press任務(wù)二 1602液晶顯示計數(shù)器制作(一)任務(wù)要求(一)任務(wù)要求 使用YL-236單片機(jī)實訓(xùn)考核裝置顯示模塊中的1602LCD制作一個計數(shù)器,顯示界面如圖所示。該計數(shù)器具體要求如下:1計數(shù)器上電后第一行顯示“Count: 000”(在Co

23、unt:后空一格,然后是三位計數(shù)器的顯示數(shù)值從000-999)。第二行顯示功能操作鍵提示字符“S1:+ S2:- S3:R”。2計數(shù)器使用三個按鍵對計數(shù)器進(jìn)行控制。其中:S1鍵為計數(shù)值加鍵,每按一次,顯示的計數(shù)值加1;S2為計數(shù)值減鍵,每按一次鍵,顯示的計數(shù)值減1;S3鍵為復(fù)位鍵,按一次,計數(shù)器復(fù)位,顯示的計數(shù)值為000。高等教育出版社Higher Education Press任務(wù)二 1602液晶顯示計數(shù)器制作 與本項目的第一個任務(wù)相比,LCD1602在顯示上的最大區(qū)別是第一行中的計數(shù)值會隨著計數(shù)的進(jìn)行而實時改變;而第一行的count:和第二行顯示的字符是固定不變的,這些可以采用與第一個任務(wù)

24、相同的方法,調(diào)用到指定的位置顯示字符的子函數(shù),將要顯示的內(nèi)容送到顯示緩沖區(qū)。而計數(shù)值因為是變量,所以必須定義變量,顯示時只要將該變量的實時值拆分后送到相應(yīng)的顯示位置就可以顯示所需的內(nèi)容了。按鍵等部分實現(xiàn)比較簡單,這里就不再多述。(二)任務(wù)分析(二)任務(wù)分析高等教育出版社Higher Education Press任務(wù)二 1602液晶顯示計數(shù)器制作(三)硬件電路(三)硬件電路液晶顯示計數(shù)器電路原理圖高等教育出版社Higher Education Press任務(wù)二 1602液晶顯示計數(shù)器制作(三)硬件電路(三)硬件電路液晶顯示計數(shù)器電路模塊接線圖高等教育出版社Higher Education Press任務(wù)二 1602液晶顯示計數(shù)器制作(四)參考程序(四)參考程序主函數(shù)流程圖高等教育出版社Higher Education Press任務(wù)二 1602液晶顯示計數(shù)器制作/*變量定義*/uchar Onedisp1 = Count: ; /待顯示的字符串uchar code Onedisp2=S1:+ S2:- S3:P;/待顯示的字符串uchar code disp_tab=0 x30,0 x31,0 x32,0 x33,0 x34,0

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論