LCD1602液晶使用介绍

您所在的位置:网站首页 显示屏的接口类型有哪些呢 LCD1602液晶使用介绍

LCD1602液晶使用介绍

2024-07-10 16:39| 来源: 网络整理| 查看: 265

lcd1602 +c51 介绍

文章目录 LCD1602介绍 1602引脚信号说明 控制器接口介绍 1、基本操作时许 2、状态字说明 3、指令说明 RAM地址映射 控制时序图 代码实现 写入命令 写数据 试验例程 CGRAM自定义字模(简易汉字显示)

LCD1602介绍

LCD1602液晶在实际的产品运用中也是比较多产品,应为前一段时间也正好用到了,所以今天就对LCD1602液晶做一个总结,方便以后阅读同时也希望能够帮住到需要的人,总结的可能存在错误欢迎指出!

所谓的1602是指显示的时候,有2行内容每行有16个字符。其实这类字符型产品都可以这样解读比如:lcd12864就是有128行64列。目前市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理大多相同。因此基于HD44780写的液晶控制程序可以很方便适用于市面上大多数字符型液晶产品。 在这里插入图片描述

1602引脚信号说明

字符型LCD1602通常分为14条引脚和16引脚两种,16引脚多出来的是背光电源线VCC(15引脚)和地线(16引脚),其控制原理与14引脚LCD完全一样,引脚定义如下表:

引脚号 引脚名 电平 输入/输出 作用 1 Vss 电源地 2 Vcc 电源(+5V) 3 Vee 对比调整电压 4 RS 0/1 输入 0=输入指令;1=输出数据 5 R/W 0/1 输入 0=向LCD写入指令或数据; 1=从LCD读取信息 6 E 1,1->0 输入 使能信号,1时读取信息,1->0(下降沿)执行指令 7 DB0 0/1 输入/输出 数据总线line0(最低位) 8 DB1 0/1 输入/输出 数据总线line1 9 DB2 0/1 输入/输出 数据总线line2 10 DB3 0/1 输入/输出 数据总线line3 11 DB4 0/1 输入/输出 数据总线line4 12 DB5 0/1 输入/输出 数据总线line5 13 DB6 0/1 输入/输出 数据总线line6 14 DB7 0/1 输入/输出 数据总线line7 15 A +Vcc LCD背光灯源正极 16 K 接地 LCD背光灯源负极 控制器接口介绍 1、基本操作时许 1.1读状态:输入:RS=L,RW=H,E=H ----输出:D0~D7=状态字 1.2写指令:输入:RS=L,RW=L,D0~D7=指令码 ----输出:无 1.3读数据:输入:RS=H,RW=H,E=H ----输出:D0~D7=数据 1.4写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲 ----输出:无 2、状态字说明 STA7 D7 STA6 D6 STA5 D5 STA4 D4 STA3 D3 STA2 D2 STA1 D1 STA0 D0 STA0-6 当前数据地址指针的数值 STA7 读写操作使能 1:禁止 0:允许

对控制器每次进行读写操作前,都必须进行读写检测,确保STA7为0

3、指令说明

初始化设置 显示模式设置

在这里插入图片描述 显示开/关光标设置 在这里插入图片描述 在这里插入图片描述 数据控制 控制器内部没有一个数据地址指针,可以通过他们来访问内部的全部80字节RAM。 其他设置

指令码 功能 01H 显示清屏:1.数据指针清零 2.所有显示清零 02H 显示回车:1.数据指针清零

初始化过程:

延时 写指令38H 延时 写指令38H 延时 写指令38H (每次写指令、读/写数据操作之前均需检测信号) 写指令38H:显示模式设置 写指令08H:显示关闭 写指令01H:显示清屏 写指令06H:显示光标移动设置 写指令0CH:显示开及光标设置

代码:

void LcdInit(){ //LCD初始化程序 Delay1ms(15); LcdWriteCom(0x38); Delay1ms(5); LcdWriteCom(0x38); Delay1ms(5); LcdWriteCom(0x38);//设置显示模式 LcdWriteCom(0x0C);//开显示不显示光标,光标不闪烁 LcdWriteCom(0x06);//写一个数据,指针加1 LcdWriteCom(0x01);//清屏 LcdWriteCom(0x80);//设置数据指针起点。 } RAM地址映射

HD44780内置DDRAM、CGROM和CGRAM。 DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,地址和屏幕的对应关系如下:

显示位置 1 2 3 4 5 6 7 … … 40 第一行 00H 01H 02H 03H 04H 05H 06H … … 27H 第二行 40H 41H 42H 43H 44H 45H 46H … … 67H

也就是说想要在LCD1602屏幕上的第一行第一个位置显示一个“A”,就要向DDRAM的00H地址写“A”字的代码就OK了,但具体的写入是要按照LCD模块的指令格式来进行的。 但是我们发现每一行有40个地址,而我们们每行只能显示16个字符,其实际多的位置可以实现字符的移动,我们在看大佬作品的时候可能会见到有的字符是从左面移过来,他的实现形式就用到了着些多的地址。将数据先写到未显示的地址然后使用指令进行左移就可以了。 那么1602显示的地址又是什么呐?下图就是DDRAM地址与现实位置的对应关系。

控制时序图

1、读操作时序图: 在这里插入图片描述 2、写操作时序图: 在这里插入图片描述 3、时序参数 在这里插入图片描述

代码实现

LCDE = E //使能信号

写入命令

RS=L,RW=L,D0~D7=指令码,E=高脉冲。

void LcdWriteCom(unsigned char com){ //写入命令 RS = 0; RW = 0; GPIO_LCD=com; Delay1ms(10)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3