1602字符液晶

简介

  工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)

  注:为了表示的方便 ,后文皆以1表示高电平,0表示低电平。

管脚功能

  

引脚说明

 

  1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线

  VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:

  

引脚符号功能说明
1VSS一般接地
2VDD接电源(+5V)
3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。
6EE(或EN)端为使能(enable)端,下降沿使能。
7DB0底4位三态、 双向数据总线 0位(最低位)
8DB1底4位三态、 双向数据总线 1位
9DB2底4位三态、 双向数据总线 2位
10DB3底4位三态、 双向数据总线 3位
11DB4高4位三态、 双向数据总线 4位
12DB5高4位三态、 双向数据总线 5位
13DB6高4位三态、 双向数据总线 6位
14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flang)
15BLA背光电源正极
16BLK背光 电源负极

 

  寄存器选择控制表

  

RSR/W操作说明
00写入指令寄存器(清除屏等)
01读busy flag(DB7),以及读取位址计数器(DB0~DB6)值
10写入数据寄存器(显示各字型等)
11从数据寄存器读取数据

 

  注:关于E=H脉冲——开始时初始化E为0,然后置E为1,再清0.

  busy flag(DB7):在此位为被清除为0时,LCD将无法再处理其他的指令要求。

字符集

  1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。

  因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A’。

  以下是1602的16进制ASCII码表:

  

 

  (图片打开是大图)

  读的时候,先读上面那列,再读左边那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。

显示地址

  

12345678910111213141516
00H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH
40H41H42H43H44H45H46H47H48H49H4AH4BH4CH4DH4EH4FH

指令集

  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)。

  通常推荐的初始化过程:

  延时15ms

  写指令38H

  延时5ms

  写指令38H

  延时5ms

  写指令38H

  延时5ms

  (以上都不检测忙信号)

  (以下都要检测忙信号)

  写指令38H

  写指令08H 关闭显示

  写指令01H 显示清屏

  写指令06H 光标移动设置

  写指令0cH 显示开及光标设置

  

  Proteus仿真

  使用Proteus仿真1602--即LM016L--依照数据手册说明可能遇到困难,可以尝试采用以下方案解决:

  1、数据手册中可能介绍1602内部D0~D7已有上拉,可以使用P0口直接驱动。在Proteus里LM016L内部可能没有,应该人为

  加上拉电阻。建议不要使用排阻,使用普通电阻一个一个拉应该可以解决问题;

  2、可能碰到不能检测忙信号的问题,尝试使用延时把忙信号拖过去。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值