本文给出了一种基于C8051F021和RA8835实现的低成本液晶显示方案。随着电子产品设计技术的不断发展,电子产品的设计,尤其是人机交互界面的设计日益趋向人性化。这其中的液晶显示屏以其具有能显示复杂文字及图形、显示面积大小随意、功耗低、轻薄等优点,而得到广泛的应用。近年来,随着单片机技术的飞速发展,涌现了多种性能优良且成本很低的单片机品种。C8051F系列单片机就是其中之一。在工程应用中,C8051F021可在满足性能要求的前提下,减少浪费、降低成本。
1 系统主要器件
1.1 C8051F021单片机
本系统选用性能优良且成本较低的SOC单片机C8051F021作为控制核心。C8051F201是完全集成的混合信号系统级MCU芯片,具有32个数字I/O引脚。其主要的内部资源有8通道12位ADC,2通道12位DAC,4 KB的RAM,64 KB的FLASH,以及硬件实现的SPI、SMBus/I2C和两个UART串行接口,另外还有时钟振荡器,看门狗定时器,VDD监视器,温度传感器等;C8051F021的所有模拟和数字外设均可由IDE软件使能/禁止和配置。它采用与8051兼容的CIP-51微控制器内核。因采用流水线结构,其指令执行速度有了很大的提高。此外,C8051F021还配置有标准的JTAG接口,可在IDE软件的支持下,对安装在最终产品上的MCU进行非侵入式、全速、在系统调试。C8051F021的封装为TQFP-64,可在工业温度范围内(-45℃~+85℃)使用2.7~3.6 V的电压工作。
1.2 RA8835液晶控制芯片
RA8835是台湾瑞佑科技公司推出的新版液晶控制芯片.内含功能强大的I/O缓冲器。RA8835的指令功能丰富,采用四位数据并行发送,可支持文字和图形的混合显示,并可将文字和图形的三层重叠显示、水平及垂直卷动等动态效果呈现于液晶屏上。RA8835可支持最大为640×256的屏幕显示分辨率,其内部集成有可支持160个5×7像素字符的MaskROM,也可外接CGRAM来支持64个8x16像素的字符,或者外接CGROM以支持256个8×16像素的字符。RA8835与EPSON的S1D13305(SED1335)芯片完全兼容,并且加强了稳定性,且拥有制程较新及耗电较低的优势,可有效降低成本。
RA8835的接口拥有功能强大的I/O缓冲器,它主要表现在两个方面:
其一是MCU访问RA8835不需要判断其“忙”,RA8835随时准备接受MCU的访问,可在内部时序下及时地把MCU发来的指令、数据传输就位:
其二是RA8835在接口部分设置了适配In-te18080系列MCU和M6800系列MCU的两种操作时序电路,并可通过引脚的电平设置来选择二者之一。RA8835接口部分所属的引脚如下:
DB0~DB7:三态数据总线,可直接挂在MCU的数据总线上;
CS:片选信号,低电平有效,MCUI访问RA8835时,应将其置低;
RD:为8080接口时,该脚为读操作信号;
为M6800接口时,则为使能信号;
WR:为8080接口时,该脚为写操作信号;
为M6800接口时,则为是写操作信号;
A0:I/O缓冲器选择信号,当A0为0时,写数据参数和读忙标志,当A0为1时,写指令代码和读数据;
RES:复位信号,低电平有效,当重新启动RA8835时,还需要使用指令SYSTEMSET。
SEL1、SEL2:接口时的类型选择信号。
2 液晶屏电路设计
本系统采用香港信利公司生产的MST-G320240DBSW-213W-E型5.7寸液晶显示模块,可显示的点阵为320x240,蓝膜高亮、LED背光、板载5 V负压、带RA8835控制芯片。其液晶屏接口电路如图1所示。
图1中,AD0~AD7可直接连到C8051F021的数据/地址总线(带5 V上拉,C8051F021的I/O引脚均耐5 V电压);RD和WR分别为读、写线,可连接到C8051F021的读、写端口(RD:49号引脚,WR:48号引脚;均带5 V上拉);RST为上电复位,可连接上电复位电路;CS-LCD为片选输入;A0为I/O缓冲器选择。为了避免在无操作时液晶背光常亮,减少系统功耗,延长液晶使用寿命,本系统利用555电路设计了背光固定延时关闭的液晶背光控制电路。该电路选用LM555H搭建单稳态电路,当连至C8051F021 I/O端口的BLC端有触发脉冲时,555单稳态电路输出端TC就会输出一定时长的高电平脉冲,此时T1管导通,液晶背光打开,延时固定的一段时间后,555输出端TC转为低电平,T1管截止,液晶背光关闭。根据555单稳态电路输出脉宽的计算公式,可选择合适的元件参数。通常当延时定为30秒时,电阻R7可选用100 kΩ,电容C21可选用330μF。在工程项目中,有时由于实际需要,系统还需扩展实时时钟芯片DS12887和存储器芯片CAT28C256,此二者的接口与液晶屏接口可共用C8051F021的数据/地址总线用作数据总线,本设计给出的以74HC139为核心的片选电路如图2所示,其相应的地址如下:
LCD:2000H~2001H
DS12887:4000H~40FFH
C AT28C256:8000H~FFFFH
本系统中的CAT28C256单独占用A0~A14地址总线,同时A15、A14、A13用作74HC139的译码输入信号线,A0用作液晶屏的I/O缓冲器选择,由于采用了外MEM低端口复用方式,因此,本系统还设计了以74HC573为核心的地址锁存电路,其电路如图3所示。其中,AD0~AD7可接到C8051F021的数据/地址总线,ALE接到C8051F021的ALE端(50号引脚)。
3 系统软件设计
在软件设计时,可根据RA8835的内部寄存器来设计RA8835的驱动程序。RA8835控制部分是RA8835的核心。它由振荡器、功能逻辑电路、显示RA管理电路、字符库管理电路和产生驱动时序的时序发生器等几部分组成,其振荡器可工作在1~10 MHz范围内。RA8835能在很高的工作频率下迅速地解释由MCU发来的指令代码,并将参数置入相应的寄存器内,还将触发相应的逻辑功能电路。控制部分可以管理64 KB显示RAM、内藏的字符发生器以及外扩的字符发生器CGRAM或EXCGROM。一般地,RA8835可将64 KB显示RAM分成以下两种显示特性区:
(1)文本显示特性区
具有此特性的显示RAM区专用于文本方式显示,访问该区的每个字节的数据都被认为是字符代码。RA8835可使用该字符代码确定字符库中字符的所在位置,然后将相应的字模数据传送到液晶显示模块,并在液晶屏上出现该字符的8x8点阵块,即文本显示RAM区的一个字节对应液晶屏上的8x8点阵。
(2)图形显示特性区
具有此特性的显示RAM区专用于图形方式显示,访问该区的每个字节的数据都将被直接送到液晶显示模块上,每个位的电平状态决定液晶屏上一个点的显示状态, “1”为显示, “0”为不显示,故图形显示RAM区的一个字节对应液晶屏上的8×1点阵。
RA8835中有一组专用寄存器来管理这两种特性显示区,它可以单独显示一个特性区,也可使两个特性显示区通过某种逻辑关系合成显示,显示方式的设置可通过软件指令设置实现。RA8835有13条指令,多数指令带有参数,参数值可由用户根据所控制的液晶显示模块的特性和显示的需要来设置。
MCU可把指令代码写入指令输入缓冲器内(即A0=1时),指令的参数则随后通过数据输入缓冲器写入(即A0=0 时)。带有参数的指令代码的作用之一就是选通相应参数的寄存器,任意一条指令(除SLEEPIN、CSRDIR、CSRR和MERAD外)都是在其附属参数输入完成之后才能执行。当写入一条新的指令时,RA8835一般在旧的指令参数组运行完成后,才等待新的参数的到来。
RA8835在8080方式下的时序如图4所示。图5所示是RA8835的驱动程序流程图。
4 结束语
本文对基于C8051F021单片机和RA8835液晶控制器的液晶显示系统设计方法进行了探讨。给出了对模块进行有效控制的具体接口电路。本系统经工程测试证明其性能稳定、设计简洁,同时可为相关液晶显示系统的设计提供一种可借鉴的方法。