欢迎来到朵拉利品网
知识中心
资讯
  • 资讯
  • 产品
  • 供应商
您的位置: 朵拉利品网 >  知识中心 > 1602lcd液晶屏 lcd1602功能的介绍
1602lcd液晶屏 lcd1602功能的介绍
2019-07-28 12:22:32 来源:朵拉利品网

1, lcd1602功能的介绍



1.简介
工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)
注:为了表示的方便 ,后文皆以1表示高电平,0表示第电平。
2.管脚功能
1602采用标准的16脚接口,其中:
第1脚:VSS为电源地
第2脚:VDD接5V电源正极
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。
第6脚:E(或EN)端为使能(enable)端。
第7~14脚:D0~D7为8位双向数据端。
第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。
3.操作控制
操作控制表
操作
读状态
写指令
读数据
写数据
输入
RS=0,RW=1,E=1
RS=0,RW=0,
D0~7=指令码,E=H脉冲
RS=1,RW=1,E=1
RS=1,RW=0,
D0~7=数据,E=H脉冲
注:关于E=H脉冲——开始时初始化E为0,然后置E为1,再
4.字符集
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如"A"。
以下是1602的16进制ASCII码表地址:
读的时候,先读左边那列,再读上面那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。
[编辑本段]指令集
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)。

2, 单片机1602LCD



给你一个我实际的初始化程序,其中前后和命令之间的延时是我实际调试出来的,若延时时间短了也会出现你的现象:
void cmd1602(unsigned char ddata)
{
CTL1602_OUT = 0 //RS/RW/EN=0;
//禁止1602(E=0),选择1602为命令方式(RS=0),将读写口改为写状态(RW=0)
delay_us(50); //等待BUSY位变低
DAT1602_OUT = ddata; //送出数据到数据总线
SET1602_EN; //芯片使能位置1
delay_us(5); //保持一定宽度
SET1602_DI; //芯片使能位清0,命令被1602读到
delay_us(1); //保持一定宽度
}
void init_disp(void)
{
DAT1602_SEL = 0; //数据总线口定义为I/O方式
DAT1602_DIR = 0xff; //口定义为输出方式
CTL1602_SEL &= ~(SEL+RW+ENB); //各控制位定义为I/O方式
CTL1602_DIR |= (SEL+RW+ENB); //口定义为输出方式
//以上4行为430的I/O口定义操作,具体在头文件中定义
delay_ms(500);//延时500毫秒
cmd1602(0x38); /* Two Lines, 5x7 Font Style, No Cursors, No Blink */
delay_ms(10);
cmd1602(0x38);
delay_ms(10);
cmd1602(0x38);
delay_ms(10);
cmd1602(0x38);
delay_ms(10);
cmd1602(0x08); //close display
delay_ms(10);
cmd1602(0x01); //clear display
delay_ms(10);
cmd1602(0x06); //set AC right move
delay_ms(10);
cmd1602(0x0c); //open display
delay_ms(200);
}

相关概念


字符

在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。

16

16(十六),是15与17之间的自然数。 16是4的 平方。