打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
基于HD44780的字符型液晶显示模块接口的单片机实现
基于HD44780的LCD的实现
—4Bit 接口
前言
HD44780是点阵式的LCD控制器,它能显示英文字母、阿拉伯数字、日文片假名和一般性的符号。微处理器可以使用2种方式来驱动他4-bit或者8-bit。
下面是HD44780的组成图(xiaobin)
网上有许多基于8-bit的文章,我们主要介绍的是另外的一种实现方式:4-bit
一、简介
针对上面的组成图,我们做一简单介绍。详细信息请参见HD44780的数据手册。
1.1 寄存器
HD44780有两个8位寄存器,他们分别是指令寄存器(IR)和数据寄存器(DR)。
IR寄存器存储指令代码,比如显示清除、光标移动、显示数据RAM(DDRAM)和字符生成器RAM(CGRAM)的地址信息。对于MPU来说IR寄存器是只写的。
DR把暂存数据写入DDRAM或CGRAM以及从DDRAM或CGRAM中读取暂存数据。MPU写入数据到DR时,DR会使用内部操作自动写入数据到DDRAM或CGRAM。DR已同样的方式从DDRAM或CGRAM中读取数据。当写入的地址信息是指向IR的时候,数据是DR从DDRAM或CGRAM中读取的。也就是说,我们无论是发送命令,还是发送数据,存储这些信息的是DDRAM或CGRAM。
我们使用的外部接口RS就是来做选择寄存器的。是使用IR,还是DR。这决定了,我们发送过去的信息是命令还是显示数据。
1.2 忙标志(BF)
当BF=1时,表明HD44780在进行内部操作。BF的输出在DB7口。
1.3 地址累加器(AC)
当一个指令把地址信息写到IR,则IR发送这个信息给AC。
之后写到(或读)DDRAM或CGRAM,AC是自动累加1的。AC的输出DB0至DB6
表1 寄存器选择(Register Selection)
RS
R/W
Operation
0
0
IR write as an internal operation(display clear, etc.)
0
1
Read busy flag(DB7) and address counter(DB0 to DB6)
1
0
DR write as an internal operation(DR to DDRAM or CGRAM)
1
1
DR read as an internal operation(DR to DDRAM or CGRAM to DR)
二、程序实现
编写程序之前,我们先要知道HD44780的字符代码和字模。
图2: 基本字符代码和字模(ROM Code:A00)
图2: 扩展的字符代码和字模(ROM Code:A02)
程序流程:
HD44780 指令
Instruction
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
Clear display
0
0
0
0
0
0
0
0
0
1
Return home
0
0
0
0
0
0
0
0
1
-
Entry mode set
0
0
0
0
0
0
0
1
I/D
S
Display on/off control
0
0
0
0
0
0
1
D
C
B
Cursor or display shift
0
0
0
0
0
1
S/C
R/L
-
-
Function set
0
0
0
0
1
DL
N
F
-
-
Set CGRAM address
0
0
0
1
CGRAM Address
Set DDRAM address
0
0
1
DDRAM Address
Read busy flag & address
0
1
BF
DDRAM Address
Write RAM
1
0
Write Data
Read RAM
1
1
Read Data
程序代码:(xiaobin演示之用)
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC LIST P=16F84A INCLUDE <P16F84A.INC> CBLOCK 0x0C ENDC ORG 0x00Begin call LCD_Init movlw 'H' call LCD_Write movlw 'e' call LCD_Write movlw 'l' call LCD_Write movlw 'l' call LCD_Write movlw 'o' call LCD_Write sleep END
电路图:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
第17章 字符型液晶(LCD)模块原理及设计学习-三八线继电器网
12864LCD液晶显示屏中文资料
一天一个设计实例-​LCD1602的应用设计
做液晶显示时DDRAM,CGROM,CGRAM,GDRAM的概念
【51单片机】1602 CGRAM、CGROM及DDRAM的作用
学习笔记:12864液晶模块的详细使用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服