摘要:介绍如何应用HD66421液晶板制成通用液晶显示模块;结合FantasyStudio的AVRISP开发板,给出HD66421在单片机系统中的应用实例。s0100
关键词:灰度液晶屏通用液晶显示模块HD66421
20世纪90年代以来,小型测控系统和手持设备的显示部分大多由液晶显示屏担当,它具有体积孝功耗低等特点。特别值得一提的是点阵液晶屏的使用,可以实现汉字和简单单色图形的显示,使手持设备更具人性化界面,操作更简便直观。随着液晶显示器件技术的不断发展,现在出现了灰度、伪彩、全彩的液晶显示屏,使手持设备成为都市的绚丽亮点。
1.硬件设计
对于小型测控系统和低成本手持设备而言,灰度及彩色液晶模块的价格还是有些高。本文介绍的HD66421是1/4VGA分辨率(160×100)的4级灰度液晶屏单元,售价只有100元,包括HD66421控制器及160×100的显示屏并封装在一起。加上本文中设计的电路板至少许元件可以构成同现在通用液晶显示模块(如:HY1602、HY12864)接口兼容的一个灰度显示模块。下面详细介绍这个显示模块。
HD66421是Hitach出品的显示控制芯片,具有片内30Kb的显示内存,最大支持160×100的4级PWM方式灰度显示;适用于低电压应用2.2~5.5V需要外部18V的LCD驱动电压,具MPU接口。要想把它做成通用的显示模块,要解决2个问题:通用接口的转换、18位的LCD驱动电压产生。
现在最常用的液晶显示模块有字符显示的HY1602、点阵显示的HY12864,它们的接口基本兼容。
对于字节显示屏:
1GND电源地
2Vcc数字电源+
3Vee对比度控制电压
4RS寄存器选择
5R/W读写控制
6EN读写使能
7~14DB0~7数据总线
15A背光电源+
16K背光电源-
对于点阵显示屏:
1GND电源地
2Vcc数字电源+
3Vee对比度控制电压
4D/I寄存器选择
5R/W读写控制
6EN读写使能
7~14DB0~7数据总线
15CS1芯片1的片选
16CS2芯片2的片选
17RST复位
18Vlcd液晶驱动电压
19A背光电源+
20K背光电源-
可见,如不考虑字符液晶接口的背光控制15、16脚,两种接口的数字部分是兼容的;而HD66421所需的接口如图1所示,于是设计出兼容接口:
1GND电源地
2Vcc数字电源+
3NC(Vout)空脚(输出电压)
4RS寄存器选择
5WR写选通
6CS片选
7~14DB0~7数据总线
15RD读选通
16BLCS背光使能
17RST复位
18NC(Vlcd)空脚(液晶驱动电压)
19A背光电源+
20K背光电源-
HD66421的接口时序。
根据HD66421的数据手册,在显示模块的板子上加入如图1的液晶驱动电压分配电路;同时为方便使用,还加入了LCD驱动电压的产生电路,使用MAX1878芯片产生15V的液晶驱动电压(也可以从18脚直接输入Vlcd),还可以产生一个低压输出,可从3脚输出Vout给外部系统。因为HD66421具有内部数字调节LCD偏置电压的功能,所以外接的Vlcd可以接一固定值,无需调节单元。另外,在板上还有1片用于驱动3只白色LED作为背光源的MAX1916。它由16脚VLCS控制点亮,19、20脚是直接驱动3只白色LED的接线;以后还希望能加上用IMP803驱动的EL背光板。图3是显示模块的部分原理图。
2.应用实例
下面结合FantasyStudio的AVRISP开发板,用HD66421来显示4级灰度图像。AVRISP开发板上带有通用的液晶显示模块接口,可以把我们的模块直接插在上面,但是应注意把3、18脚置为NC。在这个应用中,先在PC机上处理一幅160×100的4级灰度图像,使用串口调试工具发送到AVRISP开发板,图像被保存到板上的24C64串行非易失存储器中(每幅图像4KB),通过AVRISP板上的按键接制可以显示出刚下载的图像。
AVR单片机对HD66421的控制访问是通过通用液晶显示模块接口实现的。AVRISP开发板的连接是如下定义的:
PC0→RS寄存器选择;
PC1→WR写选通;
PC2→CS片选;
PA0~7→BD0~7数据总线;
PC6→RD读选通;
PC7→BLCS背光使能;
PC5→RST复位。
按照HD66421文档的描述:首先,是上电复位;然后,R0寄存器PWM、AMP位置位(打开外部Vlcd和内部运放的电源),根据实际情况设置R0、R1寄存器中CNF、ADC、DTY1、DTY0、INC位,写数据到其它控制参数寄存器和显存;最后,设置R0中的DISP位,打开显示、HD66421的所寄存器如表1所示。
表1CSRS索引位寄存器名称R/W数据位43210765432101-------00-----IR索引寄存器WIR4IR3IR2IR1IR00100000R0控制寄存器1WRMWDISPSTBYPWRAMPREVHOLTADC0100001R1控制寄存器2WBIS1BISOWLSGFAYDTY1DYT0INCBLK0100010R2X地址寄存器WXA5XA4XA3XA2XA1XA00100011R3Y地址寄存器WYA6YA5YA4YA3YA2TA1YA00100100R4显存控制寄存器R/WD7D6D5D4D3D2D1D00100101R5起始行寄存器WST6ST5ST4ST3ST2ST1ST00100110R6闪烁起始寄存器WBSL6BSL5BSL4BSL3BSL2BSL1BSL00100111R7闪烁终止寄存器WBEL6BEL5BEL4BEL3BEL2BEL1BEL00101000R8闪烁寄存器1WBK0BK1BK2BK3BK4BK5BK6BK70101001R9闪烁寄存器2WBK9BK9BK10BK11BK12BK13BK14BK150101010R10闪烁寄存器3WBK16BK17BK18BK190101011R11局部显示模块寄存器WCLEPB3PB2PB1PB00101100R12灰度色盘1WGP14GP13GP12GP11GP100101101R13灰度色盘2WGP24GP23GP22GP21GP200101110R14灰度色盘3WGP34GP33GP32GP31GP300101111R15灰度色盘4WGP44GP43GP42GP41GP400110000R16对比度控制寄存器WCM1CM0CCCCCCCCCC0110001R17屏选择寄存器WMONDSELPSEL0110010R18以下保留-
在整个操作中,特别要注意如下几个寄存器。索引寄存器(1R)
用来存放寄存器索引号,从18个寄存器中选取1个操作。
控制寄存器1(R0)
RWM读写方式选择
1:仅在写操作后地址自动加1;0:读写操作后地址都自动1加。
1:开显示;0:关显示。
STBY待机开关
1:进入待机方式;0:普通方式。
PWR外部Vlcd控制
1:打开Vlcd;0:关闭Vlcd。
AMP内部运放电源
1:打开;0:关闭。
REV翻转显示
1:翻转;0:普通。
HOLT挂起
1:内部操作停止;0:内部操作开始。
ADC左右翻转
1:翻转;0:普通。
控制寄存器2(R1)
BIS1、BIS0液晶偏置电压选择(1/8对应较低Vlcd,1/11则对应较高的Vlcd)
11:1/8偏置电压;10:1/9偏置电压;01:1/10偏置电压;00:1/11偏置电压。
VLS数据宽度
1:6BIT;0:8BIT。
GRAY灰度选择
1:4级固定灰度;0:4个灰度值可从32级灰度中选择。
DTY1、DTY0显示行数(应该选择100行)
11:8行;10:64行;01:80行;00:100行
INC自增1选择
1:X地址自增1;0:Y地址自增1。
BLK使用闪烁功能
1:打开;0:关闭。
对比度控制(R16)
CM1、CM0LCD交替驱动周期(影响不大)
11:Frame;10:7Lines;01:11Lines;00:13Lines
CC4~CC0对比度级别(数值越小需要Vlcd越低,应选择中间值)
00000:0/31;
00001:1/31;
.
.
.
11110:30/31;
11111;31;
如果以上几个寄存器设置不当,就无法显示出图像。
使用VC在PC上编写了一个处理图像的小程序,把160×100的真彩BMP图像经过误差分散算法处理,生成用于下载二进制数据的文件,用串口调试软件的文件发送功能传送到AVRISP开发板,由AT90S8515芯片内的服务程序接收数据,并转存到24CXX串行存储器上(应使用24CXX存储器的PAGE模式来提高数据写入速度)。因为使用了24C256,这样可以存储8张图像,显示效果很理想。AVRISP开发板的ISP编程接口也非常易用,配合CVAVRC编译软件,调试起来非常方便。希望和大家交流,我的邮箱zhao_xin@eyou.com。
HD66421应用程序包见网络补充版。(使用CVAVRC编译器)。
3.总结
本文详细介绍了用HD66421液晶板制成通用液晶显示模块的方法,并且实例具体说明了以HD66421为核心的4级灰度液晶显示模块的应用,为小型测控仪器和手持设备提供了一个较为廉价的灰度图像显示解决方案。文中的HD66421液晶板可以从http://www.21icsearch.com/TMC.HTM(中国电子网特买场)购得;有关AVRISP开发板请参考http://51kaifa.diy.163.com/avr/avr.html。