摘 要: 提出了一种以C8051F060单片机作为电路控制核心控制彩色TFT-LCD液晶显示,实现各种图形、曲线以及汉字字型输出的设计方法。根据汉字在读取字模和显示过程中的特点,对驱动程序进行优化,实现了汉字字模动态提取、色彩实时设置及显示区域快速更新等功能。实验证明,TFT-LCD色彩分辨率为256色;显示像素为320×100时,曲线更新频率大于90 Hz;显示区域为320×240像素时,更新帧频可达40 Hz,满足了人机接口高速显示和智能仪表的需要。
关键词: 智能仪表;C8051F060;TFT-LCD液晶;人机接口;帧频
在现实生活中,液晶屏是一种具有良好人机交互性能的可视化人机接口,被广泛地应用于智能仪器、家用电子产品、工业生产和手持设备中。在高新技术企业,液晶屏显示已经成为显示技术的主要方式之一[1-2]。随着电子技术和智能仪表的不断发展以及信息量的不断增加,单色液晶屏的应用越来越受到限制。彩色液晶屏以其信息量大、画面生动美观等优点逐渐获得人们的喜爱。目前,驱动彩色液晶屏的电路比较复杂,价格比较贵,限制了它的广泛使用。因此,本文设计了一种结构简单、功能齐全的电路驱动彩色液晶屏,实现曲线、图文的动态显示功能,拓展了彩屏在低端智能仪器设计中的使用。
1 控制器和液晶模块
1.1 C8051F060单片机简介
C8051F060单片机是Cygnal公司完全集成的混合信号系统级器件SoC(System on chip)。其CIP-51内核运行速度可达25 MIPS,除具有标准的8051数字外设外,内部还集成了常用的模数和数模转换模块,具有2个16 bit分辨率的SAR(逐次逼近寄存器型)ADC,转换速率可达1 Ms/s,1个10 bit的SAR ADC,转换速率可达200 ks/s,2个12 bit DAC,可用于产生无抖动的模拟电压输出。丰富的外设资源和高速指令运算能力大大简化了系统设计[3-5]。
1.2 液晶模块TFT0305-A
IFT0305-A是由恒方电子有限公司生产的,屏幕尺寸为3.5寸,可显示256种颜色,显示分辨率为320×240,自带标准的中文字库,显示汉字和字符极为方便。字库芯片采用GT23L32S4W,支持GB2312国标汉字(含有国家信标委合法授权)及ASCII字符,用户通过字符内码,利用GT23L32S4W手册提供的方法计算出该字符点阵在芯片中的地址,把地址信息送入地址寄存器就可从该地址中连续读出字符点阵信息。液晶屏控制板采用嵌入式CPLD电路控制汉字以及字符的读写,不占用主控制器的机时,字库芯片和CPLD之间采用PLII总线方式,控制更方便、传输数据更快。
1.3 TFT液晶驱动电路原理
TFT 液晶屏显示器件是靠镶嵌在显示器件玻璃上的薄膜场效应晶体管来完成显示功能,一个场效应管驱动一个像素。TFT液晶显示驱动电路的工作原理是采用逐行扫描的方式完成显示功能。当选通一行的地址时,该行场效应管将全部处于导通状态;此时,列地址将显示信号分别施加给该行的每个晶体管上,实现显示功能。当选通下一行地址时,该行的场效应管将全部进入无效状态,无论列驱动器如何变化,该行都保持不变,即该行的电压将保持一段时间,而这段时间与扫描的行数无关[6]。
2 液晶屏与C8051F060的接口设计
2.1 硬件电路设计
在实际应用中,液晶屏与单片机有多种连接方式。从占用I/O口的多少可以分为串行方式和并行方式,其中,串行方式虽然占用的I/O口少,但是速度较并行方式来说比较慢[7]。因此,结合液晶屏在实际应用中的显示速度,本文采用并行方式,计算机以访问I/O口设备的方式直接对液晶屏显示模块进行操作。接口电路图如图1所示。C8051F060的供电电压一般为3.3 V,而液晶屏所需供电电压为5 V,为了使液晶屏正常工作,在单片机与液晶屏之间加入两片控制电压转换的芯片SNC74LVC4245DB。如图1所示,P7.0~P7.7端口通过电压转换芯片与TFT液晶屏的数据线DB0~DB7相连,P3.1~P3.7分别和液晶屏的控制引脚相连。
2.2 软件设计
TFT0305-A液晶屏的控制板中有两个地址寄存器分别用来控制行操作、列操作、页操作和缓冲区操作,地址寄存器只能写,不能读。读取汉字和液晶屏显示操作不能同时进行。读取汉字时,先往字库芯片的3个地址寄存器内送入所要显示汉字的地址,然后从地址寄存器中读取该汉字的内容,放入单片机的内存中。选中液晶屏的片选信号,从单片机的内存中读出数据到液晶屏上
软件编程环境采用的是Silicon Labs集成开发环境IDE (Integrated Development Environment),它是一套完整、独立的软件程序,为设计者提供了用于开发和测试项目的所有工具。在IDE编程环境下,系统软件用C语言编写,根据液晶屏的读写时序以及编程要求编写程序。程序在调用字库芯片时,通过CPLD对字库芯片进行读写控制,在读取数据时数据经过CPLD缓存后送入到单片机的存储区中。程序经过汇编、调试,烧写在单片机的外部存储区中。主程序流程图如图3所示。
经实际测试可获得以下数据(TFT-0305液晶屏的显示分辨率为320×240):两次动态曲线扫描时间间隔为21 588,由式(1)可得动态扫描频率为96.5 Hz,由式(2)可得帧频为40.2 Hz。
本文介绍了C8051F060单片机与TFT-LCD液晶屏接口方法及显示设计,可以在智能仪表中实时地显示波形,硬件电路设计简单可靠,软件设计简单易行,显示图形清晰流畅,曲线更新频率可调。本文设计的特点在于,采用带字库型彩色液晶屏,方便、快捷地动态调用字库内的汉字和字符,无需在程序中写出汉字的内码,编程时可为单片机节省大量的空间,为内存比较小的单片机的操作和设计提供了可能,为彩色液晶在低端智能仪表中的使用奠定了良好的基础。设计单片机与液晶屏接口电路以及软件调试过程的经验,可为今后开发研究其他类型的彩色液晶屏控制、驱动和显示提供一些帮助。
参考文献
[1] 丁建军,王曦华.基于8051单片机的液晶屏接口设计[J].计算机工程应用技术,2009,5(34):9839-9840.
[2] 孙盛坤,丁昊,宋杰.基于FPGA和TFT彩屏液晶屏的便携式示波器设计[J].电子设计工程,2011,19(4):158-161.
[3] 李圣昆,张永乐,任勇峰.基于C8051F060的采集存储系统的设计[J].电子设计工程,2009,17(2):14-16.
[4] Li Lei, Chen Yangzhen, Zhou Huaping, et al. The application of hall sensors ACS712 in the protection circuit of controller for humanoid robots[C]. IEEE Conference on Computer Application and System Modeling, Taiyuan: IEEE CPS, 2010:101-102.
[5] Sun Mingge, Zhu Xilin. Design of auto disturbance rejection controller based on field-bus[C].2010 IEEE International Conference on Information and Automation(ICIA), Piscataway, N.J: IEEE,2010:992-996.
[6] 张俊谟.SoC单片机原理与应用:基于C8051F系列[M].北京:北京航空航天大学出版社,2007.
[7] 郭强.液晶显示模块应用及调试[M].北京:电子工业出版社,2010.
[8] 恒方电子有限公司.液晶模块TFT0305-A技术规格文件[S].2009.