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