點陣圖形液晶模塊12864_第1頁
點陣圖形液晶模塊12864_第2頁
點陣圖形液晶模塊12864_第3頁
點陣圖形液晶模塊12864_第4頁
點陣圖形液晶模塊12864_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、正面圖正面圖背面圖背面圖一、一、1286412864分類分類 因為字符型因為字符型LCDLCD無法將漢字顯示出來,所以要在顯示漢字的場合無法將漢字顯示出來,所以要在顯示漢字的場合一般都要用點陣型一般都要用點陣型LCDLCD。 目前常用的點陣型目前常用的點陣型LCDLCD有有1221223232、1281286464、240240320320等。本章等。本章重點介紹重點介紹1281286464點陣液晶顯示屏的基本應(yīng)用。點陣液晶顯示屏的基本應(yīng)用。 1281286464點陣液晶顯示屏有三種控制器,分別是點陣液晶顯示屏有三種控制器,分別是KS0107KS0107(KS0108KS0108)、)、T69

2、63CT6963C和和ST7920ST7920,三種控制器主要區(qū)別是:,三種控制器主要區(qū)別是:KS0107KS0107(KS0108KS0108)不帶任何字庫、)不帶任何字庫、T6963CT6963C帶帶ASCIIASCII碼,碼,ST7920ST7920帶國標(biāo)二級字帶國標(biāo)二級字庫(庫(8 8千多個漢字)。千多個漢字)。 本章以不帶字庫的本章以不帶字庫的KS0107KS0107(KS0108KS0108)控制器為例進(jìn)行介紹。)控制器為例進(jìn)行介紹。 二、二、1281286464點陣型點陣型LCDLCD的引腳功能的引腳功能引腳號引腳號引腳名稱引腳名稱電平電平功能描述功能描述1VSS0V電源地電源地

3、2VDD+5V正電源正電源3V0液晶顯示器驅(qū)動電壓液晶顯示器驅(qū)動電壓4D/I(RS)H/LD/I=“H”,表示,表示DB0DB7為顯示數(shù)據(jù)為顯示數(shù)據(jù)D/I=“L”,表示,表示DB0DB7為顯示指令數(shù)據(jù)為顯示指令數(shù)據(jù)三、三、1281286464點陣型點陣型LCDLCD的內(nèi)部模塊結(jié)構(gòu)的內(nèi)部模塊結(jié)構(gòu)內(nèi)部邏輯電路圖內(nèi)部邏輯電路圖四、四、1281286464點陣型點陣型LCDLCD與與AT89S51AT89S51單片機(jī)的接口設(shè)計單片機(jī)的接口設(shè)計1. 1. 總線方式總線方式總線方式也稱直接控制方式,即將液晶顯示模塊的接口作為存儲器或I/O設(shè)備直接掛在微處理器總線上,微處理器以控制存儲器或I/O設(shè)備的方式操

4、作液晶顯示模塊的工作。#define LCMCS1W_COM (*(uint8 volatile xdata *) 0 x0500)#define LCMCS1W_DAT(*(uint8 volatile xdata *) 0 x0400)#defineLCMCS2W_COM(*(uint8 volatile xdata *) 0 x0900)#define LCMCS2W_DAT(*(uint8 volatile xdata *) 0 x0800)#define LCM_Wr1Command(command) LCMCS1W_COM = command/*功能:寫命令子程序,所選屏為左半屏功

5、能:寫命令子程序,所選屏為左半屏(CS1)。入口參數(shù):入口參數(shù):command 要寫入要寫入LCM的命令字的命令字*/#define LCM_Wr2Command(command) LCMCS2W_COM = command/*功能:寫命令子程序,所選屏為右半屏功能:寫命令子程序,所選屏為右半屏(CS2)。入口參數(shù):入口參數(shù):command 要寫入要寫入LCM的命令字的命令字*/#define LCM_Wr1Data(wrdata) LCMCS1W_DAT = wrdata/*功能:寫數(shù)據(jù)子程序,所選屏為左半屏功能:寫數(shù)據(jù)子程序,所選屏為左半屏(CS1)。入口參數(shù):入口參數(shù):wrdata 要寫

6、入要寫入LCM的數(shù)據(jù)的數(shù)據(jù)*/#define LCM_Wr2Data(wrdata) LCMCS2W_DAT = wrdata/*功能:寫數(shù)據(jù)子程序,所選屏為右半屏功能:寫數(shù)據(jù)子程序,所選屏為右半屏(CS2)。入口參數(shù):入口參數(shù):wrdata 要寫入要寫入LCM的數(shù)據(jù)的數(shù)據(jù)*/ LCM_Wr1Command(LCM_DISPON);/ 打開顯示打開顯示 LCM_Wr1Command(LCM_STARTROW);/ 設(shè)置顯示起始行為設(shè)置顯示起始行為0 LCM_Wr2Command(LCM_DISPON); LCM_Wr2Command(LCM_STARTROW);P0.0P0.1P0.2P0.3

7、P0.4P0.5P0.6P0.7P2.0P2.139383736353433322122DB0DB1DB2DB3DB4DB5DB6DB7R/WRS789101112131445P2.223BL-VEEBL+10KE61518191GND2VDD+5VAT89S51LCD12864+5V1K8P2.3P2.5P2.420V01617CS1CS2RST2426253P261K90152002. 2. 間接方式間接方式間接控制就是微處理器通過自身的或系統(tǒng)中的并行接口與液晶顯示模塊連接,微處理器通過對這些接口的操作,以達(dá)到液晶顯示模塊的控制。寫讀操作時序?qū)懽x操作時序void write_cmd_1(u

8、nsigned char command) /向左半屏寫入命令向左半屏寫入命令 cs1=1; cs2=0; Di=0; RW=0; Lcd_Bus=command; delay(10); Enable=1; delay(10); Enable=0; 讀操作時序讀操作時序void write_data_2(unsigned char dis_data) /向右半屏寫入數(shù)據(jù)向右半屏寫入數(shù)據(jù) cs1=0; cs2=1; Di=1; RW=0; Lcd_Bus=dis_data; delay(0); Enable=1; delay(0); Enable=0; 五、五、MG12864MG12864液晶顯

9、示模塊的寄存器液晶顯示模塊的寄存器(1) I/O緩沖器:液晶顯示模塊的愉人、輸出緩沖器由片選信號控制。如果CS1或CS2無效,那么輸人輸出的數(shù)據(jù)或指令不會被執(zhí)行,因此內(nèi)部狀態(tài)也不會改變,但是不管CS1或CS2是否處在有效狀態(tài),復(fù)位操作都可以執(zhí)行。(2)輸入寄存器:輸入寄存器提供了與外部交換信息的輸入接口,它可以方便地與多種型號的微處理器或計算機(jī)接口卡相連接。CS1或CS2有效時,由R/W和RS選擇輸入寄存器,從外部處理器送來的數(shù)據(jù)被寫進(jìn)輸入寄存器,并且將它寫進(jìn)數(shù)據(jù)顯示RAM。在E信號的下降沿將輸人數(shù)據(jù)鎖存,并且在內(nèi)部操作時序下自動寫人顯示RAM。(3)輸出寄存器:當(dāng)CS1或CS2有效而且R/W

10、和RS均為高電平時,控制器將顯示RAM的內(nèi)容送到輸出寄存器,即存儲在顯示RAM中的數(shù)據(jù)被鎖存到輸出寄存器。當(dāng)CS1或CS2有效,而R/W=H,RS=L時,狀態(tài)數(shù)據(jù)可以被讀出。 為了讀取顯示RAM中的內(nèi)容,兩步讀指令是必須的。第一步,首先將顯示RAM里的數(shù)據(jù)鎖存至愉出寄存器,第二步,外部處理器從輸出寄存器讀出已鎖存的顯示RAM內(nèi)容。也就是說,要讀取顯示RAM的內(nèi)容,必須輔助讀取,但是狀態(tài)讀取不需要輔助讀取。下表給出了RS和R/W選擇輸入寄存器或輸出寄奇器以及所執(zhí)行操作的具體功能的組合控制方式。讀數(shù)據(jù)(從數(shù)據(jù)顯示RAM到輸出寄存器)1寫數(shù)據(jù)(從輸入寄存器到數(shù)據(jù)顯示RAM)01讀狀態(tài)字1寫指令00功

11、能R/WRS(4)復(fù)位狀態(tài):當(dāng)RST為低電平時,液晶顯示模塊執(zhí)行以下操作:關(guān)閉顯示器,顯示器初始行寄存器置0。此時只有狀態(tài)讀取被允許,狀態(tài)復(fù)位標(biāo)志出現(xiàn)在DB4信號線上,當(dāng)DB4處于低電平時,液晶顯示模塊不接收任何指令。(5)狀態(tài)標(biāo)志:當(dāng)控制器KS0108B正在執(zhí)行內(nèi)部操作或沒有工作時,控制器“忙”狀態(tài)標(biāo)志會出現(xiàn)在DB7信號線上。(6)顯示狀態(tài)的開、關(guān)控制:液晶顯示模塊帶有一個控制LCD是否顯示的觸發(fā)器。當(dāng)該觸發(fā)器復(fù)位時,各列驅(qū)動會不受控制的全部輸出,以至于不能顯示所需信息,即LCD處于關(guān)狀態(tài);當(dāng)該觸發(fā)器置位時,各列驅(qū)動根據(jù)顯示RAM的內(nèi)容控制驅(qū)動輸出,從而顯示所需信息,即LCD處于開狀態(tài)。顯示

12、狀態(tài)的開、關(guān)控制可以由外部控制指令改變,當(dāng)前顯示狀態(tài)會出現(xiàn)在DB5信號線上,當(dāng)DB5處于低電平時,即表示LCD處于開狀態(tài)。(7)顯示數(shù)據(jù)RAM:液晶顯示模塊帶有1024字節(jié)的顯示RAM,它儲存著液晶顯示器的顯示數(shù)據(jù)。RAM單元的每一位對應(yīng)于顯示屏上的某一個點,如某位為“1,則與該位對應(yīng)的LCD液晶屏上的那一點為亮??刂破鱇S0108B的顯示RAM是按字節(jié)尋址的,因此為了使LCD顯示屏的定位與KS0108B的尋址相統(tǒng)一,我們將整個顯示屏劃分為左右兩個半屏,這樣每半屏是64 X 64個像素點,我們再把橫向上的64個像素點編為0列63列,把縱向上的64個像素點分成8頁,每頁8行,這樣每列的某一頁的8

13、行像索就對應(yīng)了一個顯示RAM單元,設(shè)置每個顯示RAM單元的數(shù)據(jù)就可以控制整個顯示屏的顯示信息。 為方便地管理顯示RAM,液晶顯示模塊設(shè)置X地址寄存器和Y地址計數(shù)器,X地址寄存器的內(nèi)容指向內(nèi)部顯示RAM的頁地址,它沒有計數(shù)功能,地址的設(shè)定由外部指令控制;Y地址計數(shù)器的內(nèi)容用于確定內(nèi)部顯示RAM的列地址,地址由指令控制,并且當(dāng)顯示數(shù)據(jù)被讀寫操作時地址自動加1。 另外它還設(shè)置有顯示起始行寄存器。用于確定液晶顯示屏的起始顯示行位置。顯示起始行外部設(shè)置指令中的DB0DB5確定了顯示起始行寄存器的內(nèi)容。循環(huán)改變顯示起始行寄存器的內(nèi)容可以用來實現(xiàn)液晶顯示器的滾屏操作。六、六、MG12864MG12864液晶

14、顯示模塊的顯示控制指令液晶顯示模塊的顯示控制指令1 1、顯示開、顯示開/ /關(guān)設(shè)置關(guān)設(shè)置 CODECODE:R/WR/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 功能:設(shè)置屏幕顯示開/關(guān)。 DB0=H,開顯示;DB0=L,關(guān)顯示。不影響顯示RAM(DD RAM)中的內(nèi)容。2 2、設(shè)置顯示起始行、設(shè)置顯示起始行 CODECODE:R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 功能:執(zhí)行

15、該命令后,所設(shè)置的行將顯示在屏幕的第一行。顯示起始行是由Z地址計數(shù)器控制的,該命令自動將A0-A5位地址送入Z地址計數(shù)器,起始地址可以是0-63范圍內(nèi)任意一行。Z地址計數(shù)器具有循環(huán)計數(shù)功能,用于顯示行掃描同步,當(dāng)掃描完一行后自動加一。3 3、設(shè)置頁地址、設(shè)置頁地址 CODECODE:R/WR/WD/I DB7 DB6 DB5 B4 DB3 DB2 DB1 DB0 D/I DB7 DB6 DB5 B4 DB3 DB2 DB1 DB0 功能:執(zhí)行本指令后,下面的讀寫操作將在指定頁內(nèi),直到重新設(shè)置。頁地址就是DDRAM 的行地址,頁地址存儲在X地址計數(shù)器中,A2-A0可表示8頁,讀寫數(shù)據(jù)對頁地址沒有

16、影響,除本指令可改變頁地址外,復(fù)位信號(RST)可把頁地址計數(shù)器內(nèi)容清零。 4 4、設(shè)置列地址、設(shè)置列地址 CODECODE:R/WR/WD/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 功能: DDRAM 的列地址存儲在Y地址計數(shù)器中,讀寫數(shù)據(jù)對列地址有影響,在對DDRAM進(jìn)行讀寫操作后,Y地址自動加一。5 5、狀態(tài)檢測、狀態(tài)檢測 CODECODE:R/WR/WD/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

17、功能:讀忙信號標(biāo)志位(BF)、復(fù)位標(biāo)志位(RST)以及顯示狀態(tài)(ON/OFF)。 BF=H:內(nèi)部正在執(zhí)行操作; BF=L:空閑狀態(tài)。 RST=H:正處于復(fù)位初始化狀態(tài); RST=L:正常狀態(tài)。 ON/OFF=H:表示顯示關(guān)閉; ON/OFF=L:表示顯示開。 6 6、寫顯示數(shù)據(jù)、寫顯示數(shù)據(jù) CODECODE: R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 功能:功能:寫數(shù)據(jù)到DDRAM,DDRAM是存儲圖形顯示數(shù)據(jù)的,寫指令執(zhí)行后Y地址計數(shù)器自動加1。D7-D0位數(shù)據(jù)為1表示顯示,數(shù)

18、據(jù)為0表示不顯示。寫數(shù)寫數(shù)據(jù)到據(jù)到DDRAMDDRAM前,要先執(zhí)行前,要先執(zhí)行“設(shè)置頁地址設(shè)置頁地址”及及“設(shè)置列地址設(shè)置列地址”命令。命令。 7 7、讀顯示數(shù)據(jù)、讀顯示數(shù)據(jù) CODECODE:R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 功能:從DDRAM讀數(shù)據(jù),讀指令執(zhí)行后Y地址計數(shù)器自動加1。從DDRAM讀數(shù)據(jù)前要先執(zhí)行“設(shè)置頁地址” 及“設(shè)置列地址”命令。 七、圖片在七、圖片在1286412864上的顯示上的顯示八、字符在八、字符在1286412864上的顯示上的顯示小結(jié)小

19、結(jié) 12864的應(yīng)用注:注:ABSACC.H ABSACC.H 提供了下列方便的宏(提供了下列方便的宏(MacroMacro)定義。)定義。 #define XBYTE (unsigned char volatile xdata#define XBYTE (unsigned char volatile xdata * *) 0) 0) 定義定義 XBYTE XBYTE 為為 指向指向 xdataxdata 地址空間地址空間unsigned char unsigned char 數(shù)據(jù)類型的指針,數(shù)據(jù)類型的指針,指針值為指針值為0 0,這樣,可以直接用,這樣,可以直接用XBYTE0 xnnnnXB

20、YTE0 xnnnn或或* *(XBYTE+0 xnnnn)(XBYTE+0 xnnnn)訪問外部訪問外部RAMRAM了。了。LCMCS1W_COMLCMCS1W_DATLCMCS2W_COMLCMCS2W_DAT#define LCM_Wr1Command(command) LCMCS1W_COM = command/*功能:寫命令子程序,所選屏為左半屏功能:寫命令子程序,所選屏為左半屏(CS1)。入口參數(shù):入口參數(shù):command 要寫入要寫入LCM的命令字的命令字*/#define LCM_Wr2Command(command) LCMCS2W_COM = command/*功能:寫命令

21、子程序,所選屏為右半屏功能:寫命令子程序,所選屏為右半屏(CS2)。入口參數(shù):入口參數(shù):command 要寫入要寫入LCM的命令字的命令字*/#define LCM_Wr1Data(wrdata) LCMCS1W_DAT = wrdata/*功能:寫數(shù)據(jù)子程序,所選屏為左半屏功能:寫數(shù)據(jù)子程序,所選屏為左半屏(CS1)。入口參數(shù):入口參數(shù):wrdata 要寫入要寫入LCM的數(shù)據(jù)的數(shù)據(jù)*/#define LCM_Wr2Data(wrdata) LCMCS2W_DAT = wrdata/*功能:寫數(shù)據(jù)子程序,所選屏為右半屏功能:寫數(shù)據(jù)子程序,所選屏為右半屏(CS2)。入口參數(shù):入口參數(shù):wrdat

22、a 要寫入要寫入LCM的數(shù)據(jù)的數(shù)據(jù)*/所以只要我們寫入指令所以只要我們寫入指令0 x01,整個屏幕就被清空了。,整個屏幕就被清空了。LCD初始化:初始化:一般用指令一般用指令0 x0c,開顯示,關(guān)閉光標(biāo),開顯示,關(guān)閉光標(biāo) 既可以控制擴(kuò)展功能,又可以控制繪圖顯示的指令!用既可以控制擴(kuò)展功能,又可以控制繪圖顯示的指令!用0X30,基本指令集,基本指令集指令指令0X06光標(biāo)右移光標(biāo)右移1.漢字顯示坐標(biāo)漢字顯示坐標(biāo) 顯示漢字一屏可以顯示顯示漢字一屏可以顯示4*8=32個個16*16的漢字。實的漢字。實物圖對照下,把地址也表物圖對照下,把地址也表到實物圖上去了。到實物圖上去了。 操作的具體流程:操作的具

23、體流程:A進(jìn)入基本指令模式(指令進(jìn)入基本指令模式(指令16,指令為,指令為0 x30)B寫入寫入xy地址(地址需要查上表,用指令地址(地址需要查上表,用指令8,也就是寫入,也就是寫入DDRAM)C寫入欲寫入的漢字的編碼(一般定義一個數(shù)組,直接把漢字存放在里面即可,寫入欲寫入的漢字的編碼(一般定義一個數(shù)組,直接把漢字存放在里面即可,存儲的時候它就是以編碼的形式。例如:存儲的時候它就是以編碼的形式。例如:uchar code dis1=“南京師范大學(xué)南京師范大學(xué);)例程代碼:例程代碼:uchar code dis3 = “南京師范大學(xué)南京師范大學(xué);void display_hz()Uchar I;

24、Write_comd(0 x30);/基本指令基本指令Write_comd(0 x80);/寫在第一個位置上寫在第一個位置上For(i=0;i8;i+)Write_da(dis3i);/把數(shù)據(jù)送到端口把數(shù)據(jù)送到端口Delay_ms(5);/延時一會延時一會 2.ASCII顯示坐標(biāo):顯示坐標(biāo):它的坐標(biāo)和漢字的坐標(biāo)是一樣的,只不過一個漢字的位置可以放兩個它的坐標(biāo)和漢字的坐標(biāo)是一樣的,只不過一個漢字的位置可以放兩個ASCII碼字符。因為前者為碼字符。因為前者為16*16后者為后者為16*8,這樣一行可以顯示,這樣一行可以顯示16個個ASCII碼了。在顯示一串字符穿的時候,給一個起始地址,屏幕就碼了。

25、在顯示一串字符穿的時候,給一個起始地址,屏幕就會依次顯示出來(自動加一功能)。會依次顯示出來(自動加一功能)。 操作的具體流程:操作的具體流程:A進(jìn)入基本指令模式(指令進(jìn)入基本指令模式(指令16,指令為,指令為0 x30)B寫入寫入xy地址(地址需要查上表,用指令地址(地址需要查上表,用指令8,也就是寫入,也就是寫入DDRAM)C寫入欲寫入的漢字的編碼(一般定義一個數(shù)組,直接把寫入欲寫入的漢字的編碼(一般定義一個數(shù)組,直接把ASACII碼存放碼存放在里面即可,存儲的時候它就是以編碼的形式。例如:在里面即可,存儲的時候它就是以編碼的形式。例如:uchar code dis1=SH;)例程代碼:例程代碼:uchar code dis2 = SH;void display_ascii()Uchar I;Write_comd(0 x30);/基本指令基本指令Write_comd(0 x80);/寫在第一個位置上寫在第一個位置上For(i=0;i2;i+)Write_da(dis2i);/把數(shù)據(jù)送到端口把數(shù)據(jù)送到端口Delay_ms(5)

溫馨提示

  • 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

提交評論