图形LCD在嵌入式应用程序中的应用
扫描二维码
随时随地手机看文章
LCD具有广泛的应用,包括便携式消费设备如手机,计算器,手表,MP3播放器;国内设备如微波炉,电视机,收音机,音响设备,视频播放器,厨具;汽车,飞机,船只用的仪器面板;还有其它方方面面的应用。LCD重量轻,携带方便,价格低廉,质量可靠。他们消耗很小的功率且更容易被眼睛接受。因为LCD不使用荧光粉及与大部分旧的CRT显示器相关的老化图像。彩色图形LCD(GLCDs)正越来越多地用于便携式应用,如手机,电子游戏,以及工业控制和监控设备。
基本上,LCD是由许多充满液晶的像素组成,它们放在光源(或反射源)前以产生彩色或黑白图像。LCD的每个像素在所谓的铟锡氧化物(ITO)透明电极和偏光过滤器间是均衡的。LCD自身不产生任何光线,他们需要一个外部的光源。大多数显示器由放在LCD面板背后的光源提供光。
基于使用的有效寻址机制,我们可以把LCD分为无源矩阵寻址和有源矩阵寻址。无源矩阵寻址用于早期的显示器,只有M + N个控制信号用于M×N像素显示屏的寻址。要打开一个像素,一个电荷被下放,相应的列和相应的行接地。这一行和列交点的像素接收到电压,解开该像素的液晶。当我们禁用一个像素时,液晶就不能从一个状态到另一状态,因为这需要一段时间。此外,因为一个像素相当于一个电容器,两个金属电极由模具材料分开,当要删除一个电荷时,它需要一定时间给电容放电,从而减缓像素响应时间。虽然无源矩阵寻址简单,但是响应时间相当缓慢。此外,它也很难准确地控制充电,当像素被解开,它周围的像素也有部分地解开,致使图像出现模糊。图1显示了无源矩阵显示器的功能结构。
有源矩阵寻址(见图2)基于薄膜晶体管(TFT)快速使电容放电,从而提高响应时间。国内大多数产品,消费设备和工业图形LCD时下都采用了TFT技术。一个特定的像素通过切换适当的行并下放一个电荷到相应的列来选择。
由于所有其它行与此列的交点被关闭,只有指定的像素的电容接收到电荷。通过控制提供给晶体的电压值我们可以控制解开的像素量。这样显示能加快响应时间且能准确地控制像素,从而产生了清晰的图像。TFT显示屏的制作是复杂和昂贵的。像素之间的晶体管在LCD玻璃上被高精度蚀刻。
彩色图形LCD非常受欢迎,尤其是在消费电子设备中。彩色LCD中的一个像素由红,绿和蓝三个子像素彩色滤光片组成。通过控制施加电压我们可以修改每个超过256色调强度的子像素。因此,有了三个子像素,我们可以生成1680万色,需要大量在玻璃上蚀刻的晶体管。
现在有各种技术用于创建黑白和彩色显示器,这些技术基于解开的液晶数量。一些常用的有:TN(Twisted Nematic),HTN(High Twisted Nematic),STN(Super Twisted Nematic),FSTN(Film compensated Super Twisted Nematic),DTSN(Double Super Twisted Nematic),CSTN(Colour Super Twisted nematic)和其它一些技术。GLCD模块通常连同控制器芯片放置在PCB上,该芯片可以通过串口或并口连接。一些常用的GLCD控制器有T6963C,KS0108,LR35503,HDM6448等。大多嵌入式编译器为GLCD显示和处理图像提供函数集形式的软件库。有了这些库的帮助,用户可以显示位图图像,画图,画正方形、矩形、圆形,显示文本,等等。
本文简单介绍了GLCD的特点,并展示了基于TFT-彩色图形LCD项目如何用专用的软硬件工具轻松设计的。
GLCD软件工具的应用
一个GLCD项目的开发需要编程每个GLCD像素来创建图像。这个过程通常使用GLCD图像制作软件工具实现,因为手动制作非常繁琐。该软件工具使用户在电脑屏幕上通过描影或着色创建所需的GLCD图像,或从一个文件中导入图像。
软件最后通常会创建许多位图数据来描绘图像,而这些数据可以加载到目标GLCD设备,以显示所需的图像。现在大部分可用的软件工具都是采用位图转换格式,可转换一个标准图像文件为一个数据文件,这些数据文件可以用于高层次的编程语言。以下介绍一些流行的GLCD软件工具。
bitmap2lcd软件使用户能够导入一张标准图形编程格式的黑白图像到电脑屏幕上,然后创建此图的GLCD数据文件,该数据文件可用于嵌入式C,Pascal,Basic或汇编的项目。带有限制功能的免费版本的程序可以从下载。位图转换软件可从GLCD工具下载,它可转换位图和图标为用于嵌入式图形LCD显示的C和C + +程序。此程序的优点是黑白和彩色图像都可以操纵。
mikroElektronika公司的GLCDFont Creator是一个免费软件,它可为图形LCD创建字体、符号和图形图标。这个软件的优点是,它兼容所有的Windows字体以及那些导入和使用的字体。该软件受mikroElektronika公司所有的嵌入式编译器支持,且视觉效果如倒置,描绘轮廓和移们都可应用来设计字体。
可视化GLCD软件是图形开发软件,根据触摸屏机制支持大量黑白显示。用户可以通过放置可视化组件如标签,方框,圈,图像等在屏幕上,或者通过启用或禁用屏幕上的单个像素建立自己的GLCD图像。
设计完整的GLCD屏幕可以不用任何编程知识。屏幕上的图像转换成一个数据文件后,可以导入并在程序中用来显示创建的图像。可视化GLCD完全受mikroElektronika公司所有的嵌入式编译器支持,屏幕图像可以很容易地包含进其编译器。
mikroElektronika开发的可视化TFT也许是市场上最先进的嵌入式图形液晶显示编程工具之一。由于这个软件用于文中给出的项目,值得看看这个先进的软件工具的功能。
可视化TFT是一个基于GUI的彩色图形LCD开发软件,支持触摸屏设备,应用于现代TFT GLCD的开发。该软件可用于创建图形图像,通过用户创建基于触摸屏的可放置在屏幕上任意位置的事件驱动对象来创建图形应用程序。例如,用户可以放置一个按钮在屏幕上,然后确定按下或点击按钮时应采取的行动。GLCD图像代码和用户操作模板代码全部由软件自动创建。用户只需要编写用户操作的程序代码,例如当按钮被点击时的代码。可视化TFT软件支持mikroElektronika所有的TFT开发板。这些板被称为多媒体(或mikromedia)板,其中有些板应用于高端的PIC单片机。
多媒体板一侧主要包含一个320×240 TFT彩色显示屏,另一侧为一个4层PCB,上面有微控制器,触摸屏硬件,电源,立体声MP3解码器,加速器芯片,闪存存储器,SD卡接口和一个迷你USB接口。[!--empirenews.page--]
单片机的I / O端口被引到板的边缘,外部设备(例如传感器)可以很容易地连接到微控制器。利用可视TFT软件开发的代码可以用嵌入式编译器(例如mikroC或mikroBASIC)编译,然后用主板上引导加载程序帮助加载到目标多媒体板。
彩色GLCD项目例程
本节介绍了基于微控制器的彩色图形项目的设计。该项目是一个简单的秒倒数计时器,利用了Visual TFT图形开发软件。图3显示的显示布局包括:
●一个数字软键盘,用于输入倒计时初始值;●START软按钮启动倒计时的过程;●CLR软按钮清除倒计时初始值;●一个文本框来显示倒数过程中当前值。
GLCD屏幕设计使用Visual TFT(VTFT)图形开发软件。此外, VTFT自动生成图形处理代码。
VTFT软件已用于开发mikromedia系列智能彩色TFT板。一个例子是应用于PIC18系列微控制器的Mikromedia板,如图4所示。这些电路板适用于各种通用的微控制器。
如上所述,除了带有触摸屏硬件的320×240像素的彩色图形LCD,板还包含PIC18F87J50功能强大的单片机,带有安装引导程序软件的USB接口,MP3音频处理,SD卡硬件和板载加速度芯片。
一个典型的图形应用是用户使用VTFT软件所提供的各种工具创建GUI屏幕。自动生成的图形和主要点击的用户操作代码通过已经加载到目标微控制器的bootloader软件和免费提供的PC端USB接口从PC加载到目标微控制器的程序存储器。
一个项目可以包含多个屏幕和布局,一个应用程序可以选择和显示任何所需的屏幕。如图6所示,单片机端口与GLCD板之间的硬件连接,触摸屏的硬件配置指定使用VTFT的设置选项。
该项目的框图如图7所示。单片机端口J连接到GLCD模块的数据端口。同样,如图6所示,端口D,G和H的一些引脚连接到GLCD控制引脚。微控制器使用外部8MHz晶体振。时钟乘以6倍使工作频率为48MHz。
图8在VTFT屏幕显示了倒数计时器的显示布局。键盘和START/ CLR按钮使用圆角框按钮工具创建。这个工具有这样的特性:
各种事件驱动程序子程序如“OnClick” ,“OnDown”,“OnUp”等可附加在上面。实际倒计时值每一秒钟显示在圆框上。屏幕左上角一个LOGO格式的图像描绘了板上图像的功能。
倒数计时器的操作是这样的,用户最初输入倒数计时值并按下启动按钮。最初的计数值通过点击CLR按钮清除。
显示屏幕设计的代码由VTFT软件自动生成。用户操作代码如代码处理关键点击,通过软件提供的模板输入。当完成屏幕设计时且产生所需的代码时用户激活编译器(如mikroBASIC编译器)。用户一起编译所有的程序模块以生成可以加载到目标单片机的程序存储器的程序hex文件。
实际的程序加载过程可通过提供的引导程序或者一个适用的编程器(例如,mikroProg编程器)完成。图9显示用户程序的操作:处理这个项目的按键点击并显示屏上倒计时值。这是唯一由用户开发的的代码。
该方案利用MikroBASIC编译器开发。mikroBASIC是一种通用集成高层的语言,适用于PIC微控制器的开发。
该语言提供了大量的库函数,应用于连接外围设备,如RS232,RS485的I2C,SD卡,LCD,GLCD,以太网等。用户点击键盘上的数字时子程序更新计算总倒计时值。此外,点击的数字显示在屏幕上。子程序strtClick显示当前倒计时值,递减1计数,在循环内有一秒的延迟。
虽然图形LCD的例子在这里的展示非常简单,但实际工程应用中图形LCD领域是无穷无尽的,而且可能十分复杂,但同时也是使用VTFT软件的人性化的应用。例如,mikromedia板可以连接外部传感器,执行器,或电机和可以很容易监测或控制的设备,通过VTFT软件的帮助以开发简单的,人性化的,基于图形的应用。mikroElektronika包括许多有用的实际应用,展示了使用VTFT软件的mikromedia板。