08

您所在的位置:网站首页 奇异字符大全 08

08

2024-07-12 11:13| 来源: 网络整理| 查看: 265

LCD1602显示字符

文章目录 LCD1602显示字符1. 硬件参数1.1 技术参数1.2 引脚功能1.3 写入时序1.4 地址范围、显示内容1.5 ASCII码表、CGROM出厂光刻图像 2. 软件编程2.1 框架式编程结构搭建2.2 初始化GPIO输出模式写入时序初始化硬件操作指令2.4 单字符显示测试 2.3 内容显示显示测试显示自定义图案光标显示设置

1. 硬件参数 1.1 技术参数

image-20210827141438600

1.2 引脚功能

image-20210827141607643

1.3 写入时序

image-20210827141910378

image-20210827141931750

1.4 地址范围、显示内容

image-20210827142156296

DDRAM即是我们在LCD 1602液晶屏幕上看到的内容

硬件控制命令

image-20210827142724903

image-20210827143043320

image-20210827143122953

每个预留ASCII码占8个地址,每个地址对应1个字节,可以保存一个自定义图像

1.5 ASCII码表、CGROM出厂光刻图像

image-20210827143458777

image-20210827143605647

2. 软件编程 2.1 框架式编程结构搭建 新建中层服务函数LCD1602_Ser.c,LCD1602_Ser.h

image-20210821090428809

保存

image-20210821090528884

添加

image-20210821090548932

打标签

image-20210821090656535

all.h包含LCD1602_Ser.h

image-20210821161400521

LCD1602_Ser.c包含all.h

image-20210821090725204

2.2 初始化 GPIO输出模式

由原理图

image-20210821091009639

LCD1602涉及0#595芯片和GPIO4.5,GPIO4.6

其中0#595芯片相关前面项目已经定义好

定义管脚GPIO4.5,GPIO4.6,并配置成准双向口模式

image-20210821091237663

LCD1602初始化函数

image-20210821091732212

配置成准双向口模式

image-20210821091838579

image-20210821092230085

image-20210821092250564

写入时序

由时序图

image-20210821092548408

RS脚

分成2个函数:写地址和写数据

image-20210821092932950

image-20210821093026438

R/W脚无操作

image-20210821093143204

E脚

翻译时序图

先拉低电平,延时,再拉高电平

image-20210821094014425

需要延时,写一个专用延时函数

同时需要注意的是,被调用的函数要写在前面

LCD 工作速度较慢,延时值需要自己视情况调整

image-20210821093401435

发送数据

595发数据的框架(两个数组+发送函数)已经建好

0#595工作时,关闭1#595

错开时间往数码管发数据和往LCD 1602发数据

image-20210821094525812

发送完数据

image-20210821094627702

数据发送到595芯片后,发送使能下降沿信号,将595芯片内的电平拷贝到LCD 1602内使其显示

写地址和写数据两个函数均如上编写

初始化硬件操作指令

将LCD1602初始化函数外部声明并在主函数调用

初始化函数除了配置IO口模式外,还要执行一系列硬件操作指令

功能设置清除显示光标复位光标和显示模式光标显示控制光标移动

image-20210821100208263

image-20210821100257461

至此,初始化完成

2.4 单字符显示测试

显示区域

image-20210821100932597

显示内容

想要显示‘A’,查ASCII表

image-20210821102121832

image-20210821102950406

显示字符有两种方法,ASCII码值和字符ASCII,支持连续显示

字符串显示需要连续发送,在串口部分再涉及。

2.3 内容显示

创建数组用于储存和显示,并声明

LCD 1602的一行肉眼可见16个字节

image-20210821103353909

创建显示函数发送数组内的内容,并声明

image-20210821103921543

创建1602数据分配函数,并声明,主函数调用

image-20210821104652916

1602显示反应速度较慢,相比直接将显示函数放进主循环while(1),少循环999次

此时仅调用显示函数,并未向数组内赋值

视数码管工作情况修改延时值,若轻微闪烁,说明延时值过大,需降低

显示测试

只需要向数组赋值

image-20210821110924760

若用变量显示‘7

image-20210821111237016

‘7’的ASCII=0x37,即0x30+7

image-20210821111433302

1602用两个字符位置显示‘10’

image-20210821111914564

变化显示

image-20210821112019397

显示自定义图案

image-20210827203640461

image-20210821112335350

image-20210821112413239

image-20210821142003161

image-20210821142104150

一个是发送‘0’的ASCII值

一个是ASCII值是0

可以充分利用CGRAM的空余空间,比如显示某些汉字

image-20210827203615755

光标显示设置

在LCD显示函数内

创建变量

image-20210821144517576

switch选择

image-20210821144609015

在.h声明,主函数调用光标显示变量

image-20210821144653623



【本文地址】


今日新闻


推荐新闻


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