16X2字符型液晶顯示模塊驅(qū)動(dòng)_第1頁
16X2字符型液晶顯示模塊驅(qū)動(dòng)_第2頁
16X2字符型液晶顯示模塊驅(qū)動(dòng)_第3頁
16X2字符型液晶顯示模塊驅(qū)動(dòng)_第4頁
16X2字符型液晶顯示模塊驅(qū)動(dòng)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、浙江師范大學(xué)數(shù)理與信息工程學(xué)院課程設(shè)計(jì)新穎60秒旋轉(zhuǎn)電子鐘PAGE PAGE 12 數(shù)理與信息工程學(xué)院課 程 設(shè) 計(jì) 題 目: 16X2字符型液晶顯示模塊驅(qū)動(dòng) 專 業(yè): 班 級(jí): 姓 名: 學(xué)號(hào): 實(shí)驗(yàn)地點(diǎn):指導(dǎo)老師: 成 績(jī): ( 2006.6 )目 錄 引 言3 1.1 162液晶顯示模塊概述31.2 本設(shè)計(jì)任務(wù) 31.3 系統(tǒng)基本功能3第2節(jié) 系統(tǒng)硬件設(shè)計(jì)42.1 系統(tǒng)的硬件構(gòu)成及功能42.2 AT89C2051單片機(jī)及其引腳說明52.3 MD162液晶顯示模塊及其引腳說明 6第3節(jié) 系統(tǒng)軟件設(shè)計(jì)7系統(tǒng)主程序設(shè)計(jì)7字符發(fā)生存儲(chǔ)器8MD-162內(nèi)部控制器的指令 93.4 字符發(fā)生器RAM地

2、址設(shè)置 9 系統(tǒng)調(diào)試與測(cè)試結(jié)果分析 結(jié)束語10 液晶顯示模塊的比較并舉例其在實(shí)際中的應(yīng)用等參考文獻(xiàn) 11附錄 12 1. 液晶顯示字符使用說明12 2. 在第一行顯示”HELLO”全部源程序133. 采用查表的方法實(shí)現(xiàn)字符顯示1516X2字符型液晶顯示模塊的驅(qū)動(dòng)第1節(jié) 引 言液晶顯示器(LCD)以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來越廣泛的應(yīng)用。字符型液晶模塊是一種用5x7點(diǎn)陣圖形來顯示字符的液晶顯示器,根據(jù)顯示的容量可以分為1行16個(gè)字、2行16個(gè)字、2行20個(gè)字等等.這里以常用的2行16個(gè)字的DM-162液晶模塊來驅(qū)動(dòng)顯示字符.1.1

3、162液晶顯示模塊的驅(qū)動(dòng)概述162液晶顯示模塊的驅(qū)動(dòng)采用AT89C2051芯片及DM-162顯示模塊實(shí)現(xiàn)162個(gè)字符的左移或者右移顯示.AT89C2051用以控制顯示字符的位置,字符的顯示方式,及傳遞字符字碼.1.2 本設(shè)計(jì)任務(wù)使用AT89C2051實(shí)現(xiàn)液晶模塊的字符控制顯示.1.3 系統(tǒng)主要功能 162液晶顯示模塊的外觀如圖1所示。 其主要功能有:在液晶顯示模塊的某個(gè)具體的存儲(chǔ)位置顯示指定的字符;控制一連串字符向左或者向右移動(dòng);控制單行或者雙行顯示。圖1: 系統(tǒng)硬件設(shè)計(jì) 本系統(tǒng)主要實(shí)現(xiàn)的硬件設(shè)計(jì),包括三個(gè)方面的內(nèi)容:第一,我們所熟悉的單片機(jī)AT89C2051的引腳定義及設(shè)置;第二,DM162

4、與TA89C2051的引腳連接;第三,DM162的電源部分.2.1 系統(tǒng)的硬件構(gòu)成及功能液晶顯示模塊的原理框圖如圖2所示。它由以下幾個(gè)部件組成:?jiǎn)纹瑱C(jī)AT89C2051、電源、液晶字符顯示部件DM-162、電源供電部分。單片機(jī)部分:采用AT89C2051芯片實(shí)現(xiàn)對(duì)DM-162的控制顯示字符顯示模塊: 選擇2行16個(gè)字的顯示容量.電源部分: +5V電壓供電,維持系統(tǒng)的正常工作,同時(shí)加載10K電位器以適應(yīng)不用亮度的顯示字符即對(duì)比度的調(diào)整.AT89C2051顯示驅(qū)動(dòng)DM-162電源供電 圖2 液晶顯示系統(tǒng)原理框圖22 AT89C2051單片機(jī)及其引腳說明AT89C2051單片機(jī)是51系列單片機(jī)的一個(gè)

5、成員,是8051單片機(jī)的簡(jiǎn)化版。內(nèi)部自帶2K字節(jié)可編程FLASH存儲(chǔ)器的低電壓、高性能COMS八位微處理器,與Intel MCS-51系列單片機(jī)的指令和輸出管腳相兼容。由于將多功能八位CPU和閃速存儲(chǔ)器結(jié)合在單個(gè)芯片中,因此,AT89C2051構(gòu)成的單片機(jī)系統(tǒng)是具有結(jié)構(gòu)最簡(jiǎn)單、造價(jià)最低廉、效率最高的微控制系統(tǒng),省去了外部的RAM、ROM和接口器件,減少了硬件開銷,節(jié)省了成本,提高了系統(tǒng)的性價(jià)比。AT89C2051是一個(gè)有20個(gè)引腳的芯片,引腳配置如圖3所示。與8051相比,AT89C2051減少了兩個(gè)對(duì)外端口(即P0、P2口),使它最大可能地減少了對(duì)外引腳,因而芯片尺寸有所減小。圖3 AT89

6、C2051引腳配置AT89C2051芯片的20個(gè)引腳功能為:VCC 電源電壓。GND 接地。RST 復(fù)位輸入。當(dāng)RST變?yōu)楦唠娖讲⒈3?個(gè)機(jī)器周期時(shí),所有I/O引腳復(fù)位至“1”。XTAL1 反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2 來自反向振蕩放大器的輸出。P1口 8位雙向I/O口。引腳P1.2P1.7提供內(nèi)部上拉,當(dāng)作為輸入并被外部下拉為低電平時(shí),它們將輸出電流,這是因內(nèi)部上拉的緣故。P1.0和P1.1需要外部上拉,可用作片內(nèi)精確模擬比較器的正向輸入(AIN0)和反向輸入(AIN1),P1口輸出緩沖器能接收20mA電流,并能直接驅(qū)動(dòng)LCD顯示器;P1口引腳寫入“1” 后,可用

7、作輸入。在閃速編程與編程校驗(yàn)期間,P1口也可接收編碼數(shù)據(jù)。P3口 引腳P3.0P3.5與P3.7為7個(gè)帶內(nèi)部上拉的雙向I/0引腳。P3.6在內(nèi)部已與片內(nèi)比較器輸出相連,不能作為通用I/O引腳訪問。P3口的輸出緩沖器能接收20mA的灌電流;P3口寫入“1”后,內(nèi)部上拉,可用輸入。P3口也可用作特殊功能口,其功能見表1。P3口同時(shí)也可為閃速存儲(chǔ)器編程和編程校驗(yàn)接收控制信號(hào)。表1 P3口特殊功能 P3口引腳特殊功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外部中斷0)P3.3(外部中斷1)P3.4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入) 23 DM-162液晶

8、模塊及其引腳說明DM-162采用標(biāo)準(zhǔn)的14腳接口,其中:VSS為地電源VDD接5V正電源V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度。 RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。D0D7為8位雙向數(shù)據(jù)線。DM-162液晶

9、模塊與單片機(jī)連接圖 DM-162液晶顯示模塊可以和單片機(jī)AT89C2051直接相連,電路如圖4所示圖4 芯片連接圖第3節(jié) 系統(tǒng)的軟件設(shè)計(jì) 本系統(tǒng)的軟件設(shè)計(jì)主要考慮到幾個(gè)方面:第一,顯示控制的初始設(shè)置,即控制指令的選擇;第二,顯示字符的位置選擇即顯示存儲(chǔ)單位的確定;第三,顯示字符的內(nèi)碼的對(duì)應(yīng)選擇.31 系統(tǒng)主程序設(shè)計(jì) 調(diào)用寫入命令子程序初始化數(shù)據(jù)寫入顯示起始地址DM-162顯示初始化判斷忙否?寫入字符并顯示等待空閑完成顯示并停止移動(dòng)是不圖8 系統(tǒng)程序流程圖字符發(fā)生存儲(chǔ)器 DM-162液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如表2所示,這些字符有:阿拉伯?dāng)?shù)字

10、、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”. 表2 字符代碼對(duì)應(yīng)表3.3 MD-162內(nèi)部控制器的指令DM-162液晶模塊內(nèi)部的控制器共有11條控制指令,如表3所示,它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平) 表3 11條指令表指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左

11、移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍指令5:光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)指令6:功能設(shè)置命令. DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符指令7:字符發(fā)生器RAM地址設(shè)置指令8:DDRAM地址設(shè)置指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,

12、高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)指令11:讀數(shù)據(jù)34 字符發(fā)生器RAM地址設(shè)置 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,表4是DM-162的內(nèi)部顯示地址,比如第二行第一個(gè)字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(

13、C0H). 表4 字符發(fā)生器RAM地址結(jié) 束 語 本系統(tǒng)的實(shí)現(xiàn)相對(duì)比較簡(jiǎn)單,主要了解了AT89C2051與DM-162的連接顯示.AT89C2051對(duì)液晶字符的控制顯示.通過本系統(tǒng)的學(xué)習(xí)也讓我比較深刻的認(rèn)識(shí)到DM-162的顯示原理及內(nèi)部結(jié)構(gòu)特征.這與書上8051芯片與HD44780顯示模塊的連接顯示功能相近,也是經(jīng)過兩個(gè)主要的過程顯示控制字符,首先就是對(duì)液晶顯示模塊進(jìn)行初始化設(shè)置,即包括清除顯示,功能設(shè)置,開關(guān)顯示,方式設(shè)置等.然后,在判斷為不忙的情況下寫入顯示的字符數(shù)據(jù).看起來功能可能比較單一,只是涉及到了單處機(jī)對(duì)DM-162液晶字符模塊的控制顯示,而且這個(gè)字符的字碼是每次經(jīng)過人為的改變而實(shí)

14、現(xiàn)其顯示,所以從實(shí)用性方面考慮不怎么理想.但是從AT89C2051本身的功能特性考慮,我們可以設(shè)想,通過AT89C2051的串口自動(dòng)得到外部的可變數(shù)據(jù),再經(jīng)過字碼對(duì)照表所得待顯示的數(shù)據(jù)不失為一種好的辦法.在這里,自動(dòng)獲得的數(shù)據(jù)可以通過傳感器來實(shí)現(xiàn).比如,加油站里面的加油量控制顯示,就可以通過測(cè)量檢測(cè)傳感器來實(shí)現(xiàn)輸出的油量,然后輸入到單片機(jī)的串口,再經(jīng)過字碼對(duì)應(yīng)表來獲得在液晶顯示字符模塊中顯示的數(shù)據(jù).再比如由溫度傳感器獲取的溫度經(jīng)A/D轉(zhuǎn)換后,讀入到AT89C2051單片機(jī)中,就可以顯示出當(dāng)時(shí)的溫度.總之,DM-162作為一種小型的字符顯示器,在日常生活中碰到的一些儀器設(shè)備中還是比較有實(shí)用價(jià)值,

15、因此值得我們?nèi)チ私馑?掌握如何去運(yùn)用它.參考文獻(xiàn)1高鋒. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)及實(shí)用技術(shù).機(jī)械工業(yè)出版社.2004.4附 錄1. 液晶顯示字符使用說明 DM-162液晶顯示模塊的字符顯示,可分為好幾種顯示模式,這主要取決于對(duì)具體的應(yīng)用.如靜態(tài)的顯示,還是動(dòng)態(tài)的左移或者右移顯示.那么這個(gè)主要是在程序設(shè)計(jì)的過程中,進(jìn)行初始化所決定的.因此,在使用之前先確定使用的目的,選擇好顯示的方式,當(dāng)然得找出相應(yīng)的顯示字符的字符代碼及在DM-162液晶顯示模塊的相應(yīng)顯示位置的RAM地址.然后進(jìn)行每個(gè)字符的寫入顯示.在使用的過程中,還得注意的一點(diǎn)是,可能是顯示驅(qū)動(dòng)電壓的不穩(wěn)定性,或者是由于驅(qū)動(dòng)電壓的過高,會(huì)形成一種

16、鬼影的現(xiàn)象,因此需要手動(dòng)對(duì)10K的電位器進(jìn)行對(duì)比度調(diào)整以達(dá)到顯示的良好效果.2. 在第一行顯示”HELLO”全部源程序程序設(shè)計(jì)步驟詳解:參照?qǐng)D顯示HELLO字符的位置情況如表5:表5:HELLO根據(jù)所給字符首先確定它的字碼對(duì)應(yīng)情況:H:01001000BE:01000101BL:01001100BO:01001111B根據(jù)表5所顯示字符的具體位置找出相應(yīng)的RAM地址位置:H: 00000000B(00H)+00000110B(06H)=00000110B(06H)E: 00000000B(00H)+00000111B(07H)=00000111B(07H)L(1): 00000000B(00H

17、)+00001000B(08H)=00001000B(08H)L(2): 00000000B(00H)+00001001B(09H)=00001001B(09H)O: 00000000B(00H)+00001010B(0A0H)=00001010B(0A0H)這里須注意的地方:如果HELLO顯示在第二行的話, 那么公式中前的00H應(yīng)該換成40H,即最高位D7應(yīng)保持高電平狀態(tài).具體程序如下:ORG 0000H RS EQU P3.7;確定硬件連接方式 RW EQU P3.5 ;確定硬件連接方式E EQU P3.4 ;確定硬件連接方式MOV P1,#00000001B ;清屏并光標(biāo)復(fù)位ACALL

18、ENABLE;調(diào)用寫入命令子程序 MOV P1,#00111000B ;設(shè)置顯示模式:8位2行5x7點(diǎn)陣 ACALL ENABLE ;調(diào)用寫入命令子程序 MOV P1,#00001111B ;顯示器開、光標(biāo)開、光標(biāo)允許閃爍ACALL ENABLE ;調(diào)用寫入命令子程序MOV P1,#00000110B ;文字不動(dòng),光標(biāo)自動(dòng)右移 ;顯示HACALL ENABLE ;調(diào)用寫入命令子程序MOV P1,# 06H ;寫入顯示起始地址(第一行第六個(gè)位置)ACALL ENABLE ;調(diào)用寫入命令子程序MOV P1,01001000B ;字母H的代碼 SETB RS ;RS=1 CLR RW ;RW=0 ;

19、準(zhǔn)備寫入數(shù)據(jù)CLR E ;E=0 ;執(zhí)行顯示命令A(yù)CALL DELAY ;判斷液晶模塊是否忙?SETB E ;E=1 ;顯示完成,程序停車;顯示EACALL ENABLE ;調(diào)用寫入命令子程序MOV P1,# 07H ;寫入顯示起始地址(第一行第七個(gè)位置)ACALL ENABLE ;調(diào)用寫入命令子程序MOV P1,01000101B ;字母E的代碼 SETB RS ;RS=1 CLR RW ;RW=0 ;準(zhǔn)備寫入數(shù)據(jù)CLR E ;E=0 ;執(zhí)行顯示命令A(yù)CALL DELAY ;判斷液晶模塊是否忙?SETB E ;E=1 ;顯示完成,程序停車;顯示第一個(gè)LACALL ENABLE ;調(diào)用寫入命令

20、子程序MOV P1,# 08H ;寫入顯示起始地址(第一行第八個(gè)位置)ACALL ENABLE ;調(diào)用寫入命令子程序MOV P1,01001100B ;字母L的代碼 SETB RS ;RS=1 CLR RW ;RW=0 ;準(zhǔn)備寫入數(shù)據(jù)CLR E ;E=0 ;執(zhí)行顯示命令A(yù)CALL DELAY ;判斷液晶模塊是否忙?SETB E ;E=1 ;顯示完成,程序停車;顯示第二個(gè)LACALL ENABLE ;調(diào)用寫入命令子程序MOV P1,# 08H ;寫入顯示起始地址(第一行第九個(gè)位置)ACALL ENABLE ;調(diào)用寫入命令子程序MOV P1,01001100B ;字母L的代碼 SETB RS ;RS=1 CLR RW ;RW=0 ;準(zhǔn)備寫入數(shù)據(jù)CLR E ;E=0 ;執(zhí)行顯示命令A(yù)CALL DELAY ;判斷液晶模塊是否忙?SETB E ;E=1 ;顯示完成,程序停車;顯示OACALL ENABLE ;調(diào)用寫入命令子程序MOV P1,#0A0H ;寫入顯示起始地址(第一行第十個(gè)位置)ACALL ENABLE ;調(diào)用寫入命令子程序MOV P1,01001111B;字母L的代碼 SETB RS ;RS=1 CLR RW ;RW=0 ;準(zhǔn)備寫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論