LCD液晶显示驱动程序设计指引.docx

上传人:b****6 文档编号:8474813 上传时间:2023-01-31 格式:DOCX 页数:13 大小:54.18KB
下载 相关 举报
LCD液晶显示驱动程序设计指引.docx_第1页
第1页 / 共13页
LCD液晶显示驱动程序设计指引.docx_第2页
第2页 / 共13页
LCD液晶显示驱动程序设计指引.docx_第3页
第3页 / 共13页
LCD液晶显示驱动程序设计指引.docx_第4页
第4页 / 共13页
LCD液晶显示驱动程序设计指引.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

LCD液晶显示驱动程序设计指引.docx

《LCD液晶显示驱动程序设计指引.docx》由会员分享,可在线阅读,更多相关《LCD液晶显示驱动程序设计指引.docx(13页珍藏版)》请在冰豆网上搜索。

LCD液晶显示驱动程序设计指引.docx

LCD液晶显示驱动程序设计指引

美的集团制冷事业本部企业标准

QJ/MK03.056-2004

LCD液晶显示驱动程序设计指引

1适用范围

《LCD液晶显示驱动程序设计指引》主要对采用液晶驱动芯片HD1621(或此系列芯片)进行LCD液晶的驱动方法进行了分析,说明了驱动芯片的功能、软件编制方法和注意事项,并提供了程序范例,为以后的程序设计者提供类似的开发参考。

2引用资料

范例程序采用日本NEC公司的RA78K0S系列汇编语言编写,具体技术资料参照78K0S系列八位单片机UPD78F9177芯片的相关资料。

液晶驱动芯片参考资料:

具体见HT1621DATASHEET。

3定义

汇编语言:

是用于编写微处理器软件的最基本编程语言。

汇编程序包:

是一组程序的总称,用于把汇编语言的源程序文件转换成机器代码的程序,通常包括汇编程序﹑连接程序﹑目标码转换程序和其它库管理程序﹑表转换程序等。

LCD:

液晶显示器简称。

4HT162X驱动芯片资料介绍

4.1概述

HT162X系列芯片是由HOTEK公司开发生产的多功能LCD驱动器芯片,HT162X的软件配置特性使其适合于各种LCD的应用包括LCD模块和显示子系统,主控器与HT162X通信只需要3到4条线。

由于采用了电容型偏置电压充电泵使得HT1620的操作电流非常的小。

HT162X系列包括多款产品适合不同的应用,目前广泛应用于各种液晶驱动控制上。

4.2芯片特性

Ø操作电压2.4V~3.3V

ØLCD电压3.6V~4.9V可调

Ø可选择1/2或1/3偏置1/2,1/3或1/4占空比

Ø内部时基频率源

Ø片内电容型偏置充电泵

Ø读/写地址自动增加

Ø3线(或4线)串行接口

Ø软件配置特性

Ø两个可选的蜂鸣器频率2KHz或4KHz

4.3HT162X系列芯片选型表

HT162X

HT1620

HT1621

HT1622

HT16220

HT1623

HT1625

HT1626

公共端

4

4

8

8

8

8

16

32

32

32

32

48

64

48

片内振荡器

晶体振荡器

5HT1621芯片说明

HT1621为32*4位LCD驱动器,共有四种子型号,分别是HT1621-48SSO、HT1621B-48SSOP/DIP、HT1621D-28SKDIP,我们现在使用的为HT1621B-48SSOP,以下就以此芯片为例进行说明。

5.1HT1621B管脚定义图

5.2RAM单元对照

1621B的静态显示存储区RAM为324位用于保存显示数据RAM的内容直接映射到LCD驱动器的内容可使用READWRITE和READ-MODIFY-WRITE命令对RAM中的数据进行访问下面所示为RAM的映射图

RAM单元对照图

5.3HT1621B电路接口

主芯片与HT1621B接口只需4条线。

CS线用于初始化串行接口电路并终止主控芯片与HT1621B之间的通信,如果CS脚置为1主控器与HT1620之间的通信先被禁止,然后初始化。

在执行模式命令或进行模式切换时需要一个高电平的脉冲初始化HT1620的串行接口。

DATA线是串行数据输入/输出线,读写的数据和执行的命令都必须通过DATA线。

RD线是读时钟输入线,RAM中的数据在RD信号的下降沿输出输出的数据将会出现在DATA线上主控芯片应当在RD信号的上升沿和下一个下降沿之间读取正确的数据。

WR线是写时钟输入,DATA线上的数据地址和命令都在WR信号的上升沿输入HT1621。

5.4时序图(仅以写模式为例说明,其余见DATASHEET资料)

5.5命令格式

HT1621一个很重要地特色就是可由主控芯片通过软件地方式来完成自身地设定,有两种模式命令对HT1621进行配置和传输LCD显示数据。

HT1621的配置模式成为命令模式它的命令模式ID为100。

命令模式包含了系统配置命令、系统频率选择命令、LCD配置命令音调频率选择命令、定时器/WDT设定命令和操作命令。

而数据模式则包含读、写和读-修改-写操作,下表所列为命令模式ID和数据模式ID。

名称

模式

ID

READ

数据

110

WRITE

数据

101

READ-MODIFY-WRITE

数据

101

COMMAND

命令

100

模式命令应当在发送数据或命令之前执行。

如果执行连续的命令,命令模式ID可以省略。

当系统执行非连续命令或非连续地址数据模式时,CS脚应当置高电平,前一个操作模式将同时复位。

当CS脚返回到低电平时,应当首先执行新的操作模式ID。

HT1621具体命令模式详见HT1621产品DATASHEET文件,在此不作一一列举。

5.5在主芯片对HT1621发送显示内容前,应对使用到的HT1621内部资源(如时钟、偏置、蜂鸣器、LCD开关等)进行初始化设定,设定完毕后,才可进行正常的发送显示数据程序。

6采用HT1621B的液晶显示驱动硬件电路说明

显示驱动部分原理图如下图所示:

HT1621B显示驱动接口电路原理图

6.1该电路与主芯片共四个接口:

片选信号CS、读信号RD、写信号WR及数据信号DATA,一般我们使用CS、WR及DATA三个接口。

一般而言,主芯片和HT1621B中间要增加2K电阻,以做抗干扰和限流作用,如果显示板和主控板之间采用连接线连接,可以考虑在靠近1621芯片口的地方各增加一个102电容增强抗干扰能力,但以不影响通讯波形为前提。

6.2此例图及下程序为美的Q(R)型柜机的显示原理图,液晶驱动为4*14形式,其中SEG端口为了电路布线方便,未使用连续的SEG端口,而是间隔地使用。

6.3请注意芯片VLCD管脚,HD1621B芯片要求VLCD管脚电压必须低于VDD脚电压,在此VLCD通过电阻分压为4.5V。

6.4HD1621B多余的管脚(BUZZ、COM口和SEG口)可以悬空处理。

7程序设计说明

7.1RAM变量和标志说明

变量名称

变量类型

变量说明

Dispbuff

14字节

显示内容缓冲区

Disptime

1字节

显示时间变量

Dispstartf

1bit

发送数据使能标志,1=允许发送;0=不发送

7.2程序初始化说明

管脚定义:

P_1621CSEQUP0.0

P_1621WREQUP0.1

P_1621DAEQUP0.2

管脚初始化:

MOVP0,#B;上电输出1

MOVPM0,#B;0为输出,1为输入

7.3程序接口

子程序:

LCD1621INIT:

LCD初始化程序,在主程序初始化中调用

LCDSET:

LCD显示设定程序,在主程序循环中调用

LCDDISP:

LCD定时刷新程序,在主程序循环中调用

接口变量:

LCDBUF:

存放LCD显示内容缓冲区开始地址(根据实际应用的SEG口,最大为连续32个地址)

LCDCOUNT:

LCD显示内容RAM大小(最大为32)

LCDTIM:

LCD显示刷新时间(例程为100ms)

7.4程序常数定义(1621参数根据具体应用不同,可以进行修改)

READEQU0C0H;READ命令模式

WRITEEQU0A0H;WRITE命令模式

COMMANDEQU80H;COMMAND模式

RC256EQU18H;HT1621系统时钟选择:

片内时钟

SYSENEQU1;开系统时钟

LCDOFFEQU2;关闭LCD偏置发生器

LCDONEQU3;打开LCD偏置发生器

BIAS134EQU29H;选择LCD偏置:

1/3BIAS、4COMMONSOPTION

ADDR0EQU0;初始地址:

0

7.5参考程序

LCD1621INIT:

;LCD初始化程序,在主程序中调用

MOVA,#COMMAND;发送COMMAND命令

CALL!

SENDID

MOVA,#RC256;设置HT1621系统时钟

CALL!

SENDCOM

MOVA,#SYSEN;开系统时钟

CALL!

SENDCOM

MOVA,#LCDON;打开LCD

CALL!

SENDCOM

MOVA,#BIAS134;选择选择LCD偏置

CALL!

SENDCOM

MOVA,#WRITE;发送WRITE命令

CALL!

SENDID

MOVA,#ADDR0;设置初始地址为0

CALL!

SENDADR

MOVA,#0;试写一字节

CALL!

WRITEBYTE

RET

LCDSET:

;LCD显示设定程序,在主程序中调用

CMPPOWERUPTIM,#200;上电全部点亮2秒,以10ms为计时单位

BNC$LCDSET0RT

MOVPOWERUPTIM,#0

MOVWHL,#LCDBUF

MOVA,#0FFH

MOVB,#LCDCOUNT

LCDSET0:

MOV[HL],A

INCWHL

DBNZB,$LCDSET0

LCDSET0RT:

RET

LCDSET1:

;;;;其他显示设定程序

;;;;

RET

LCDDISP:

;LCD定时刷新程序,在主程序中调用

CMPLCDTIM,#10;LCD刷新频率,在此设为100ms(以10ms为计时单位)

BC$LCDDISPRT

MOVLCDTIM,#0

MOVA,#WRITE

CALL!

SENDID

MOVA,#ADDR0

CALL!

SENDADR

MOVWHL,#LCDBUF

MOVB,#LCDCOUNT

LCDDISP1:

MOVA,[HL]

CALL!

WRITEBYTE

INCWHL

DBNZB,$LCDDISP1

LCDDISPRT:

RET

SENDID:

;发送1621模式命令子程序,发送位数:

3

SET1P_1621CS

NOP

NOP

CLR1P_1621CS

MOVB,#3

SIDLOOP:

ROLCA,1

BNC$SENDID0

SET1P_1621DA

BR$SENDID1

SENDID0:

CLR1P_1621DA

NOP

SENDID1:

CLR1P_1621WR

NOP

NOP

SET1P_1621WR

DBNZB,$SIDLOOP

RET

SENDCOM:

;发送1621命令子程序,发送位数:

9

MOVB,#9

SCOMLOOP:

ROLCA,1

BNC$SENDCOM0

SET1P_1621DA

BR$SENDCOM1

SENDCOM0:

CLR1P_1621DA

NOP

SENDCOM1:

CLR1P_1621WR

NOP

NOP

SET1P_1621WR

DBNZB,$SCOMLOOP

RET

SENDADR:

;发送1621地址子程序,发送位数:

6

MOVB,#6

SADRLOOP:

ROLCA,1

BNC$SENDADR0

SET1P_1621DA

BR$SENDADR1

SENDADR0:

CLR1P_1621DA

NOP

SENDADR1:

CLR1P_1621WR

NOP

NOP

SET1P_1621WR

DBNZB,$SADRLOOP

RET

WRITEBYTE:

;往1621RAM写一字节子程序,发送位数:

8

MOVB,#8

WBYTELOOP:

ROLCA,1

BNC$WRITEBYTE0

SET1P_1621DA

BR$WRITEBYTE1

WRITEBYTE0:

CLR1P_1621DA

NOP

WRITEBYTE1:

CLR1P_1621WR

NOP

NOP

SET1P_1621WR

DBNZB,$WBYTELOOP

RET

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 冶金矿山地质

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1