液晶显示系统是家电控制系统的重要组成部分。家电液晶显示系统通过液晶显示模块(Liquid Crystal Display)将其工作状态和时间等重要信息显示出来,用户根据这些信息下达操作指令到微控制器进行处理,从而实现对家电功能的控制。液晶显示模块不仅可以生动地显示图形、汉字及字符,而且功耗小,工作电压低,因此在现代家电产品中的应用越来越广泛。家电液晶显示系统主要包括液晶显示模块LCD、背光源、液晶驱动芯片HTl621、飞思卡尔微控制器MC9S08Aw32和按键模块等。在此,根据HT1621的性能特点、组成结构和编程方法,结合MC9S08AW32,对HT1621在家电液晶显示系统中的实际应用作了详细论述,阐述了该系统的硬件设计和软件设计过程,并给出了该系统的硬件接口框图和软件流程图。
1 液晶驱动芯片HT1621介绍
1.1HT1621的特性
HT1621是台湾盛群(HOLTEK)公司推出的128段(32×4)内置存储器的多功能驱动器,可以驱动多段LCD字符是其主要特征。HT1621可以构成LCD显示模块和显示系统,与微控制器的通信仅需要3~4根,同时它还包括了一个省电命令,有效地减少了系统的功耗。HT1621是48引脚的SSOP封装,具有很多优良的特性,其主要特性如下:
(1)工作电压2.4~5.2 V;
(2)内嵌256 kHz RC振荡器;
(3)节电命令可用于减少功耗;
(4)一个32×4段的LCD驱动器;
(5)一个内嵌的32×4位显示RAM内存;
(6)三种数据访问模式。
1.2 HTl621内部系统结构
HT1621内部系统结构包括显示内存(RAM)、系统振荡器、看门狗定时器、声音发生器和LCD驱动器等。下面仅介绍与该设计相关的显示内存(RAM)和LCD驱动器。
1.2.1 显示内存(RAM)
静态显示内存RAM,以32×4位的格式储存所显示的数据。RAM的数据可直接映射到LCD驱动器;RAM中存储的数据可用READ,WRITE和READ-MODIFY-WRITE命令访问。图1是从RAM到LCD驱动器的映像。
1.2.2 LCD驱动器
HT1621是一个128段(32×4)的LCD驱动器。它可由软件配置成1/2或1/3的LCD驱动器偏压和2,3或4个公共端口。这一特性使HT1621适用于多种LCD应用场合。LCD驱动时钟由系统时钟分频产生;LCD驱动时钟的频率值保持为256 Hz,由频率为32.768 kHz的晶振、片内RC振荡器或外部时钟产生;LCD驱动器相关命令参见表1。
粗体100即“100"表示命令模式类型。如果执行连续的命令,除了第一个命令,其他命令的模式类型码将被忽略。LCD OFF命令使LCD偏压发生器失效,从而关闭LCD显示;LCD ON命令使LCD偏压发生器有效,从而打开LCD显示。BIAS&COM是LCD模块的相关命令,可以使HT1621与大多数LCD模块相兼容。
1.3 HT1621命令格式
HT1621可以用软件设置。两种模式的命令可以配置HT1621和传送LCD所显示的数据。HT1621的配置模式称为命令模式,命令模式类型码为100。命令模式包括系统配置命令,系统频率选择命令,LCD配置命令,声音频率选择命令,定时器/WDT设置命令和操作命令。
数据模式包括:READ,WRITE和READ-MODI-FY-WRITE操作,表2是数据和命令模式类型码表。
模式命令应在数据或命令传送前运行。如果执行连续的命令,命令模式代码即100,将被忽略。当系统在不连续命令模式或不连续地址数据模式下,端口CS应设为“1”,而且先前的操作模式将复位。当端口CS返回“0”时,应先运行新的操作模式类型码。
2 液晶显示系统硬件电路的设计
2.1 MC9S08AW32微控制器
MC9S08Aw32微控制器是美国飞思卡尔半导体公司开发的基于高性能HCS08核的系列成员之一。它包含众多有价值的特性,如20 MHz内部总线频率,32 KB片上在线可编程FLASH存储器,2 KB片上RAM,灵活而无需外部元件的内部时钟发生器,低压检测、高性能的模/数转换器(ADC),串行通信模块等。即使在各类恶劣环境下,MC9S08AW32亦可达到极佳的EMC性能。
2.2硬件接口电路
液晶显示系统硬件接口电路主要包括微控制器MC9S08AW32、液晶显示模块LCD、背光源、液晶驱动芯片HT1621和按键模块以及电阻、电容元器件等,如图1所示。
图1中,微控制器MC9S08AW32的PTC0~PTC2端口分别接液晶驱动芯片HT1621的片选信号端口(CS)、“写”信号控制端口(WR)和数据信号端口(DATA),并分别接上拉电阻到高电平(Vcc)。由于不需要对HT1621进行“读”操作,“读”信号控制端口(RD)只需通过上拉电阻接到高电平(Vcc)。MC9S08AW32的PTE0~PTE7端口接键盘模块;PTC3端口接NPN晶体管,以控制背光板。液晶驱动芯片HT1621的COM0~COM3端口分别与LCD的COM1~COM4端口相连;SEG0~SEG31端口分别与LCD的SEG1~SEG32端口相连。当LCD的显示段码数少于128(32×4)时,将HT1621剩余的驱动端口置空。该设计采用的LCD有4个公共端口和32×4个段码。
3液晶显示系统的软件实现
微控制器MC9S08AW32通过三个端口即PTC0~PTC2分别与HT162l的“CS”、“WR”和“DATA”相连,实现对液晶驱动芯片“写”命令和数据的控制。“CS”是HT1621的片选信号端口,当“CS”为低电平和作为输入时,“读/写”HT1621的数据和命令有效。“DATA”是串行数据输入/输出端口,“读/写”数据和“写”命令通过“DATA”进行。“WR”是写时钟输入端口,当“WR”信号为上升沿时,端口“DATA”上的数据地址和命令被写入HT1621上相应的RAM区。
在微控制器初始化过程中,设定PTE0~PTE7为输人口。MC9S08AW32通过扫描这些端口的状态来检测、判断是否有按键按下,并通过MC9S08AW32对HT1621进行“写”操作使LCD显示相应的功能。同时,当有按键按下时,MC9S08AW32通过PTC3端口输出高电平,NPN晶体管Q1导通,背光板K极拉低点亮。当超过一定的时间无按键操作时,背光板关灭,以减小功耗。通过编程,当有按键操作时,LCD可以闪烁显示用户要选家电的工作模式。若无按键操作,LCD显示当前的时间、工作状态等信息。
3.1 HT1621的初始化及控制时序
HT1621是可编程芯片。根据HT1621的命令和数据代码,通过把下面的宏定义程序“写”到HT1621,完成HT1621的初始化以及与“写”数据和命令相关的模式的设置。
图2是HT1621的“写”命令和数据的信号时序图。
根据图2“写”命令和数据的信号时序图,以及MC9S08AW32的端口定义,通过下面的赋值语句和宏定义,初始化MC9S08AW32对HT1621的三个控制端口为“输出”,完成3个端口的高低电平设定。
3.2软件设计流程图
软件设计流程图如图3所示。
4 结 语
该设计主要应用于家电控制系统的显示部分。液晶显示系统是家电控制系统的重要组成部分。MC9S08AW32和HT1621都具有高性能、低功耗、可靠性高等优点。目前,将两者相结合,已经成功应用于电饭煲、冰箱、空调、洗衣机等家电液晶显示系统。实践证明,该显示系统不仅显示稳定,功耗小,设计、使用方便,而且通过节省单片机I/O口,降低了生产成本,达到工业上对显示系统性能的要求。