0
点赞
收藏
分享

微信扫一扫

单片机 1602A

初学单片机,有错误请指正,万分感谢。

下面是这几天研究1602 液晶显示的小收获,当然对于大佬就是入门都不算的玩意。这东西的说明书找了几份,对比着看,有的文档里错误一堆,但是使用方式一样的。

外部引脚上

单片机  1602A_数据

按照说明接引脚。vo引脚调整现实对比度,接地对比率最高,有明显拖影。接5v,看不到显示的字符。万不能悬空。

硬件接正确,便可通过mcu写代码了。因为简单了解液晶屏的开发流程,代码逻辑简单,没加一些忙判断,也没开发读功能。

首先贴一张指令图

单片机  1602A_引脚_02

初始化流程

单片机  1602A_引脚_03

网上其他教程可能因为板子开发方案不一样,实现逻辑不一样,不过按照图的逻辑我的液晶屏显示没问题。

初始化完成后,可进行字符写入逻辑。

液晶屏有两个八位寄存器,IR(指令寄存器),DR(数据寄存器)。IR保存一些清屏 显示移位等指令。DR暂存要写入到DDRAM或CGRAM的数据。

CGROM保存我们直接就可拿来用的字符,与ascii一致,CGRAM保存我们自定义的字符。DDRAM就是保存我们看到的字符的空间。两行40字符,共80字符。可看到16字符,剩余24字符不可见,可用来移位显示时的字符缓存。

00H-----27H

40H-----67H

AC(地址计数器)保存当前可编辑的DDRAM(显示数据ram)或CGRAM(字符注册ram)的地址。

我们写入指令时候,写入到IR保存。写入数据时候暂存到DR,并同时写入到ac指向的地址,并且ac同时加1.

通过指令光标和显示移位指令,我们设置可见的DDRAM地址。

看起来就是整体左或者右移动一位。每行的四十个字节如同一个双向链表,往左或者往右一直循环移动,字符就循环显示。

单片机  1602A_数据_04


















举报

相关推荐

0 条评论