LCD1602 液晶

来源:互联网 发布:淘宝直播大v认证 编辑:程序博客网 时间:2024/05/01 13:02

它是一种专门用来显示字母、数字、符号的点阵型液晶模块

它是由若干个5x7或者5x10的点阵字符位组成

引脚
引脚

时序
时序

操作步骤

初始化
写命令(RS=L)设置显示坐标
写数据(RS=H)

指令
清屏:
清屏

指令码:0x01

进入模式设置:
进入模式设置

I/D:0,写入新数据后光标左移;1,写入新数据后光标右移
S:0,写入新数据后显示屏不移动;1,写入新数据后显示屏整体右移 1 个字符

常用指令:0x06

显示开关控制:
显示开关控制

D:0,显示功能关;1,显示功能开
C:0,无光标;1,有光标
B:0,光标闪烁;1,光标不闪烁

常用指令:0x0c

功能设定:
功能设定

D:0,数据总线为 4 位;1,数据总线为 8 位
N:0,显示 1 行;1,显示 2 行
F:0,5×7 点阵/每字符;1,5×10 点阵/每字符

常用指令:0x38

DDRAM
DDRAM

写入显示地址时要求最高位 D7 恒定为高电平 1
实际地址:addr + 80H

常用指令:0x80 (设置起点)

应用电路
应用电路

举例

sbit LCD1602_E = P2 ^ 7;sbit LCD1602_RW = P2 ^ 5;sbit LCD1602_RS = P2 ^ 6;void LcdWriteCom(uchar com)   //写入命令{    LCD1602_E = 0;     //使能    LCD1602_RS = 0;    //选择发送命令    LCD1602_RW = 0;    //选择写入    LCD1602_DATAPINS = com;     //放入命令    Lcd1602_Delay1ms(1);        //等待数据稳定    LCD1602_E = 1;            //写入时序    Lcd1602_Delay1ms(5);      //保持时间    LCD1602_E = 0;}void LcdWriteData(uchar dat)            //写入数据{    LCD1602_E = 0;  //使能清零    LCD1602_RS = 1; //选择输入数据    LCD1602_RW = 0;    LCD1602_DATAPINS = dat; //写入数据    Lcd1602_Delay1ms(1);    LCD1602_E = 1;    Lcd1602_Delay1ms(5);    LCD1602_E = 0;}void LcdInit(){    LcdWriteCom(0x38);  //开显示    LcdWriteCom(0x0c);  //开显示不显示光标    LcdWriteCom(0x06);  //写一个指针加1    LcdWriteCom(0x01);  //清屏    LcdWriteCom(0x80);  //设置数据指针起点}
原创粉丝点击