找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: ppptalk
打印 上一主题 下一主题
收起左侧

10分钟理解LCD1602液晶显示模块

  [复制链接]
跳转到指定楼层
楼主
1. 初识LCD1602液晶模块


LCD1602什么意思,LCD表示LiquidCrystal Display,1602表示一行可以显示16个字符,一共有两行。实物图如下所示:



2. 思路分析

LCD1602是显示模块,主要作用当然是显示了。既然是显示,我们可以想一想,无非就是两个内容:
第一点:你打算让它在哪里显示(显示位置)
第二点:你要显示什么内容       (显示内容)
很明显,这两点都是来自于单片机的控制,单片机让它显示什么它就显示什么,单片机让它在哪里显示它就在哪里显示。这一句话也可以换个说法,比如单片机'告诉'LCD1602模块:请你在第1行的第4个位置,显示字符‘A'. 所谓'告诉',也即是单片机与LCD1602模块进行'沟通'。类比一下我们平时的"沟通",比如打电话,是不是一上来就开始谈论主题了。当然不是,先要发出一信号,比如"喂",打个招呼,确定对方能收到信号后才开始谈论主题。当然也有些人会嘘寒问暖几句才开始正题谈话。


总之,在'沟通'之前要有个'打招呼'的过程。对于单片机与LCD1602的'沟通'也一样,同样需要先'打个招呼',只不过我们这里换了个说法叫做"初始化"。


这样整个思路就出来了:
第一步:初始化            (单片机先跟1602打个招呼)
第二步:确定显示位置  (单片机告诉1602在哪里显示)
第三部:确定显示内容  (单片机告诉1602显示什么内容)


3. 操作步骤
思路出来,下面就是按照这个思路去实现就行了。如何实现呢,当然要看你使用的LCD1602液晶模块厂家给的说明书了。


3.1 初始化
如何初始化呢?1602说明书上已经告诉你了,想都不用想,照做即可
  1. 延时15ms
  2. 写指令38H
  3. 延时5ms
  4. 写指令38H
  5. 写指令08H
  6. 写指令01H
  7. 写指令06H
  8. 写指令0CH
复制代码



3.2 确定显示位置
如何确定显示位置呢?前面说了显示位置就是2行,每一行16个空格,这样一共是32个空格。那么单片机如何告诉LCD1602在哪个空格显示呢?注意到单片机和LCD1602都是机器,既然是机器之间的沟通当然要使用机器语言了。既然是机器语言无非就是0和1组成的语言。那么现在的问题就是如何通过0和1来确定显示位置。这个就比较容易了,比如我只使用一个位的话,那么就只能确定两个位置,用0来表示第一行的第一个空格显示,用1来表示第一行的第2个空格显示。前面说了,1602有32个空格,很明显一个位肯定不够用。同样的道理,采用两个位的话就是4种组合,也就是可以确定4个空格,三个位的话就是8个空格,仍然不够用。那么就继续增加位数,五个位就够了。比如当单片机发送00000这个信息给1602时就表示要它在第1行的第1个空格显示,00001表示在第1行的第2个空格显示,依此类推。但是通常机器之间的沟通是以字节(8位)为最小单位的,这样我们就能通过8位0和1的组合确定显示位置。至于具体的组合方式对应着什么位置就要查看厂家提供的说明书了。




对于这8位0和1的组合在说明书上已经明确指出了,它的最高位固定为1,剩下7位由上表确定。比如剩下7位为40H的时候,就表示
在1602的第2行第1个空格显示。当剩下7位为4FH的时候就表示在第2行的第16个空格显示。

3.3 显示内容
剩下的一个问题就是如何确定显示内容。同样显示什么内容也是通过8位的0和1的组合来完成的,这8位不同的组合形式就对应着不同的显示内容,具体如下图所示




比如当单片机发送00110000给1602的时候,就表示告诉让1602显示字符0,等等。


这样又有了个新的问题,当单片机发送1000 0100给1602的时候,它怎么知道这个信息是"位置"信息还是"内容"信息呢?这两种信息都是用8位的0和1组合而成的,如何区别?我们把"位置"信息定义为"命令",把"内容"信息定义为"数据"。那么单片机如何告诉1602发送的是"命令"还是"数据",这个问题就去翻一翻说明了,上面讲的很清楚。


步骤整理好了,下面就是对照时序图实现单片机如何发送一个字节(命令/数据)给1602了。


下一篇:
        
10分钟理解LCD1602如何显示自定义字符
        
10分钟理解OLED显示模块

10分钟理解DS18B20数字温度计模块

10分钟理解DS1302时钟模块




所有参考代码工具视频下载百度网盘链接:

百度云盘链接地址-51HEI分享 .rar (180 Bytes, 下载次数: 370)


评分

参与人数 10黑币 +110 收起 理由
chef + 10 赞一个!
66飛宇 + 5 很给力!
l1050742394 + 5 赞一个!
sdgb + 5 共享资料的黑币奖励!
xiaoshan7748 + 10 很给力!
tieq1952 + 10 赞一个!
Lieternal + 5 很给力!
qinwenyuqw2 + 5 很给力!
qjzyx + 5 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

沙发
ID:304634 发表于 2018-4-13 17:51 | 显示全部楼层
熊熊生风 发表于 2018-4-13 15:20
摄氏度上面的小圆圈怎么显示

看这个帖子,LCD1602如何显示自定义字符

http://www.51hei.com/bbs/dpj-112360-1.html

评分

参与人数 1黑币 +1 收起 理由
木头少年 + 1 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:304634 发表于 2018-4-29 08:13 | 显示全部楼层
813547577 发表于 2018-4-28 19:41
楼主不真诚啊!链接都打不开

刚试了下,这个百度云链接没有问题,没有失效。
你在别的电脑上试试看。

回复

使用道具 举报

地板
ID:304634 发表于 2018-6-10 15:26 | 显示全部楼层
原来的链接地址失效了
新链接地址:
百度云链接地址_51HEI分享.rar (313 Bytes, 下载次数: 143)
回复

使用道具 举报

5#
ID:304634 发表于 2018-6-10 15:27 | 显示全部楼层
asusyt 发表于 2018-6-10 08:43
百度的链接不存在了,取消分享了啊楼主

新链接地址:
链接:https://pan.baidu.com/s/1aN_4Wz6qGLSrr5yJEoeYvg 密码:4kum
回复

使用道具 举报

6#
ID:304634 发表于 2018-6-27 17:37 | 显示全部楼层
冰纯 发表于 2018-6-27 13:20
请发新的链接地址,谢谢!

在181楼
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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