发 帖  
原厂入驻New
发烧友10周年庆典,全网超值优惠来袭!千元现金券,下单抽奖赶紧参与》》

[经验] 8051如何驱动LCD 1602液晶显示器

7 天前  977 51单片机 单片机 LCD LCD1602
分享
2
在该项目中,我们将简要介绍如何将16x2的LCD模块与51单片机AT89C51相连。我们常常用LCD来以更加动态的方式来显示操作系统中的展示信息或错误信息等。如果你了解了LCD的运作原理,那么使用51单片机来驱动LCD是非常简单的。

该贴中,我们不仅会谈到LCD,也会在末尾给出项目的C语言代码。

16x2 LCD的简短介绍

16x2液晶显示器可以在两行上展示32个字符(每行16个字符)。每个字符都以5x7的像素点阵显示。该点阵会因不同的16x2 LCD模块而改变,如果你选用JHD162A的话,则该点阵为5x8。LCD模块中一共有16个引脚,引脚配置如下。

引脚序号 引脚名 功能
1        VSS        接地引脚
2        VCC        5V电源引脚
3        VEE        通常接电位计来作调整用
4        RS        RS是寄存器选择引脚,用来将显示数据(字符)写入LCD中,当写入时该引脚电平必须为高。初始化以及接受其它命令时引脚电平应处于低。
5        R/W        用来为LCD读取或写入数据,读取数据时该引脚应为高(R/W=1),写入数据时引脚应为低(R/W=0)。
6        E 使能引脚用于启动该模块。该引脚需要提供一个约450ns的高低脉冲。
7        DB0
8        DB1
9        DB2
10        DB3        DB0-DB7为数据引脚,用于提供显示数据(比如数字字符或命令数据等)
11        DB4
12        DB5
13        DB6
14        DB7
15        LED+ 控制LCD模块的背光,应与Vcc相连。
16        LED-  控制LCD模块背光,应与地相连。

通过阅读上表我们可以对LCD如何显示字符有个大致的概念。显示时需要激活引脚6(使能引脚),给到一个450ns的脉冲,激活引脚6后,你应该将寄存器选择引脚置于写入模式,要怎么做的话你就得使该引脚为高(RS=1),然后再配置R/W至写入模式,也就是低电平(R/W=0)。

也可以参照以下几个简短的步骤
E=1 使能引脚为高
RS=1 寄存器选择引脚为高
R/W=0 读/写引脚为低

对LCD发送指令需参照以下几步
E=1 使能引脚为高
RS=0 寄存器选择引脚为低
R/W=0 读/写引脚为低

命令
LCD中预置了一些用于完成不同任务的命令。这些命令对于LCD显示来说非常重要。命令如下。

命令        功能
0F        用于开启LCD,使光标闪烁
1        清屏
2        光标复位
4        光标左移
6        光标右移
E        打开显示与光标
80        强制光标处于第一行首位
C0        强制光标处于第二行首位
38        使用两行并以5x7点阵
83        指针位于第一行第三位
3C        激活第二行
0C3        跳转到第二行第三位
0C1        跳转到第二行第一位

8051与LCD 1602连接的电路图
1.jpg

所需电子元器件
AT89C51(51单片机)
LCD1602
11.0592MHz晶振
2个33pF电容
2个10kΩ电阻
8个1kΩ电阻
10kΩ电位计
330Ω电阻
按键开关
10uF/16V 电容
8051编程器
5V电源
导线

电路解析
2.jpg

晶振与两个33pF电容,将与XTAL1与XTAL2相连,从而为单片机提供系统时钟
RST引脚在10kΩ电阻的帮助下被拉低。再加上10uF的电容与按键开关,你可以用它来实现8051单片机的重置。在10kΩ电阻的作用下EA引脚被拉高。

LCD的数据引脚应与PORT0相连(首先PORT0应该用1kΩ电阻拉高)。RS和E与PORT2的引脚P2.0和P2.1相连。

10kΩ的电位计用于调整LCD的对比度。

在8051中为LCD编程

编程需要遵循以下几步
1.LCD初始化
2.向LCD发送指令
3.往LCD写入数据

初始化LCD

要初始化LCD需要遵循以下内置指令

0x38用于8bit数据的初始化
0xoC用于打开屏幕显示并关闭光标
0Xo1用于清屏
0x80用于将光标置于第一行

向LCD发送指令
E=1;使能引脚应为高
RS=0;寄存器选择引脚应为低
将数据置于数据寄存器中
R/W=0;读/写引脚应为低

向LCD写入数据
E=1;使能引脚应为高
RS=1;寄存器选择引脚应为高
将数据置于数据寄存器中
R/W=0;读/写引脚应为低

代码
8051-LCD1602.c (1.44 KB, 下载次数: 8)


现在很少用到这种液晶了啊
回复

举报

这种线路难在编程呀
回复

举报

declansang 6 天前
学习了,基本外围电路。。。
回复

举报

horse 5 天前
学习了,谢谢分享!
回复

举报

迅得电子 昨天 15:30
感谢分享,现在51系列用的还多吗
回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发经验
课程
    关闭

    站长推荐 上一条 /10 下一条

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