LCD1602教程(一)
生活随笔
收集整理的這篇文章主要介紹了
LCD1602教程(一)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
LCD1602主要技術(shù)參數(shù):
引腳說(shuō)明:
接線說(shuō)明:
基本操作時(shí)序:
RAM地址映射圖:
指令說(shuō)明:
初始化設(shè)置
顯示模式設(shè)置
顯示開(kāi)/關(guān)及光標(biāo)設(shè)置
數(shù)據(jù)控制
數(shù)據(jù)指針設(shè)置
其他設(shè)置
初始化過(guò)程(復(fù)位過(guò)程)
參考程序:
效果圖:
附錄:
讀操作時(shí)序
寫(xiě)操作時(shí)序
時(shí)序參數(shù)
LCD1602主要技術(shù)參數(shù):
| 顯示容量 | 16 X 2 個(gè)字符 |
| 芯片工作電壓 | 4.5 ~ 5.5V |
| 工作電流 | 2.0 mA(5.0V) |
| 模塊最佳工作電壓 | 5.0V |
| 字符尺寸 | 2.95 X 4.35(WXH)mm |
?
引腳說(shuō)明:
| 編號(hào) | 符號(hào) | 引腳說(shuō)明 | 編號(hào) | 符號(hào) | 引腳說(shuō)明 |
| 1 | VSS | 電源地 | 9 | D2 | Data I/O |
| 2 | VDD | 電源正極 | 10 | D3 | Data I/O |
| 3 | VL | 液晶顯示偏壓信號(hào) | 11 | D4 | Data I/O |
| 4 | RS | 數(shù)據(jù)/命令選擇端(H/L) | 12 | D5 | Data I/O |
| 5 | R/W | 讀/寫(xiě)選擇端(H/L) | 13 | D6 | Data I/O |
| 6 | E | 使能信號(hào) | 14 | D7 | Data I/O |
| 7 | D0 | Data I/O | 15 | BLA | 背光源正極 |
| 8 | D1 | Data I/O | 16 | BLK | 背光源負(fù)極 |
?
接線說(shuō)明:
基本操作時(shí)序:
| ? | 輸入 | 輸出 |
| 讀狀態(tài) | RS=L,RW=H,E=H | D0 ~ D7 =狀態(tài)字 |
| 寫(xiě)指令 | RS=L,RW=L,D0 ~ D7 =,E=高脈沖 | 無(wú) |
| 讀數(shù)據(jù) | RS=H,RW=H,E=H | D0 ~ D7 =數(shù)據(jù) |
| 寫(xiě)數(shù)據(jù) | RS=H,RW=L,D0 ~ D7 =,E=高脈沖 | 無(wú) |
RAM地址映射圖:
指令說(shuō)明:
初始化設(shè)置
顯示模式設(shè)置
顯示開(kāi)/關(guān)及光標(biāo)設(shè)置
數(shù)據(jù)控制
控制器內(nèi)部設(shè)有一個(gè)數(shù)據(jù)地址指針,用戶(hù)可以通過(guò)它們來(lái)訪問(wèn)內(nèi)部的全部80字節(jié)RAM。
數(shù)據(jù)指針設(shè)置
其他設(shè)置
初始化過(guò)程(復(fù)位過(guò)程)
寫(xiě)指令 38H :顯示模式設(shè)置
寫(xiě)指令 08H :顯示關(guān)閉
寫(xiě)指令 01H :顯示清屏
寫(xiě)指令 06H :顯示光標(biāo)移動(dòng)位置
寫(xiě)指令 0CH :顯示開(kāi)及光標(biāo)設(shè)置
?
參考程序:
/* 接線說(shuō)明:RS=P3^5;RW=P3^6;EN=P3^7;D0~D7=P2^0~P2^7;BLA=+5V;BLK=GND;VSS=GND;VDD=+5V;VL引腳外接1K電阻然后接入GND; */ #include<reg52.h> #include<intrins.h>#define uchar unsigned char #define uint unsigned int uchar num; uint i,j;sbit LCD1602_RS=P3^5; sbit LCD1602_RW=P3^6; sbit LCD1602_EN=P3^7;uchar code table1[]="MCU:STC89C52RC"; uchar code table2[]=" 2020-12-28";void Delay500ms();//作為逐個(gè)字符之間的顯示時(shí)間 void Delay5ms();//時(shí)序圖中Tpw void init();//液晶初始化 void LCD1602_RWite_com(uchar com);//寫(xiě)命令函數(shù) void LCD1602_RWite_data(uchar dat);//寫(xiě)數(shù)據(jù)函數(shù)void main() {P2=0;init();LCD1602_RWite_com(0x80);for(num=0;num<14 ;num++)//14為table1的字符的長(zhǎng)度{LCD1602_RWite_data(table1[num]);Delay500ms(); }LCD1602_RWite_com(0x80+0x40);for(num=0;num<15 ;num++)//15為table2的字符的長(zhǎng)度{LCD1602_RWite_data(table2[num]);Delay500ms();} while(1); }void Delay500ms() //@11.0592MHz {uchar i, j, k;_nop_();i = 4;j = 129;k = 119;do{do{while (--k);} while (--j);} while (--i); }void Delay5ms() //@11.0592MHz {uchar i, j;i = 9;j = 244;do{while (--j);} while (--i); } void LCD1602_RWite_com(uchar com) //寫(xiě)命令 {LCD1602_RS=0;LCD1602_RW=0;LCD1602_EN=0;P2=com;LCD1602_EN=1;Delay5ms();LCD1602_EN=0;} void LCD1602_RWite_data(uchar dat) //寫(xiě)數(shù)據(jù) {LCD1602_RS=1;LCD1602_RW=0;LCD1602_EN=0;P2=dat;LCD1602_EN=1;Delay5ms();LCD1602_EN=0;}void init() //初始化 {LCD1602_RWite_com(0x38);//顯示模式設(shè)置LCD1602_RWite_com(0x08);//顯示關(guān)閉LCD1602_RWite_com(0x01);//顯示清屏LCD1602_RWite_com(0x06);//顯示光標(biāo)移動(dòng)設(shè)置LCD1602_RWite_com(0x0f);//顯示開(kāi)及光標(biāo)設(shè)置 }效果圖:
附錄:
讀操作時(shí)序
寫(xiě)操作時(shí)序
時(shí)序參數(shù)
總結(jié)
以上是生活随笔為你收集整理的LCD1602教程(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 工业互联网有什么价值?
- 下一篇: PGM---pgmpy学习