基于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 0x00
Begin
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
电路图:
分享到:
相关推荐
字符型液晶显示模块HD44780与单片机的接口及编程
字符尺寸为 2.95X4.35(WXH)mm,内置 HD44780 接口型液晶显示控制器,可与 MCU 单片机直接连接,广泛应用于 各类仪器仪表及电子设备。 ◆SMC1602A 液晶显示模块的主要技术参数: 产品型号 显示 类型 显示模式 工作...
它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。该显示屏的优点是耗电量低、体积小、辐射低。 LCD1602主要用来显示数字、...
本文所介绍的开发依托于德国奔克公司BP电梯控制系统,该控制系统的显示器采用HD44780字符型液晶显示模块,显示界面语言采用英语。为了方便在中国的各类电梯用户,因而开发了这个汉化系统,用OCMJ
1、用字符型液晶显示模块LCD1602显示万年历的日期/时间等,如下图 所示(仅供参考,可个性化差异设计,如显示学号等): 2012/05/01 DHY 16:47:58 123789 2、单片机与实时时钟芯片DS1302之间通过SPI接口实现"日期/时...
6.5.2 液晶模块的内部结构及其与单片机接口电路 283 6.5.3 控制程序编写 285 6.6 子程序37——利用HD66421实现灰度字符显示 297 6.6.1 HD66421简要介绍 297 6.6.2 接口电路 300 6.6.3 控制程序编写 300 6.7 子程序38...
1620液晶屏的c51单片机程序,LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板...
8.4 16×2字符型液晶显示模块(LCM)引脚及功能 8.5 16×2字符型液晶显示模块(LCM)的内部结构 8.6 液晶显示控制驱动集成电路HD44780特点 8.7 HD44780工作原理 8.8 LCD控制器指令 8.9 LCM工作时序 8.10 8位...
8.516×2字符型液晶显示模块(LCM)的内部结构 8.6液晶显示控制驱动集成电路HD44780特点 8.7HD44780工作原理 8.8LCD控制器指令 8.9LCM工作时序 .. 第9章ATMEGA16(L)的定时/计数器 第10章ATMEGA16(L)的USART与PC...
SMC1602A 标准字符点阵型液晶显示模块(LCM),采用点阵型液晶显示器(LCD),可显示16 ...字符尺寸为2.95X4.35(WXH)mm,内置HD44780 接口型液晶显示控制器,可与MCU 单片机直接连接,广泛应用于 各类仪器仪表及电子设备。
市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的, 因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 2. 蜂鸣器 蜂鸣器是一种一体化结构的电子讯响器,在电路中用字母...
目前市面上字符液晶绝大多数就是基于HD44780液晶芯片得,控制 原理就是完全相同得,因此基于HD44780写得控制程序可以很方便地应用于市面上大部 分得字符型液晶。 (1)LCD1602得主要技术参数 显示容量:16×2个...
【实例40】16×2字符型液晶显示实例... 55 【实例41】点阵型液晶显示实例... 61 【实例42】LCD显示图片实例... 63 第五章.... 70 【实例43】简易电子琴的设计... 70 【实例44】基于MCS-51单片机的四路抢答器... 71 ...
今朝 市情上字符液晶绝大多半是基于HD44780液晶芯片的,掌握道理是完整雷同的,是以基于H D44780写的掌握程序可以很便利地运用于市情上大部分的字符型液晶. (1)LCD1602的重要技巧参数 显示容量:16×2个字符; —5.5V...
第1 章 单片机 I/O 接口的扩展 ................................................................. 1 1.1 单片机应用系统 ........................................................................... 2 ...
本系统采用一块16×4的字符型液晶模块,这种类型的LCD应用很广泛,其控制驱动主芯片为HD44780及其扩展驱动芯片HD44100(或兼容芯片),少量阻、容元件,结构件等装配在PCB板上而成。字符型液晶显示模块目前在国际上...
它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。不同厂家生产的LCD1602芯片可能有所不同,但使用方法都是一样的。为了降低...
本系统采用一块16×4的字符型液晶模块,这种类型的LCD应用很广泛,其控制驱动主芯片为HD44780及其扩展驱动芯片HD44100(或兼容芯片),少量阻、容元件,结构件等装配在PCB板上而成。字符型液晶显示模块目前在国际上...
6.3.2 点阵字符型液晶显示模块 193 6.3.3 HD44780 193 6.3.4 LCD构件设计与测试实例 199 第7章 定时器相关模块 207 7.1 计数/定时器的基本工作原理 207 7.2 定时器模块的基本编程方法与实例 208 7.2.1 定时器...