找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12707|回复: 9
打印 上一主题 下一主题
收起左侧

STM32学习笔记-LCD1602显示

  [复制链接]
跳转到指定楼层
楼主
这几天一直被lcd1602困扰,就是不显示,开始一直纠结于stm32的3.3V能不能驱动,最后发现3.3v也是可以驱动的,下面是我的知识整理和方法,和大家分享一下。

首先,了解一下lcd1602:
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式 LCD,目前常用 16*1,
16*2,20*2 和 40*2 行等的模块。硬件如图:

1602LCD 主要技术参数:
显示容量:16×2 个字符
芯片工作电压:4.5—5.5V
工作电流:2.0mA(5.0V)
模块最佳工作电压:5.0V
字符尺寸:2.95×4.35(W×H)mm
好多网友都说3.3V无法驱动,其实3.3V可以驱动的,只是显示的不清楚而已,大家调节3脚的液晶显示偏压就能正常显示了,具体第三脚是什么下面再说。
引脚定义:

第 1 脚:VSS 为地电源。
第 2 脚:VDD 接 5V 正电源。
第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对
比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。
第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W
共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信
号,当 RS 为高电平 R/W 为低电平时可以写入数据。
第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。
第 7~14 脚:D0~D7 为 8 位双向数据线。
第 15 脚:背光源正极。
第 16 脚:背光源负极。
下面说说指令集:

1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1 为
高电平、0 为低电平)

指令 1:清显示,指令码 01H,光标复位到地址 00H 位置。


指令 2:光标复位,光标返回到地址 00H。

指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有
文字是否左移或者右移。高电平表示有效,低电平则无效。
指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显
示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,
高电平闪烁,低电平不闪烁。
指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。
指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单
行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵
字符。
指令 7:字符发生器 RAM 地址设置。
指令 8:DDRAM 地址设置。
指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或
者数据,如果为低电平表示不忙。
指令 10:写数据。
指令 11:读数据。


如何显示:
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电
平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在
哪里显示字符,下图是 1602 的内部显示地址。

例如第二行第一个字符的地址是 40H,那么是否直接写入 40H 就可以将光标定位在第二行
第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以
实际写入的数据应该是 01000000B(40H)+10000000B(80H)=11000000B(C0H)。

1602LCD 的一般初始化(复位)过程
延时 15mS
写指令 38H(不检测忙信号)
延时 5mS
写指令 38H(不检测忙信号)
延时 5mS
写指令 38H(不检测忙信号)


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


总结:
1.因为51单片机是直接输出5V所以可以直接驱动1602,stm32系列是输出3.3v电压,所以不能正常驱动1602,我的解决 办法是将二脚vcc接5V,其他脚还是用3.3v驱动,结果就能正常显示了。
2.还有一个问题,就是液晶显示偏压的问题,上面说了接地对比度最高,接vcc对比度最低,或者接可变电阻器进行调节,开始的时候就是这个显示偏压接了vcc倒是我一直看到不清楚,文档看到不仔细啊!

下面是我的显示效果:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:367963 发表于 2018-7-26 12:37 | 只看该作者
楼主可以看下你的原理图吗
回复

使用道具 举报

板凳
ID:158903 发表于 2018-7-27 09:59 | 只看该作者
现在用1602的都不多了吧
回复

使用道具 举报

地板
ID:389156 发表于 2018-12-6 16:06 | 只看该作者
单片机用接耐受5V的引脚吗?硬件上直接连的吗
回复

使用道具 举报

5#
ID:143930 发表于 2018-12-25 21:53 | 只看该作者
同问5V问题,选的是FT管脚,还是直接普通管脚。
回复

使用道具 举报

6#
ID:223999 发表于 2019-5-8 09:51 | 只看该作者
看看学习一下
回复

使用道具 举报

7#
ID:712072 发表于 2020-3-20 10:23 | 只看该作者
楼主,我用stm32驱动1602,一直没有显示,2,15脚接5.5v,3脚接了3.3v
回复

使用道具 举报

8#
ID:908864 发表于 2021-4-20 10:42 | 只看该作者

楼主可以看下你的原理图吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表