单片机c语言显示器编程,51单片机驱动LCD1602程序设计(C语言)很详细的教程

这篇教程详细介绍了如何使用C语言编程驱动51单片机来操作LCD1602显示器,包括字符型LCD的引脚定义、内部结构、指令集和基本操作流程。内容涵盖DDRAM与显示位置的关系、字符字模、自定义字符以及显示字符的函数实现。
摘要由CSDN通过智能技术生成

字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,定义如下表所示:

字符型LCD的引脚定义

599887538e8bec11da9889bd6f943c4d.png

HD44780内置了DDRAM、CGROM和CGRAM。DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表:

23794df2b3afaf75cabc7f720fbe3d10.png

也就是说想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的。在1602中我们用前16个就行了。第二行也一样用前16个地址。对应如下:

DDRAM地址与显示位置的对应关系

a1ab3e8af5c7e138a6e7c30bd68067cf.png

68838a8e6b72da9b1fdf11cdaf309083.png

文本文件中每一个字符都是用一个字节的代码记录的。一个汉字是用两个字节的代码记录。在PC上我们只要打开文本文件就能在屏幕上看到对应的字符是因为在操作系统里和BIOS里都固化有字符字模。什么是字模?就代表了是在点阵屏幕上点亮和熄灭的信息数据。

例如“A”字的字模:

01110     ○■■■○

10001     ■○○○■

10001     ■○○○■

10001     ■○○○■

11111     ■■■■■

10001     ■○○○■

10001     ■○○○■

上图左边的数据就是字模数据,右边就是将左边数据用“○”代表0,用“■”代表1。看出是个“A”字了吗?在文本文件中“A”字的代码是41H,PC收到41H的代码后就去字模文件中将代表A字的这一组数据送到显卡去点亮屏幕上相应的点,你就看到“A”这个字了。

刚才说了想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码41H就行了,可41H这一个字节的代码如何才能让LCD模块在屏幕的阵点上显示“A”字呢?同样,在LCD模块上也固化了字模存储器,这就是CGROM和CGRAM。HD44780内置了192个常用字符的字模,存于字符产生器CGROM(Character Generator ROM)中,另外还有8个允许用户自定义的字符产生RAM,称为CGRAM(Character Generator RAM)。下图说明了CGROM和CGRAM与字符的对应关系。

2655640df7a6e13e37970e609ac1ec57.png

从上图可以看出,“A”字的对应上面高位代码为0100ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值