当前位置: 首页 > >

%AD%97符型液晶显示模块由字符型液晶显示屏(LCD)

发布时间:

第一章 前 言

页码,1/18

第一章 前 言
字符型液晶显示模块由字符型液晶显示屏(LCD),控制驱动主电路HD44780及其扩展驱 动电路HD44100,少量阻、容元件,结构件等装配在PCB板上而成。 字符型液晶显示模块目前在国际上已经规范化,无论显示屏规格如何变化,其电特性和接 口形式都是统一的。因此只要设计出一种型号的接口电路,在指令设置上稍加改动即可使用 各种规格的字符型液晶显示模块。

第二章 字符型液晶显示模块的基本特点

1、液晶显示屏是以若干个5×8或5×11点阵块组成的显示字符群。每个点阵块为一个字符 位,字符间距和行距都为一个点的宽度。 2、主 控 制 驱 动 电 路 为 HD44780(HITACHI)及 其 他 公 司 全 兼 容 电 路,如 SED1278 (SEIKO EPSON)、KS0066(SAMSUNG)、NJU6408(NER JAPAN RADIO)。 3、具有字符发生器ROM可显示192种字符(160个5×7点阵字符和32个5×10点阵字符,见 附录一) 4、具有64个字节的自定义字符RAM,可自定义8个5×8点阵字符或四个5×11点阵字符。 5、具有80个字节的RAM。 6、标准的接口特性,适配M6800系列MPU的操作时序。 7、模块结构紧凑、轻巧、装配容易。 8、单+5V电源供电。 9、低功耗、长寿命、高可靠性。 ?

第三章

HY字符型液晶显示模块特性

一、HY系列接口特性及时序 1、HD44780读、写操作(时序见附录二) (1) 写操作(MPU至HD44780) 项? 目 符号 使能周期 使能脉冲宽度 使能升、降时间 地址建立时间 地址保持时间 数据建立时间 数据保持时间 项? 目 使能周期 使能脉冲宽度 tcycE Pweh Ter,Tef Tas Tah Tdsw Th 符号 tcycE Pweh

最小值 1000 450 140 10 195 10 最小值 1000 450

最大值 ? 25 最大值 ? -

单位 ns ns ns ns ns ns ns 单位 ns ns

(2) 读操作(MPU至HD44780)

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,2/18

使能升、降时间 地址建立时间 地址保持时间 数据延迟时间 数据保持时间 ? (3) 信号真值表 RS 0 0 1 1 2、接口引脚功能 引脚号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 符号 Vss Vdd V0 RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 LEDA LEDK

Ter,Tef Tas Tah Tddr Tdhr

140 10 10

25 320 -

ns ns ns ns ns

R/W 0 1 0 1 状态

E 下降沿 高电* 下降沿 高电*

功能 写指令代码 读忙标志和AC码 写数据 读数据 功???? 能

电源地 +5V逻辑电源 液晶驱动电源 输入 输入 输入 三态 三态 三态 三态 三态 三态 三态 三态 输入 输入 寄存器选择1:数据;0:指令 读、写操作选择1:读;0:写 使能信号 数据总线(LSB) 数据总线 数据总线 数据总线 数据总线 数据总线 数据总线 数据总线(MSB) 背光+5V 背光地

? 注:15、16两管脚用于带背光模块,不带背光的模块这两个管脚悬空不接。 ? 二、HY系列电特性 ? (1)绝对最大值范围

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,3/18

项目 电路逻辑电压 液晶驱动电压 输入电压 工作温度

符号 Vdd-Vss Vdd-V0 VI

最小值 0 0 Vss 0 -20 -30 -10 -30 -40

最大值 7.0V 13.5V Vdd +50 +70 +80 +60 +80 +80 MIN 2.2 -

备注

存储温度

常温型 宽温型 超宽温型 常温型 宽温型 超宽温型 TYP 0.5 MAX 0.6 0.4 0.2 单位 V V V V mA

(2)电特性 项目 输入高电压 输入低电压 输出高电压 输出低电压 电源电流 符号 VIH VIL VOH VOL IDD IOH=0.2mA IOL=1.2mA 条件

2.4 -

? 三、HY系列供电电路(见附录三) ?

第四章? HY字符型液晶显示模块指令集 一、指令集
1、清屏 RS??? R/W 0????? 0 DB7? DB6? DB5? DB4? DB3? DB2? DB1? DB0 ?0??? 0??? 0??? 0??? 0??? 0??? 0??? 1

运行时间(250Khz):1.64ms; 功能:清DDRAM和AC值。 ? 2、归位 RS??? R/W DB7? DB6? DB5? DB4? DB3? DB2? DB1? DB0 0????? 0 ?0??? 0??? 0??? 0??? 0??? 0??? 1??? *

运行时间(250Khz):1.64ms; 功能:AC=0,光标、画面回HOME位。 3、输入方式设置 RS??? R/W DB7? DB6? DB5? DB4? DB3? DB2? DB1? DB0 0????? 0 ?0??? 0??? 0??? 0??? 0??? 1?? I/D?? S

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,4/18

运行时间(250Khz):40us; 功能:设置光标、画面移动方式。 其中:I/D=1:数据读、写操作后,AC自动增一; I/D=0:数据读、写操作后,AC自动减一; ? S=1:数据读、写操作,画面*移; ? S=0:数据读、写操作,画面不动; 4、显示开关控制 RS??? R/W DB7? DB6? DB5? DB4? DB3? DB2? DB1? DB0 0????? 0 ?0??? 0??? 0??? 0??? 1??? D??? C??? B

运行时间(250Khz):40us; 功能:设置显示、光标及闪烁开、关。 其中:D表示显示开关:D=1为开,D=0为关; C表示光标开关:C=1为开,C=0为关; B表示闪烁开关:B=1为开,B=0为关。 5、光标、画面位移 RS??? R/W DB7? DB6? DB5? DB4? DB3? DB2 ?DB1? DB0 0????? 0 ?0??? 0??? 0??? 1?? S/C? R/L?? *??? *

运行时间(250Khz):40us; 功能:光标、画面移动,不影响DDRAM。 其中:S/C=1:画面*移一个字符位; S/C=0:光标*移一个字符位; R/L=1:右移;R/L=0:左移。 ?? 6、功能设置? RS??? R/W DB7? DB6? DB5? DB4? DB3? DB2? DB1? DB0 0????? 0 ?0??? 0??? 1?? DL??? N??? F?? *??? *

?运行时间(250Khz):40us; ?? 功能:工作方式设置(初始化指令)。 ?? 其中:DL=1,8位数据接口;DL=0,四位数据接口; ???????? N=1,两行显示;N=0,一行显示; ???????? F=1,5×10点阵字符;F=0,5×7点阵字符。 7、CGRAM地址设置 RS??? R/W DB7? DB6? DB5? DB4? DB3? DB2? DB1? DB0 0????? 0 ?0??? 1?? A5?? A4?? A3?? A2?? A1?? A0

运行时间(250Khz):40us; ? 功能:设置CGRAM地址。A5~A0=0~3FH。 8、DDRAM地址设置 RS??? R/W DB7? DB6? DB5? DB4? DB3? DB2? DB1? DB0 0????? 0 ?1?? A6?? A5?? A4?? A3?? A2?? A1?? A0

运行时间(250Khz):40us; 功能:设置DDRAM地址。 ????? N=0,一行显示A6~A0=0~4FH;

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,5/18

N=1,两行显示,首行A6~A0=00H~2FH, 次行A6~A0=40H~67H。 9、读BF及AC值 RS??? R/W DB7? DB6? DB5? DB4? DB3? DB2? DB1? DB0 0????? 1 BF?? AC6? AC5? AC4? AC3? AC2? AC1? AC0

功能:读忙BF值和地址计数器AC值。 其中:BF=1:忙;BF=0:准备好。 此时,AC值意义为最*一次地址设置(CGRAM或DDRAM)定义。 ? 10、 写数据 RS??? R/W DB7? DB6? DB5? DB4? DB3? DB2? DB1? DB0 1????? 0 数?????????? 据

运行时间(250Khz):40us; 功能:根据最*设置的地址性质,数据写入DDRAM或CGRAM内。 ? 11、 读数据 RS??? R/W DB7? DB6? DB5? DB4? DB3? DB2? DB1? DB0 1????? 1 数?????????? 据

运行时间(250Khz):40us; 功能:根据最*设置的地址性质,从DDRRAM或CGRAM数据读出。 ?

第五章? HY字符型液晶显示模块应用
一、直接访问方式接口电路及驱动程序
直接访问方式的接口电路如下图所示: ???????????????? MPU8031????????????????? ?????????字符型LCM? ????????????????? P00????????????????????????????? DBO? ????????????????? …?????? …共8根线????????????? … ????????????????? P07????????????????????????????? DB7 ???????????? ?????P2.0????? A8???????????????????? RS ????????????????? P2.1????? A9???????????????????? R/W ??????????????????? ????????????????? RD ???????????????? ?WE?????????????????????????????? E ??????????????? ??????????????????????????????? ????????????????? P2.7???? A15????????????? +5V??? Vdd ??????????????????????????????????????????? GND??? Vss ?????????????????????????????????????? 见附图三??? V0 ????????????????????????????? ???????? 常温型模块V0接VSS,如要调节对比度请参考附图三?????? ?

直接访问方式的驱动子程序如下: A15=E的选通信号,A9=R/W,A8=RS

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,6/18

COM????? EQU????? 20H???? ;指令寄存器???????????????????????? DAT????? EQU????? 21H???? ;数据寄存器???????????? CW_Add ??EQU????? 8000H?? ;指令口写地址?????????? CR_Add?? EQU????? 8200H?? ;指令口读地址?????????? DW_Add ??EQU????? 8100H?? ;数据口写地址??????????? DR_Add?? EQU????? 8300H?? ;数据口读地址????????????

? 1、读BF和AC值
PRO:??? PUSH??????? DPH ???????? PUSH??????? DPL ???????? PUSH??????? ACC ???????? MOV?? ??????DPTR,#CR_Add??? ;设置指令口读地址 ???????? MOVX?????? A,@DPTR???????? ;读BF和AC值???? ???????? MOV???????? COM,A?????????? ;存入COM单元 ???????? POP???????? ACC ???????? POP???????? DPL ???????? POP???????? DPH ???????? RET ?

2、写指令代码子程序
PR1:??? PUSH???? DPH ???????? PUSH???? DPL ???????? PUSH???? ACC ???????? MOV????? DPTR,#CR_Add?? ;设置指令口读地址 PR11:??? MOVX???? A,@DPTR ????????? JB?????? ACC.7,PR11???? ;判BF=0?是继续 ????????? MOV????? A,COM ????????? MOV????? DPTR,#CW_Add?? ;设置指令口写地址 ????????? MOVX???? @DPTR,A??????? ;写指令代码 ????????? POP????? ACC ????????? POP????? DPL ????????? POP????? DPH ????????? RET ?

2、写显示数据子程序
PR2:??? PUSH???? DPH ???????? PUSH???? DPL ???????? PUSH???? ACC ???????? MOV????? DPTR,#CR_Add?? ;设置指令口读地址 PR21:??? MOVX???? A,@DPTR ????????? JB?????? ACC.7,PR21???? ;判BF=0?是继续 ????????? MOV????? A,DAT ????????? MOV????? DPTR,#DW_Add?? ;设置数据口写地址 ????????? MOVX???? @DPTR,A??????? ;写数据 ????????? POP????? ACC ????????? POP????? DPL

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,7/18

????????? POP????? DPH ????????? RET

4、读显示数据子程序 ???? PR3:??? PUSH???? DPH
???????? PUSH???? DPL ???????? PUSH???? ACC ???????? MOV????? DPTR,#CR_Add?? ;设置指令口读地址 PR31:??? MOVX???? A,@DPTR ????????? JB?????? ACC.7,PR31???? ;判BF=0?是继续 ????????? MOV????? DPTR,#DR_Add?? ;设置数据口读地址 ????????? MOVX???? A,@DPTR??????? ;读数据 ????????? MOV???? ?DAT,A? ????????;存入DAT单元 ????????? POP????? ACC ????????? POP????? DPL ????????? POP????? DPH ????????? RET

二、间接控制方式接口电路及驱动程序 ??? 间接控制方式(4位总线)是利用HD44780所具有的4位数据总线的功能,简化电路接口的一种接口方
式。实用电路如下: MPU8031??????????????????? 字符型LCM ??P1.7????????????????????? DB7 ??P1.6????????????????????? DB6 ?P1.5????????????????????? DB5 ??P1.4????????????????????? DB4 ??P3.5????????????????????? E ??P3.4????????????????????? R/W ??P3.3????????????????????? RS ?????????????????? 不?????? DB3 ??????????????????????????? DB2 ??????????????????????????? DB1 ?????????????????? 接?????? DB0 ? ??????????????????? +5V???? Vdd ??????????????? GND???????? Vss ????????? 见附图三????????? V0 常温型模块V0接VSS,如要调节对比度请参考附图三 注:此种接口电路适用4位单片机或8位单片机接口不够用的情况,因4位数据传输时需传输两遍,所以比 较麻烦,建议在单片机接口够用时,还是把8位数据口都接上。

? 间接控制方式的驱动子程序如下: ?????????? RS?????? EQU????? P3.3?????? ;寄存器选择信号
??????????? R/W????? EQU????? P3.4?????? ;读/写选择信号 E??????? EQU????? P3.5?????? ;使能信号 ?

1、读BF和AC值 ?

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,8/18

PRO :?? PUSH???????? ACC ???????? MOV????????? P1,#0FFH???? ;P1置位,准备读?? ???????? CLR????????? RS??????????? ;RS=0???? SETB???????? R/W?????????? ;R/W=1 ???????? SETB???????? E???????????? ;E=1 ???????? MOV????????? COM,P1?????? ;读BF和AC6-4值 ???????? CLR????????? E???????????? ;E=0 ???????? MOV????????? P1,#0FFH???? ;P1置位,准备读 ???????? SETB???????? E???????????? ;E=1 ???????? MOV????????? A,P1???????? ;读AC3-0值 ???????? CLR????????? E???????????? ;E=0 ???????? SWAP???????? A???????????? ;转换成8位数据 ???????? ANL????????? A,#0FH ???????? ANL????????? COM,#0F0H ???????? ORL????????? A,COM ???? ????MOV????????? COM,A??????? ;送入COM单元 ???????? POP????????? ACC? ???????? RET

? 2、写指令代码子程序
PR1 :? PUSH???????? ACC ???????? CLR????????? RS??????????? ;RS=0???? SETB????????? R/W?????????? ;R/W=1 PR11:?? MOV????????? P1,#0FFH???? ;P1置位,准备读 SETB???????? ?E???????????? ;E=1 ???????? MOV????????? A,P1???????? ;读BF和AC6-4值 ???????? CLR????????? E???????????? ;E=0 ???????? MOV????????? C,ACC.7????? BF->进位位C ???????? SETB???????? E???????????? ;E=1 ???????? CLR????????? E???????????? ;E=0(读AC3-0值) ???????? JC? ?????????PR11????????? ;判别BF=1?是转

?????? ?CLR????????? R/W?????????? ;R/W=0
???????? MOV????????? P1,COM?????? ;写入指令代码高4位 ???????? SETB???????? E???????????? ;E=1 ???????? CLR????????? E???????????? ;E=0 ???????? MOV????????? A,COM??????? ;写入指令代码低四位 ???? ????SWAP???????? A ???????? MOV????????? P1,A ???????? SETB???????? E???????????? ;E=1 ???????? CLR????????? E???????????? ;E=0 ???????? POP????????? ACC ???????? RET

3、写显示数据子程序
PR2 :? PUSH???????? ACC ???????? CLR????????? RS??????????? ;RS=0???? SETB?? ???????R/W?????????? ;R/W=1

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,9/18

PR21:?? MOV????????? P1,#0FFH???? ;P1置位,准备读 SETB????????? E???????????? ;E=1 ???????? MOV????????? A,P1???????? ;读BF和AC6-4值 ???????? CLR????????? E???????????? ;E=0 ???????? MOV????????? C,ACC.7????? BF->进位位C ???????? SETB???? ????E???????????? ;E=1 ???????? CLR????????? E???????????? ;E=0(读AC3-0值) ???????? JC?????????? PR21????????? ;判别BF=1?是转

?????? ?SETB???????? RS??????????? ;RS=1
CLR?????????? R/W?????????? ;R/W=0 ???????? MOV????????? P1,DAT?????? ;写入数据高4位 ???????? SETB?? ??????E???????????? ;E=1 ???????? CLR????????? E???????????? ;E=0 ???????? MOV????????? A,DAT??????? ;写入数据低4位 ???????? SWAP???????? A ???????? MOV????????? P1,A ???????? SETB???????? E???????????? ;E=1 ???????? CLR????????? E???????????? ;E=0 ???????? POP????????? ACC ???????? RET ?

4 、读显示数据子程序
? PR3 :? PUSH???????? ACC ???????? CLR????????? RS??????????? ;RS=0???? SETB????????? R/W?????????? ;R/W=1 PR31:?? MOV????????? P1,#0FFH???? ;P1置位,准备读 SETB????????? E???????????? ;E=1 ???????? MOV????????? A,P1??? ?????;读BF和AC6-4值 ???????? CLR????????? E???????????? ;E=0 ???????? MOV????????? C,ACC.7????? ;BF->进位位C ???????? SETB???????? E???????????? ;E=1 ???????? CLR????????? E???????????? ;E=0(读AC3-0值) ???????? JC?????????? PR31????????? ;判别BF=1?是转

?????? ?SETB?? ??????RS??????????? ;RS=1
SETB????????? R/W?????????? ;R/W=1 ???????? MOV????????? P1,#0FFH???? ;P1置位,准备读 ???????? SETB???????? E???????????? ;E=1 ???????? MOV????????? COM,P1?????? ;读数据高4位 ???????? CLR????????? E???????????? ;E=0 ???????? MOV????????? P1,#0FFH???? ;P1置位,准备读 ?SETB???????? E???????????? ;E=1 ?MOV????????? A,P1???????? ;读数据低4位 ?CLR????????? E???????????? ;E=0 ?SWAP???????? A???????????? ;转换成8位 ???????? ANL????????? A,#0FH ???????? ANL????????? DAT,#0F0H

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,10/18

???????? ORL????????? A,DAT ???????? MOV????????? DAT,A??????? ;数据送入DAT单元 ???????? POP????????? ACC? ???????? RET

三、应用程序 该程序是根据液晶显示模块HY-4002而编制的。其他规格的字符型液晶显示模块都适用, 仅是地址的改动而已。 ? 示例一?? 初始化子程序 (1)直接访问方式下的初始化子程序
? INT???? MOV???? A,#30H?????? ???;此循环必要,不可删除 ????????? MOV???? DPTR,#CW_Add??? ;指令口地址设置 ????????? MOV???? R2,#03H??????? ;循环量=3 ? INT1:? MOVX??? @DPTR,A????????? ;写指令代码 ????????? LCALL?? DELAY??????????? ;调延时子程序 ????????? DJNZ??? R2,INT1 ????????? MOV???? COM,#38H??????? ;设置工作方式* ????????? LCALL?? PR1????????????? ; ????????? MOV???? COM,#01H??????? ;清屏 ????????? LCALL?? PR1 ????????? MOV???? COM,#06H??????? ;设置输入方式 ????????? LCALL?? PR1 ????????? MOV???? COM,#0FH??????? ;设置显示方式 ????????? LCALL?? PR1 ????????? RET ?

(2)间接控制方式下的初始化子程序 ? INT??? MOV????? P1,#30H???????? ;工作方式设置指令代码
???????? CLR????? RS?????????????? ;RS=0 ???????? CLR????? R/W????????????? ;RW=0????? ???????? MOV????? R2,#03H???????? ;循环量=3 ? INT1?? SETB???? E??????????????? ;E=1 ???????? CLR????? E??????????????? ;E=0? ???????? LCALL??? DELAY??????????? ;调延时子程序 ???????? DJNZ???? R2,INT1 ???????? MOV????? P1,#28H???????? ;设置工作方式* ???????? SETB???? E??????????????? ;E=1 ???????? CLR????? E??????????????? ;E=0 ???????? MOV????? COM,#01H??????? ;清屏 ???????? LCALL??? PR1 ???????? MOV????? COM,#06H??????? ;设置输入方式 ???????? LCALL??? PR1 ???????? MOV????? COM,#0FH??????? ;设置显示方式 ???????? LCALL??? PR1 ???????? RET 注:*工作方式参数根据所使用的字符型液晶显示模块的特性而定。

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,11/18

DELAY:? MOV????? R6,#00H???????? ;延时子程序? ???????? MOV????? R7,#00H DELAY1: NOP ???????? DJNZ?????? R7,DELAY1 ??????? DJNZ?????? R6,DELAY1 ??????? RET 初始化演示程序 ?MAIN: MOV??????? SP,#60H ??????? ANL??????? P3,#0C7H ??????? LCALL????? INT ?

示例二? 字符的写入方式 HD44780有五种字符写入方式。演示程序如下: (1)逐字依次输入方式演示程序段
?????????? MOV????? COM,#06H ?????????? LCALL??? PR1 ?????????? MOV????? COM,#80H ?????????? LCALL??? PR1 ?????????? MOV????? DPTR,#TAB ?????????? MOV????? R2,#12 ?????????? MOV????? R3,#00H WRIN:???? MOV????? A,R3 ?????????? MOVC???? A,@A+DPTR ?????????? MOV????? DTA,A ?????????? LCALL??? PR2 ?????????? LCALL??? DELAY ?????????? INC????? R3 ?????????? DINZ???? R2,WRIN ?????????? SJMP???? $ TAB:?? DB? 43H,75H,72H,73H,6FH,72H,20H??????? ;Cursor ??????? DB? 57F,72H,69H,74H,65H????????????????????? ;write ? ?? (2)光标左移输入方式演示程序段 CL_ENTER:? MOV????? COM,#04H??????????? ;输入方式设置 ?????????? LCALL??? PR1 ?????????? MOV????? COM,#90H?????????? ; 设置DDRAM 地址 ?????????? LCALL??? PR1??????? ?????????? MOV????? DPTR,#TABCL??????? ; 设置字表首地址 ?????????? MOV????? R2,#12H??????????? ;循环量设置 CL_1?????? MOV????? A,R2 ?????????? DEC????? A ?????????? MOVC???? A,@A+DPTR????????? ;取字符代码 ?????????? MOV????? DAT,A??????????? ?????????? LCALL??? PR2???????????????? ;写数据 ?????????? LCALL??? DELAY?????????????? ;演示用延时 ?????????? DJNZ???? R2,CL_1

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,12/18

?????????? SJMP???? $ TABCL:???? DB ?43H, 75H, 72H, 73H, 6FH, 72H, 20H????? ;Cursor ???????? ??DB ?4CH, 65H, 66H, 74H, 20H??????????????? ;Left ?????????? DB? 53H, 63H, 72H, 6FH, 6CH,6CH??????????? ;Scroll

(3)光标右移输入方式演示程序段
CR_ENTER:? MOV????? COM,#06H??????????? ;输入方式设置 ?????????? LCALL??? PR1 ?????????? MOV????? COM,#80H?????????? ; 设置DDRAM 地址 ?????????? LCALL??? PR1??????? ?????????? MOV????? DPTR,#TABCR??????? ; 设置字表首地址 ?????????? MOV????? R2,#13H??????????? ;循环量设置 ?????????? MOV????? R3,#00H CL_1?????? MOV????? A,R3 ?????????? MOVC???? A,@A+DPTR????????? ;取字符代码 ?????????? MOV????? DAT,A?? ????????? ?????????? LCALL??? PR2???????????????? ;写数据 ?????????? INC????? R3 ?????????? LCALL??? DELAY?????????????? ;演示用延时 ?????????? DJNZ???? R2,CR_1 ?????????? SJMP???? $ TABCR:???? DB ?43H, 75H, 72H, 73H, 6FH, 72H, 20H????? ;Cursor ?????????? DB ?52H, 69H, 67H, 68H, 74H,20H ??????????;Right ?????????? DB? 53H, 63H, 72H, 6FH,6CH,6CH?????????? ;Scroll ?

(4)画面左滚动输入方式演示程序段
L_ENTER:? MOV????? COM,#07H??????????? ;输入方式设置 ?????????? LCALL??? PR1 ?????????? MOV????? COM,#90H?????????? ; 设置DDRAM 地址 ????????? ?LCALL??? PR1??????? ?????????? MOV????? DPTR,#TABL??????? ; 设置字表首地址 ?????????? MOV????? R2,#0BH??????????? ;循环量设置 ?????????? MOV????? R3,#00H L_1????? MOV????? A,R3 ?????????? MOVC???? A,@A+DPTR????????? ;取字符代码 ?????????? MOV????? DAT,A??????????? ?? ????????LCALL??? PR2???????????????? ;写数据 ?????????? INC????? R3 ?????????? LCALL??? DELAY?????????????? ;演示用延时 ?????????? DJNZ???? R2,L_1 ?????????? SJMP???? $ TABL:?? ???DB ?4CH, 65H, 66H, 74H,20H ??????????;Left Scroll ?????????? DB ?53H, 63H, 72H, 6FH,6CH,6CH????????

(5) 画面右滚动输入方式演示程序段
R_ENTER: ??MOV????? COM,#05H??????????? ;输入方式设置 ?????????? LCALL??? PR1 ?????????? MOV????? COM,#90H?????????? ; 设置DDRAM 地址

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,13/18

?????????? LCALL??? PR1??????? ?????????? MOV????? DPTR,#TABR???????? ; 设置字表首地址 ?????????? MOV????? R2,#0CH??????????? ;循环量设置?????????? R_1???? ???MOV????? A,R2 ?????????? DEC????? A ?????????? MOVC???? A,@A+DPTR????????? ;取字符代码 ?????????? MOV????? DAT,A??????????? ?????????? LCALL??? PR2???????????????? ;写数据 ?????????? LCALL??? DELAY????????? ?????;演示用延时 ?????????? DJNZ???? R2,R_1 ?????????? SJMP???? $ TABR:? ????DB ?52H, 69H, 67H, 68H,74H,20H ??????????;Right Scroll ?????????? DB ?53H, 63H, 72H, 6FH,6CH,6CH???????? ?

示例三? 建立自定义字符库 ? 字符型液晶显示模块允许用户在HD44780片内CGRAM内(64个字节00H-3FH)自建立8个5×8 点阵的字符。建立自定义字符库的子程序如下:
CG_WRITE:? MOV???? COM,#40H??????? ;设置CGRAM地址 ?????????? LCALL?? PR1 ?????????? MOV???? R2,#64???????? ;循环量设置 ?????????? MOV???? R3,#00H ?????????? MOV???? DPTR,#CGTAB??? ;设置字模数据首地址 CG1:????? MOV???? A,R3 ?????????? MOVC??? A,@A+DPTR ????????? ?MOV???? DAT,A ?????????? LCALL?? PR2 ?????????? INC???? R3 ?????????? DZNJ??? R2,CG1 ?????????? RET CGTAB:??? DB? 08H,0FH,12H,0FH,0AH,1FH,02H,02H???? ;“年”代码=00H ?????????? DB? 0FH,09H,0FH,09H,0FH,09H,11H,00H???? ;“月”代码=01H ?????????? DB? 1FH,11H,11H,1FH,11H,11H,1FH,00H???? ;“日”代码=02H ?????????? DB? 11H,0AH,04H,1FH,04H,1FH,04H,00H???? ;“$”代码=03H ?????????? DB? 0EH,00H,1FH,0AH,0AH,0AH,13H,00H???? ;“元”代码=04H ?????????? DB? 18H,18H,07H,08H,08H,08H,07H,00H???? ;“℃”代码=05H ?????????? DB? 04H,0AH,15H,04H,04H,04H,04H,00H???? ;“↑”代码=06H ?????????? DB? 17H,15H,15H,15H,15H,15H,17H,00H???? ;“10”代码=07H

? 自定义字符显示演示程序段??
?????????? LCALL??? ??CG_WRITE?????????? ;调建立自定义字符子程序 ?????????? MOV???? ???COM,#80H?????? ????;设置DDRAM地址 ?????????? LCALL????? PR1 ?????????? MOV????? ??DPTR,#TABDY?????? ;设置字表首地址 ?????????? MOV??????? R2,#18??????????? ;循环量设置 ?????????? MOV??????? R3,#00H L00P1????? MOV??????? A,R3

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,14/18

?????????? MOVC?????? A,@A+DPTR???????? ;取字符代码 ?????????? MOV??????? DAT,A ?????????? LCALL????? PR2??????????????? ;写数据 ? ?????????INC??????? R3 ?????????? DZNJ?????? R2,L00P1 ????????? MOV???? ???COM,#0C0H?????? ????;设置DDRAM地址 ????????? LCALL????? PR1 ????????? MOV??????? R2,#18???????????? ;循环量设置 L00P2???? MOV??????? A,R3 ????????? MOVC?????? A,@A+DPTR????????? ;取字符代码 ???? ?????MOV??????? DAT,A ????????? LCALL????? PR2???????????????? ;写数据 ????????? INC??????? R3 ????????? DZNJ?????? R2,L00P2 ????????? SJMP?????? $ TABDY:?? DB ?4DH, 44H, 4CH, 53H,34H,30H,32H,36H,36H ?????????? ????????? DB? 20H, 03H, 32H, 35H,35H,2EH,30H,30H,04H ????????? DB ?31H, 39H, 39H, 37H,00H,37H ?01H,31H,02H???????? ????????? DB ?20H, 54H, 3DH, 33H,35H,05H,06H,20H,07H

功能设置指令参数N,F值及显示RAM地址对应表
?

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,15/18

规格 8×1 16×1 16×2 16×4

型号

N??? F 0??? 0 1??? 0 1??? 0 1??? 0

行 1 1 1 2 1 2 3 4

1? 2..? 8? 9 10..16 17..20 21.. 24 25..40 00 01..07 00 01..07? 40 41..47 00 01..07 08 09..0F 40 41..47 48 49..4F 00 01..07 08 09..0F 40 41..47 48 49..4F 10 11..17 18 19..1F 50 51..57 58 59..5F 00 01..07 08 09..0F 10..13 00 01..07 08 09..0F 10..13 40 41..47 48 49..4F 50..53 00 01..07 08 09..0F 10..13 40 41..47 48 49..4F 50..53 14 15..1B 1C 1D..23 24..27 54 55..5B 5C 5D..63 64..67 00 01..07 08 09..0F 10..13 14..17 40 41..47 48 49..4F 50..53 54..57 00 01..07 08 09..0F 10..13 14..17 18..27 40 41..47 48 49..4F 50..53 54..57 58..67 00 01..07 08 09..0F 10..13 14..17 18..27 40 41..47 48 49..4F 50..53 54..57 58..67 00 01..07 08 09..0F 10..13 14..17 18..27 40 41..47 48 49..4F 50..53 54..57 58..67

20×1 20×2 20×4

0??? 0 1??? 0 1??? 0

1 1 2 1 2 3 4

24×2 40×2 40×4
这是双片控制器工 作,1、2 行 和 3、4 行分别由一个控制 器所控制

1??? 0 1?? ?0 1??? 0

1 2 1 2 1 2 3 4

? ? ? ? ? ? ? ?

附录一:HD44780的内部字符集

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,16/18

U p p e r 4 b i t L o w e r 4 b i t L L L L

L L L L C G R A M ( 1 ) ( 2 )

L L H L

L L H H

L H L L

L H L H

L H H L

L L L H

L L H L

( 3 )

L L H H

( 4 )

L H L L

( 5 )

L H L H

( 6 )

L H H L

( 7 )

L H H H

( 8 )

H L L L

( 1 )

H L L H

( 2 )

H L H L

( 3 )

H L H H

( 4 )

H H L L

( 5 )

H H L H

( 6 )

H H H L

( 7 )

H H H H

( 8 )

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,17/18

? ? ?

附录二:HY系列产品时序图 Flgure1?? bus write Operation sequenca ????????? (writing data from MPU to LCD-II)
VIH1 VIL1

RS

th 1 tSU1 R/W
VIL1 VIL1

tW
VIH1 VIL1 VIH1 VIL1

th 1 tf
VIL1

E tf DB0-DB7

tSU2
VIH1 VIL1

th 2
VIH1 VIL1

Valid Data

tC

?Flgure2?? bus Read Operation sequenca ??????? ??(Reading out data from LCD-II to MPU)
VIH1 VIL1

RS

tSU
VIH1

th
VIH1

R/W

tW

th tf

E

VIL1

tf

tD
VIH1

tDH
VIH1 VIL1

DB0-DB7

VIL1

Valid Data

tC

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28

第一章 前 言

页码,18/18

? ? ? ?

附录三:HY系列产品供电电路 2 电源供电
2.1 单电源 (字符型模块) 2.2 双电源 (字符和图形型模块)

?
? ? ? ? ? ?

file://E:\单片机\液晶资料\1602\1602详细资料.htm

2007-5-28




友情链接: