`
java-mans
  • 浏览: 11430600 次
文章分类
社区版块
存档分类
最新评论

基于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	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与单片机的接口及编程

    字符型液晶显示模块HD44780与单片机的接口及编程

    SMC1602A液晶显示模块DATASHEET使用说明书.zip

    字符尺寸为 2.95X4.35(WXH)mm,内置 HD44780 接口型液晶显示控制器,可与 MCU 单片机直接连接,广泛应用于 各类仪器仪表及电子设备。 ◆SMC1602A 液晶显示模块的主要技术参数: 产品型号 显示 类型 显示模式 工作...

    【51单片机仿真实例】基于51单片机LCD1602液晶实例及工作原理(程序+Proteus仿真+相关说明)

    它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。该显示屏的优点是耗电量低、体积小、辐射低。 LCD1602主要用来显示数字、...

    显示/光电技术中的基于BP电梯控制系统的液晶显示汉化的开发

     本文所介绍的开发依托于德国奔克公司BP电梯控制系统,该控制系统的显示器采用HD44780字符型液晶显示模块,显示界面语言采用英语。为了方便在中国的各类电梯用户,因而开发了这个汉化系统,用OCMJ

    单片机液晶显示“万年历”-单片机课程设计报告.pdf

    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程序

    1620液晶屏的c51单片机程序,LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板...

    手把手教你学AVR单片机C程序设计(光盘)

    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位...

    手把手教你学AVR单片机C程序设计.part1(共2部分)

    8.516×2字符型液晶显示模块(LCM)的内部结构 8.6液晶显示控制驱动集成电路HD44780特点 8.7HD44780工作原理 8.8LCD控制器指令 8.9LCM工作时序 .. 第9章ATMEGA16(L)的定时/计数器 第10章ATMEGA16(L)的USART与PC...

    SMC1602A 使用说明书

    SMC1602A 标准字符点阵型液晶显示模块(LCM),采用点阵型液晶显示器(LCD),可显示16 ...字符尺寸为2.95X4.35(WXH)mm,内置HD44780 接口型液晶显示控制器,可与MCU 单片机直接连接,广泛应用于 各类仪器仪表及电子设备。

    基于单片机的智能温度计的设计.doc

    市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的, 因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 2. 蜂鸣器 蜂鸣器是一种一体化结构的电子讯响器,在电路中用字母...

    C51单片机LCD电子时钟课程设计.doc

    目前市面上字符液晶绝大多数就是基于HD44780液晶芯片得,控制 原理就是完全相同得,因此基于HD44780写得控制程序可以很方便地应用于市面上大部 分得字符型液晶。 (1)LCD1602得主要技术参数 显示容量:16×2个...

    51单片机100例程序设计

    【实例40】16×2字符型液晶显示实例... 55 【实例41】点阵型液晶显示实例... 61 【实例42】LCD显示图片实例... 63 第五章.... 70 【实例43】简易电子琴的设计... 70 【实例44】基于MCS-51单片机的四路抢答器... 71 ...

    C51单片机LCD电子时钟课程设计(1).doc

    今朝 市情上字符液晶绝大多半是基于HD44780液晶芯片的,掌握道理是完整雷同的,是以基于H D44780写的掌握程序可以很便利地运用于市情上大部分的字符型液晶. (1)LCD1602的重要技巧参数 显示容量:16×2个字符; —5.5V...

    单片机接口技术实用子程序

    第1 章 单片机 I/O 接口的扩展 ................................................................. 1 1.1 单片机应用系统 ........................................................................... 2 ...

    基于AVR单片机的汽车空调控制系统-电路方案

    本系统采用一块16×4的字符型液晶模块,这种类型的LCD应用很广泛,其控制驱动主芯片为HD44780及其扩展驱动芯片HD44100(或兼容芯片),少量阻、容元件,结构件等装配在PCB板上而成。字符型液晶显示模块目前在国际上...

    LCD1602驱动编程(一)——LCD1602简介.pdf

    它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。不同厂家生产的LCD1602芯片可能有所不同,但使用方法都是一样的。为了降低...

    【开源】汽车空调控制系统设计方案(仿真电路+源代码+论文)-电路方案

    本系统采用一块16×4的字符型液晶模块,这种类型的LCD应用很广泛,其控制驱动主芯片为HD44780及其扩展驱动芯片HD44100(或兼容芯片),少量阻、容元件,结构件等装配在PCB板上而成。字符型液晶显示模块目前在国际上...

    嵌入式系统设计实战.王宜怀(带详细书签).pdf

    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 定时器...

Global site tag (gtag.js) - Google Analytics