完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
LCD1602液晶显示屏在51单片机上的使用
以下是我在学习使用51单片机时的心得体会,在这里记录我的学习历程,本文使用的教程的代码,如果有侵权的可能,请告知。 LCD1602液晶屏是我购买的普中51单片机自带的外设之一,学习这一款液晶屏的使用不仅仅在于学习这块液晶屏,更是学习一种连接外设的方式。 这一款液 晶屏的屏幕有两行,每一行都有一定的格子去装写入的字符,这个格子的大小可以选择,有5X7和5X10两个选择。 以下是1602的引脚说明摘录: 在以后的程序中,BLA和BLK这两个东西没有接触到,VL这个东西是拿来调整1602的亮度的,VSS和VDD不用多说,是不需要用软件来操作的,剩下的部分就是变成要注意的地方。 首先介绍1602的几个关键性指令: 清屏 如图所示,开头两位都是0,这显示了,这是一个命令选择端,并且为写选择端。 即将 DDRAM 的内容全部填入“空白”的 ASCII码 01H; 并且光标归位,将地址计数器AC的值设为0. 进入模式设置指令 功能 : 设定每次定入 1 位数据后光标的移位方向 , 并且设定每次写入的一个字符是否移动。参数设定的情况如下所示: 位名 设置 I/D 0=写入新数据后光标左移 1=写入新数据后光标右移 S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移 1 个字符 (至于显示屏右移,下文会详细说明) 显示开关控制指令 功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。参数设定的情况如下: 位名 设置 D 0=显示功能关 1=显示功能开 C 0=无光标 1=有光标 B 0=光标闪烁 1=光标不闪烁 功能设定指令 功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下: 位名 设置 DL 0=数据总线为 4 位 1=数据总线为 8 位 (我用的普中51单片机是默认8位的) N 0=显示 1 行 1=显示 2 行 F 0=5×7 点阵/每字符 1=5×10 点阵/每字符 在设置完成之后我们就要明白具体是在哪显示,在哪个位置显示?在对液晶模块的初始化中要先设置其显示模式, 在液晶模块显示字符时光标是自动右移的, 无需人工干预。 每次输入指令前都要判断液晶模块是否处于忙的状态。DDRAM 就是显示数据 RAM ,用来寄存待显示的字符代码。共 80 个字节,其地址和屏幕的对应关系如下表: 这里要注意一下,80个字节,不是每一个都可以出现在屏幕上的,一般来说,出现的只有8*2行,即16个字节,其余的字节是存在的,而且可以存储数据,让他们出来,需要用到显示屏移动的指令。 要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,例如第二行第一个字符的地址是 40H, 那么是否直接写入 40H 就可以将光标定位 在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位 D7 恒定为高电平 1 所以实际写入的数据应该是 01000000B(40H) +10000000B(80H)=11000000B(C0H)。 (总之全部地址都加上80H就对了) 前面16个字节的地址如下: 以下是操作步骤: 1602的基本操作 ①读状态:RS=0,RW=1,E=高脉冲。输出:D0~D7为状态字。 ②读数据:RS=1,RW=1,E=高脉冲。输出:D0~D7为数据。 ③写指令:RS=0,RW=0,E=高脉冲。输出:无 ④写数据:RS=1,RW=0,E=高脉冲。输出:无。 初始化:根据硬件约定对1602进行启动设置。 写命令(RS=L)设置显示坐标 写数据(RS=H) 操作的具体步骤(代码怎么写): 首先用一个h文件写下所有的函数定义和变量如下: 然后是c文件进行函数的各种定义,包括初始化等函数 剩下就是main.c文件的代码,引入之前的h和c文件,想显示什么,在Main文件中写入即可 最后是1602的原理图,看看就好,以后插外设的时候可以参考一下: |
|
|
|
只有小组成员才能发言,加入小组>>
2513 浏览 0 评论
1083浏览 2评论
700浏览 1评论
452浏览 0评论
193浏览 0评论
329浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:17 , Processed in 1.275435 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号