LCD1602工作原理技巧Word格式.docx
- 文档编号:22710081
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:17
- 大小:17.14KB
LCD1602工作原理技巧Word格式.docx
《LCD1602工作原理技巧Word格式.docx》由会员分享,可在线阅读,更多相关《LCD1602工作原理技巧Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
14
脚(无背光)或
脚(带背光)接口,各引脚接口说明如表
10-13所示
编号
符号
引脚说明
1VSS电源地
9D2数据
2VDD电源正极
10D3数据
3VL液晶显示偏压
11D4数据
4RS数据
/
命令选择
12D5数据
5R/W读
写选择
13D6数据
6E使能信号
14D7数据
7D0数据
15BLA
背光源正极
8D1数据
16BLK
背光源负极
表
表表
10-13
引脚接口说明表引脚接口说明表引脚接口说明表引脚接口说明表
第
1
脚:
VSS
为地电源。
VDD
接
5V
正电源。
3
VL
为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度
最高,
对
比度过高时会产生“鬼影”,使用时可以通过一个
10K
的电位器调整对比度。
4
RS
为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
5
R/W
为读写信号线,高电平时进行读操作,低电平时进行写操作。
当
和
共同为低电平时可以写入指令或者显示地址,当
为低电平
为高电平时可以读忙信
号,当
为高电平
为低电平时可以写入数据。
6
E
端为使能端,当
端由高电平跳变成低电平时,液晶模块执行命令。
7
D0
D7
为
8
位双向数据线。
15
背光源正极。
背光源负极。
========================================第2页
LCD
寄存器的选择寄存器的选择
寄存器的选择
ER/WRS功能说明100写入命令寄存器101写入数据寄存器110读取忙碌标志及RAM地址
111读取RAM数据0X
不动作
指令表
指令功能
控制线数据线RSR/W
D7D6D5D4D3D2D1D0清除屏幕
0000000001清除屏幕,并把光标移至左上角
光标回到原
点
000000001x光标移至左上角,显示内容不变
设定进入模
式
00000001I/D
S
I/D=1:
地址递增,I/D=0:
地址递减S=1:
开启显示屏,S=0:
关闭显
示屏
显示器开关
0000001DCB
D=1:
开启显示幕C=1:
开启光标B=1:
光标所在位置的字符闪烁
移位方式
000001S/CR/L
xx
S/C=0、R/L=0:
光标左移;
S/C=0、R/L=1:
光标右移S/C=1、R/L=0:
字符和光标左移;
S/C=1、R/L=1:
字符和光标右移功能设定
00001DLNFxx
DL=1:
数据长度为8位,DL=0:
数据长度为4位N=1:
双列字,N=0:
单列字;
F=1:
5x10字形,F=0:
5x7字形CGRAM地址
设定
0001CGRAM地址
将所要操作的CGRAM地址放入地址计数器DDRAM地址
001DDRAM地址
将所要操作的DDRAM地址放入地址计数器忙碌标志位
BF
01BF地址计数器内容读取地址计数器,并查询LCM是否忙碌,BF表示LCM忙碌
写入数据
10写入数据
将数据写入CGRAM或DDRAM读取数据
11读取数据
读取CGRAM或DDRAM的数据
========================================第3页========================================
图
10-571602LCD
内部显示地址
例如第二行第一个字符的地址是
40H
,那么是否直接写入
就可以将光标定位在第二行
第一个字符的位置呢,这样不行,因为写入显示地址时要求最高位
恒定为高电平
所
以
实际写入的数据应该是
01000000B
(
)
+10000000B(80H)=11000000B(C0H)。
在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,
无需人工干预。
每次输入指令前都要判断液晶模块是否处于忙的状态。
1602
液晶模块内部的字符发生存储器(CGROM
)已经存储了
160
个不同的点阵字符图形,
如图
10-58
所示,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假
名
等,每一个字符都有一个固定的代码,比如大写的英文字母“
A
”的代码是
01000001B
41H
),
显示时模块把地址
中的点阵字符图形显示出来,我们就能看到字母“A
”
========================================第4页========================================
开始
结束
判断
是否忙碌,rs=1;
rw=0;
ep=0;
P1=dat;
延时
4us
ep=1;
ep=0;
否
是
图表
写数据流程
========================================第5页
是否忙碌,rs=0;
4usep=1;
延时4usep=0;
否是
图表
写命令流程
========================================第6页
开始结束rs=0;
rw=1;
ep=1;
延时4usresult=(bit)(P1&
0x80);
返回result
是否忙碌,忙则返回1
========================================第7页
#include<
reg51.h>
#include<
intrins.h>
sbitrs=P3^5;
//寄存器类型,
表示数据寄存器,2
表示指令寄存器
sbitrw=P3^6;
//读写选择,
表示读,
0
表示写
sbitep=P3^7;
//读写使能,下降沿使能
voiddelay(unsignedcharms)//
延时
nms
{
unsignedchari;
while(ms--)
for(i=0;
i<
123;
i++)
;
}
========================================第8页
bitlcd_bz()//
是否忙碌,
忙碌
bitresult;
rs=0;
rw=1;
ep=1;
_nop_();
result=(bit)(P1&
ep=0;
returnresult;
}
voidlcd_wcmd(unsignedcharcmd)//
写指令
while(lcd_bz());
//
是否忙碌
rw=0;
P1=cmd;
voidlcd_pos(unsignedcharpos)//
显示地址
lcd_wcmd(pos|0x80);
写数据
========================================第9页========================================
voidlcd_wdat(unsignedchardat)
//判断
rs=1;
P1=dat;
voidlcd_wstr(constunsignedchar*s)//
写字符串
unsignedchari=0;
while(s[i]!
='
\0'
lcd_wdat(s[i]);
//显示字符
delay(1000);
i++;
voidlcd_init()//LCD
初始化
lcd_wcmd(0x38);
//功能设定
delay
(1);
lcd_wcmd(0x0c);
//显示器开关
lcd_wcmd(0x06);
//设定进入模式
lcd_wcmd(0x01);
//清除显示屏,把光标移至左上角
voidmain(void)========================================第10页
lcd_init();
delay(10);
lcd_pos(0x01);
//设置显示位置
//i=0;
while
(1){
lcd_wstr("
abcdefg"
);
lcd_pos(0x42);
delay(3);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LCD1602 工作 原理 技巧