LCD1602相關資料簡述
LCD1602液晶顯示屏
因為想用STM32做一個萬年歷,所以在此之前先去了解了一下LCD1602的一些基礎操作用法,在此簡單介紹一下,都是制作萬年歷所需要用到的基礎硬件資料。
它是字符型液晶,能夠同時顯示16x02即32個字符,一般分為14腳和16腳,16腳的帶背光,14腳的無背光。
1腳 : VSS/GND 一般接地
2腳: VCC 接5V電源正極
3腳: VL 液晶顯示偏壓,對比度調整端。 接正電源時對比度最弱,接地時最強,可通過10K電位器調整。
4腳: RS 數據/命令選擇 高電平--數據寄存器 低電平--指令寄存器
5腳: R/W 讀/寫選擇 高電平--讀操作 低電平--寫操作
6腳: EN 使能端 當EN端由高電平跳變為低電平時,液晶模塊執行命令
7腳~14腳: 數據
15腳: BLA 背光源正極
16腳: BLK 背光源負極
由於LCD1602是顯示16×2的,所以其DDRAM地址與顯示位置為:
00H | 01H | 02H | 03H | 04H | 05H | 06H | 07H | 08H | 09H | 0AH | 0BH | 0CH | 0DH | 0EH | 0FH |
40H | 41H | 42H | 43H | 44H | 45H | 46H | 47H | 48H | 49H | 4AH | 4BH | 4CH | 4DH | 4EH | 4FH |
所以,由表可知,第一行第一列的位置地址即為00H;
以下為11條指令:
1、清屏指令:
功能:<1> 清除液晶顯示器,即將DDRAM的內容全部填入"空白"的ASCII碼20H;
<2> 光標歸位,即將光標撤回液晶顯示屏的左上方;
<3> 將地址計數器(AC)的值設為0。
2、光標歸位指令:
功能:<1> 把光標撤回到顯示器的左上方;
<2> 把地址計數器(AC)的值設置為0;
<3> 保持DDRAM的內容不變
3、模式設置指令:
I/D 0=寫入新數據後光標左移 1=寫入新數據後光標右移
S 0=寫入新數據後顯示屏不移動 1=寫入新數據後顯示屏整體右移1個字
4、顯示開關控制指令:
D 0=顯示功能關 1=顯示功能開
C 0=無光標 1=有光標
B 0=光標閃爍 1=光標不閃爍
5、設定顯示屏或光標移動方向指令:
S/C R/L 設定情況
0 0 光標左移1格,且AC值減1
0 1 光標右移1格,且AC值加1
1 0 顯示器上字符全部左移一格,但光標不動
1 1 顯示器上字符全部右移一格,但光標不動
6、功能設定指令:
DL 0=數據總線為4位 1=數據總線為8位
N 0=顯示1行 1=顯示2行
F 0=5×7點陣/每字符 1=5×10點陣/每字符
7、設定CGRAM地址指令:
8、設定DDRAM地址指令:
D7為1 : 1000 0000即0x80
所以送地址時應0x80+地址,或80H+地址;
9、讀忙信號或AC地址指令:
功能:<1> 讀取忙碌信號BF的內容,FB=1 表示液晶顯示器忙,暫時無法接收單片機送來的數據或指令;
FB=0 液晶顯示器可以接收單片機送來的數據或指令;
<2> 讀取地址計數器(AC)的內容。
10、數據寫入DDRAM或CGRAM指令一覽:
功能:<1> 將字符碼寫入DDRAM,以使液晶顯示屏顯示出相對應的字符;
<2> 將使用者自己設計的圖形存入CGRAM。
11、從CGRAM或DDRAM讀出數據的指令一覽:
功能:讀取DDRAM或CGRAM中的內容。
基本操作時序:
RS | RW | 操作說明 |
0 | 0 | 寫入指令碼D0~D7 |
0 | 1 | 讀取輸出的D0~D7狀態字 |
1 | 0 | 寫入數據D0~D7 |
1 | 1 | 從D0~D7讀取數據 |
註:寫指令和寫數據時,需要下降沿脈沖,先初始化EN=0, 然後置EN=1 ;再置En=0 ;
讀狀態字時,D7=1 禁止讀寫操作
D7=0 允許讀寫操作
對控制器每次讀寫操作前,必須進行讀寫檢測(即讀忙子程序)。
LCD1602的一些常用指令集:
0x38 | 設置16×2顯示,5×7點陣,8位數據接口 |
0x01 | 清屏 |
0x0F | 開顯示,顯示光標,光標閃爍 |
0x08 | 關顯示 |
0x0e | 開顯示,顯示光標,光標不閃爍 |
0x0C | 開顯示,不顯示光標 |
0x06 | 地址加1,當寫入數據的時候光標右移 |
0x02 | 地址計數器AC=0(此時地址為0x80),光標歸原點,DDRAM中斷內容不變 |
0x18 | 光標和顯示屏一起向左移動 |
LCD1602相關資料簡述