管腳功能
1602採用標準的16腳接口,其中:
第1腳:GND為電源地
第2腳:VCC接5V電源正極
第3腳:V0為液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產生“鬼影”,使用時可以通過一個10K的電位器調整對比度)。
第4腳:RS為暫存器選擇,高電平1時選擇數據暫存器、低電平0時選擇指令暫存器。
第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,
低電平(0)時進行寫操作。
第6腳:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負跳
變時執行指令。
第7~14腳:D0~D7為8位雙向數據端。第15~16腳:空腳或背燈電
源。15腳背光正極,16腳背光負極。
特性
3.3V或5V工作電壓,對比度可調
內含復位電路
提供各種控制命令,如:清屏、字元閃爍、游標閃爍、顯示移位等多種功能
有80位元組顯示數據存儲器DDRAM
內建有192個5X7點陣的字型的字元發生器CGROM
8個可由用戶自定義的5X7的字元發生器CGRAM
特徵套用
微功耗、體積小、顯示內容豐富、超薄輕巧,常用在袖珍式儀表和低功耗套用系統中。
操作控制
註:關於E=H脈衝——開始時初始化E為0,然後置E為1。
字元集
1602液晶模組內部的字元發生存儲器(CGROM)已經存儲了160個不同的點陣字元圖形,這些字元有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字元都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模組把地址41H中的點陣字元圖形顯示出來,我們就能看到字母“A”。
在單片機編程中還可以用字元型常量或變數賦值,如'A’。因為CGROM儲存的字元代碼與我們PC中的字元代碼是基本一致的,因此我們在向DDRAM寫C51字元代碼程式時甚至可以直接用P1=‘A’這樣的方法。PC在編譯時就把'A'先轉換為41H代碼了。
字元代碼0x00~0x0F為用戶自定義的字元圖形RAM(對於5X8點陣的字元,可以存放8組,5X10點陣的字元,存放4組),就是CGRAM了。
0x20~0x7F為標準的ASCII碼,0xA0~0xFF為日文字元和希臘文字元,其餘字元碼(0x10~0x1F及0x80~0x9F)沒有定義。
以下是1602的16進制ASCII碼錶地址:讀的時候,先讀上面那行,再讀左邊那列,如:感嘆號!的ASCII為0x21,字母B的ASCII為0x42(前面加0x表示十六進制)。
指令集
指令碼
功能令:
| RS | R/W | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 說明 |
清顯示 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 將DDRAM填滿"20H",並且設定DDRAM的地址計數器(AC)到"00H" |
歸位 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | * | 設定DDRAM的地址計數器(AC)到"00H",並且將游標移到開頭原點位置;這個指令不改變DDRAM 的內容 |
顯示開關控制指令 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | D | C | B | [D=1: 整體顯示 ON],[C=1: 游標ON],[B=1:游標位置反白允許] |
進入模式設定指令 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | I/D | S | I/D=1,游標或閃爍向右移動,AC增加1。I/D=0,游標或閃爍向左移動,AC減少1,S整個顯示移動 |
游標或顯示移位指令 | 0 | 0 | 0 | 0 | 0 | 1 | S/C | R/L | * | * | 游標或顯示移位指令可使游標或顯示在沒有讀寫數據的情況下,向左或向右移動,指令不改變DDRAM 的內容 |
功能設定 | 0 | 0 | 0 | 0 | 1 | DL | N | F | * | * | [DL=0/1:4/8位數據],[N=0/1,單行/雙行顯示],[F=0/1,5*8/5*10點陣顯示模式] |
設定CGRAM地址 | 0 | 0 | 0 | 1 | AC5 | AC4 | AC3 | AC2 | AC1 | AC0 | CGRAM地址設定指令設定CGRAM地址指針, |
設定DDRAM地址 | 0 | 0 | 1 | 0 | AC5 | AC4 | AC3 | AC2 | AC1 | AC0 | DDRAM地址設定指令設定DDRAM地址。一行地址範圍00H~4FH,兩行DDRAM地址第一行00H~27H,第二行40H~67H,加上高2位,[一行:80H-A7H],[二行:C0H-E7H] |
讀忙標誌和地址 | 0 | 1 | BF | AC6 | AC5 | AC4 | AC3 | AC2 | AC1 | AC0 | BF:忙標誌位,BF=1,模組正在進行內部操作,此時模組不接受任何外部指令和數據。BF=0,模組可以接受外部的指令和數據;同時可以讀出地址計數器(AC)的值。 |
寫RAM指令 | 1 | 0 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 將數據D7-D0寫入到內部的RAM (DDRAM/CGRAM/IRAM/GRAM),將用戶自定義的字元寫入CGRAM中,D7~D5為000,D4~D0為5點的字模數據 |
讀RAM指令 | 1 | 1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | 從內部RAM讀取數據D7——D0(DDRAM/CGRAM/IRAM/GRAM) |
指令集
1602通過D0~D7的8位數據端傳輸數據和指令。顯示模式設定: (初始化)0011 0000 [0x38] 設定16×2顯示,5×7點陣,8位數據接口;顯示開關及游標設定: (初始化)0000 1DCB D顯示(1有效)、C游標顯示(1有效)、B游標閃爍(1有效)0000 01NS N=1(讀或寫一個字元後地址指針加1 &游標加1),N=0(讀或寫一個字元後地址指針減1 &游標減1),S=1 且 N=1 (當寫一個字元後,整屏顯示左移)s=0 當寫一個字元後,整屏顯示不移動數據指針設定:數據首地址為80H,所以數據地址為80H+地址碼(0-27H,40-67H)其他設定:01H(顯示清屏,數據指針=0,所有顯示=0);02H(顯示回車,數據指針=0)。