LCD1602詳細(xì)技術(shù)知識(shí)(很詳盡的)
1602液晶知識(shí)詳解:
1、1602液晶基礎(chǔ)
*VSS:電源地信號(hào)引腳;
*VDD:電源信號(hào)引腳;
*VEE:液晶對(duì)比度調(diào)節(jié)引腳,接0~5V以調(diào)節(jié)液晶的顯示對(duì)比度;
*RS:寄存器選擇引腳:
RS = 1時(shí)為數(shù)據(jù)寄存器;
RS = 0時(shí)為指令寄存器;
*RW:讀寫選擇引腳:
RW = 1時(shí),選擇讀操作;
RW = 0時(shí),選擇寫操作;
*E:讀寫操作選擇引腳,下降沿時(shí),數(shù)據(jù)被寫入1602液晶,E= 1時(shí),對(duì)1602液晶進(jìn)行讀數(shù)據(jù)操作;
*D0~D7:數(shù)據(jù)總線引腳;
*LEDA:背光電源引腳;
*LEDK:背光電源地引腳;
2、指令簡(jiǎn)介:
*清屏指令,用與清除DDRAM和AC的數(shù)值,將屏幕顯示清空:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
*歸零指令,將屏幕光標(biāo)回歸原點(diǎn):
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
* |
*輸入方式選擇指令,用于設(shè)置光標(biāo)和畫面移動(dòng)方式:
I/D = 1:表示數(shù)據(jù)讀寫操作后,AC自動(dòng)加1;
I/D = 0:表示數(shù)據(jù)讀寫操作后,AC自動(dòng)減1;
S = 1:表示數(shù)據(jù)讀寫操作后,畫面平移;
S= 0:表示數(shù)據(jù)讀寫操作后,畫面保持不變;
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
I/D |
S |
*顯示開(kāi)關(guān)控制指令,用于設(shè)置顯示光標(biāo)級(jí)閃爍開(kāi)、關(guān):
D:顯示開(kāi)關(guān):D= 1:開(kāi);D = 0:關(guān);
C:光標(biāo)開(kāi)關(guān):C= 1:開(kāi);C= 0:關(guān);
B:閃爍開(kāi)關(guān):B= 1:開(kāi);B= 0:關(guān);
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
D |
C |
B |
*光標(biāo)和畫面移動(dòng)指令,用于在不影響DDRAM的情況下使光標(biāo)、畫面移動(dòng):
S/C = 1:畫面平移1個(gè)字符位;
S/C = 0:光標(biāo)平移1個(gè)字符位;
R/L = 1:右移;
R/L = 0:左移;
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
0 |
1 |
S/C |
R/L |
* |
* |
*功能設(shè)置指令,用于設(shè)置工作方式(初始化指令):
DL= 1:表示8位數(shù)據(jù)接口;
DL = 0:表示4位數(shù)據(jù)接口;
N = 1:表示2行顯示;
N = 0:表示1行顯示;
F = 1:表示5*10的點(diǎn)陣字符;
F = 0:表示5*7的點(diǎn)陣字符;
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
0 |
1 |
DL |
N |
F |
* |
* |
*CGRAM設(shè)置指令,用于設(shè)置CGRAM的地址,其中A5~A0 =0X00~0X03F:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
1 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
*DDRAM設(shè)置指令,用于設(shè)置DDRAM地址。其中,D7 = 0,表示一行顯示A6~A0= 0~4FH;D7 = 1,表示兩行顯示,首行顯示A6~A0 = 00H~2FH,次行顯示A6~A0 = 40H~64FH:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
D7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
DDRAM :
顯示用RAM,直接和屏幕上的點(diǎn)相對(duì)應(yīng).屏幕上的一個(gè)點(diǎn)和DDRAM中的一個(gè)位對(duì)應(yīng),字符屏的DDRAM和圖形屏的DDRAM有一點(diǎn)點(diǎn)區(qū)別。
CGROM:
字模存儲(chǔ)用空間。你要顯示某個(gè)ASCII字符時(shí),要顯示字符的字模就存在這里,對(duì)于字符屏,要顯示某個(gè)字符時(shí),往DDRAM里寫字符的索引(一般都是ASCII碼)就可以完成顯示。比如你寫0x38,則顯示為數(shù)字8。
字符屏的DDRAM一般和IC能顯示的最大字符數(shù)相同。有的IC可以控制顯示80個(gè)字符,但屏幕只顯示20個(gè)字符。對(duì)于圖形屏,往DDRAM里寫什么樣的數(shù)據(jù),屏幕上就會(huì)顯示什么樣的點(diǎn),比如你寫0x38, 則顯示00111000。圖形屏的DDRAM一般都會(huì)比屏幕顯示大個(gè)2倍以上,為的是簡(jiǎn)化翻屏,以及實(shí)現(xiàn)其他特殊顯示效果 。
CGRAM是用戶自建字模區(qū),有時(shí)ASCII碼表不能滿足個(gè)人對(duì)字符的要求,則需要在這里寫入字模。字模的方式和CGROM中的一樣。
一般寫入到這里的字模,其索引值為(0x00~0x07),建立好字模后,往DDRAM中寫索引0x00,新建的字符就會(huì)顯示出來(lái)。
*讀BF和AC指令,其中,BF = 1表示忙,BF = 0表示準(zhǔn)備好。此時(shí)AC值為最近一次地址設(shè)置(CGRAM和DDRAM)定義:
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
1 |
BF |
AC |
AC5 |
AC4 |
AC3 |
AC2 |
AC1 |
AC0 |
*寫數(shù)據(jù)指令,用于將地址碼寫入DDRAM以使LCD顯示出相應(yīng)的圖形或?qū)⒂脩糇詣?chuàng)的圖形存入CGRAM內(nèi):
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
1 |
數(shù)據(jù) |
*讀數(shù)據(jù)指令,根據(jù)當(dāng)前設(shè)置的地址,從DDRAM和CGRAM中讀出數(shù)據(jù):
RS |
RW |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
1 |
1 |
數(shù)據(jù) |
編程思路:
*設(shè)置1602液晶的功能;
*設(shè)置1602液晶的輸入方式;
*設(shè)置1602液晶的顯示方式;
*清屏;