APP下载

一种基于单片机控制的LCD人机界面方案

2012-04-26徐培凤黄文新陈建锋

电气电子教学学报 2012年2期
关键词:液晶屏人机界面液晶

施 凯,徐培凤,黄文新,陈建锋

(1.江苏大学电气信息工程学院,江苏镇江 212013)

(2.南京航空航天大学自动化学院,江苏南京 210016)

随着工控技术的发展,对具有显示内容丰富和操作简单可靠的人机界面的需求越发迫切。而LCD以其微功耗、无辐射和显示清晰等优点,在工业控制人机界面上的应用已越来越广泛[1-2]。

本文设计的LCD人机界面方案以飞思卡尔公司的MC9S08GT60型单片机作为主控芯片,结合点阵液晶模块CA320340B,通过与控制系统MCU的串口通讯实现监控参数的获取及发送,了解和学习当前主流点阵液晶模块的工作及实现。该设计对于学生的课程教学实践与课外科技活动、电子设计竞赛以及将来就业都有帮助。

1 系统构成与工作原理

1.1 系统构成

LCD人机界面由控制部分、通讯部分和显示部分三部分构成,其硬件连接结构框图如图1所示。其中最主要的是控制部分,MC9S08GT60是飞思卡尔公司的一款44引脚QFP封装的八位单片机,总共可提供36个I/O口,具备4kRAM和60kFlash存储,无论是对于程序的读写还是数据的存储都很足够,满足该液晶显示系统的控制要求,且其具备BDM后台调试电路。通过BDM接口,实现了在线编程及动态调试[3-4]。

图1 LCD人机界面硬件连接结构框图

通讯部分采用简单有效的SCI串口通讯,使用单片机SCI接口与控制系统DSP微处理器交换需要监控的系统参数。

显示部分为带有RA8835图形显示控制芯片的点阵液晶屏。该屏外扩32K显示RAM,具有强大的作图功能,支持文本显示、图形显示以及图形和文本混合显示。

通过电路设计,将通讯接口、液晶控制器以及单片机控制板整合为一个液晶显示的人机界面,实现系统所需功能。

1.2 系统工作原理

单片机控制板和液晶屏之间可以通过控制口WR(写)、RD(读)、RS(片选)、CD(指令数据寄存器选择)以及DB0-DB7八位数据口相连。通过编写程序,单片机发出高低电平信号控制寄存器的选择、读写口的开闭以及数据或指令的传输。在片选选定后,选取指令寄存器并打开写控制口,写入的八位数据会被当作指令送入液晶控制器中,此时控制器打开相应的功能,选取数据寄存器及写控制口便可从数据口送入对应指令的数据,控制器便会依据上一步的指令进行处理送入的数据,从而实现液晶屏上诸如光标的显示和移动,字符和图形显示等功能。薄膜开关功能是LCD显示人机界面系统运行工作的重要环节,在开关的控制下,可以实现参数监测面板的显示、参数设置面板的切换及参数的设置和返回等。

在对数据处理成显示图像的过程中,分为文本显示和图形显示两种方式:当选取文本显示时,需要在存储区中建立字符库,在访问显示RAM区中的每个字节的数据都认为是字符代码,控制器经该代码确定字符库中字符的位置,然后将相应的字模数据送至液晶显示屏模块上;当选取图形显示时,RAM区专用于图形方式显示,在该RAM区中每个字节的数据将直接被送到液晶模块上显示,每个位的电平状态决定显示屏上一个点的显示状态,“1”为亮,“0”为暗,所以图形显示RAM的一个字节对应显示屏上的8×1个点阵。通过指令的选取,可以实现图形和文本的独立显示或者两者的混合显示,以达到最好的显示效果。

LCD人机系统能够以双工方式收发数据,在通讯的基础上,结合了液晶屏字符显示的功能,将所要监测的通讯数据编排显示在液晶屏上。同时,通过对薄膜开关进行功能设计,使得液晶显示系统功能更加丰富,包括参数显示,波形显示,PI参数调节反馈等。总体而言,该液晶显示系统能够符合任何功能要求,使用要求及安装要求,且双向数据传输设计使操作使用更具人性化特点。

2 液晶图形显示原理

控制点阵液晶的显示本质上就是控制液晶屏上各个点的亮和暗。图形显示方式下,液晶屏上每1×8个点依次对应于RAM区中的一个字节。初始设定RAM区的起始地址,光标每移动一位,RAM区地址则加一,在屏上移动8个像素点,而字节中的一位对应于8个像素点中的一个点。其原理图如图2(a)所示。在显示控制器的处理下,当RAM区某字节中位数据为“1”时,则对应的点为亮,为“0”的时候则为暗。

通过单片机引脚编程使能,将控制指令写入控制器中以打开相应控制功能,在确定写入汉字的RAM地址之后,写入相应的字模数据,在控制芯片的处理下,即能在屏上得到相应的汉字显示[5-7]。16×16汉字“天”的显示如图2(b)所示。

图2 点阵液晶系显示原理图

在显示的过程中,控制器会实时接受单片机访问并及时把单片机发来的数据和指令就位,因此必须注意一个问题:采用中断为显示驱动读取显示数据的操作,会不可避免的在显示屏上出现雪花现象。为避免之,RA8835控制器在接口部提供一个状态信号——“忙”标志BF,它位于数据总线的D6位。在传送完一行有效显示数据到下一行传送开始的间歇内BF=0,这段时间RA8835将不读取显示数据,此时MCU访问控制器将不会影响显示效果。通过对忙标志位进行判断再执行指令可以保证显示不产生雪花。

3 软件设计

对于飞思卡尔单片机MC9S08GT60,其软件设计可在专门的PE平台上进行。该平台上底层函数全部打包,软件设计时可直接调用,十分方便。在硬件设计完好的基础上,基于液晶显示的基本原理,以及显示控制器RA8835的逻辑时序。我们开发出可靠的能实现系统监控显示与交互功能的单片机C语言程序。软件设计主要分为以下几个部分。

1)SCI串口通讯

这里采用了双工的串口模式,除了调整波特率、数据位、起始/停止位和校验位这些最基本的通信参数以外,还要明确上位机和下位机之间的通信协议。

本系统规定了以下的通信协议:确定好一次收发的数据为10个,当下位机收到0x81时,确认之后的数据才予接收,如果不是该数则重新等待下一个0x81的到来。在上位机发送之前,对数据先做一步处理,即将发送的数组的最后一位设定为校验位该位为前面每一个数据之间相互异或的结果。而下位机在接收时也将每一个数据相互异或并保存。当下位机计数标志达到10后,比较最后一位数据和校验位数值,若两者一致,表明接收的数据是正确的,否则判断为错误而重新接收。具体的接收和发送程序流程图如图3所示。

图3 SCI串口通信流程图

2)字符显示

首先使用取模软件将所要显示的字符进行译码,得到字符的点阵数据,不同的字符格式下字模数据不同,对字符的解码过程需与所编程序的读写顺序相同。其次,基于显示控制芯片的时序逻辑,通过调用子程序,完成对字符数据的读写操作,实现字符的显示。

以16×16汉字为例,实现过程如下:用取模软件按照汉字显示的顺序提取出字模数据。设定光标首地址,并将光标属性修改为自动向下移动,将字模数据分两部分写入控制芯片。先判断忙标志位是否空闲,空闲则写数据。先写表示汉字左半边的8×16点阵数据,即16字节数据,写完后光标地址加一,再写右半边8×16个点阵数据。如此,一个16×16点阵汉字的字模数据被完全写入,并在控制器的显示驱动下在液晶屏的设定位置上显示出来。同理,对于8×8、8×16或者24×24点阵的字符显示过程和上述点阵汉字的显示过程基本一致。

3)波形显示

由于在RA8835控制器控制下具有光标地址和RAM区空间地址相一致的特点,如果单纯的将数据按照接收的顺序依次在屏上显示的话,光标地址最多只能移动40次。而对应一个光标地址的字节空间如果重复写入数据的话,前面的数据将会擦除,因此对数据处理时必须对字节的每个位进行操作。这样处理的复杂度和时间长度均增加不少,所以必须找到合理的处理方式。

本系统使用320*240点阵液晶,数据在数组中的位置由显示屏行地址表示,而纵向位置由数据大小确定,对完成位置确定的数据可以点的方式显示。在液晶屏上显示时,每个数据的大小通过一定比例关系转化为液晶屏纵向的高度,而横向坐标的确定则是由数据在数组中的位数决定。光标地址即RAM区地址表示为0X28×Y+X,每行显示40个字节的数据,Y表示行数,X表示的是在第(Y+1)行中的位置。

现以显示数组中的第60个数100为例。如果在液晶上显示的高度是与像素行数一比一对应的话,则Y值上应该为Y=240-100。而在横向位置的确定上,由于60/8=7余4,对应写入的RAM区行地址X为5,其中,要点亮的是字节内的第四个点,则在字节内表示为0X80,相应的在地址中写入该字节数据,便实现了对第60个数以点的方式显示。采用这种方式进行数据到波形的转化,效果达到了设计的要求,不过在细节上的处理还要有所注意。比如对于相连的大小相等的数,在同一个字节中写入时,由于地址一致只是字节内的点不同,后面的数据会将前一个数擦除而少了一个点。必须将这些特殊情况另外表示出来,保证波形的连续性。具体波形显示流程如图4所示。

图4 波形显示流程图

4 结语

本文介绍的基于飞思卡尔单片机MC9S08GT60控制的LCD人机界面方案,实现了既定的数据通信、字符显示以及波形监测等功能。该方案有助于学生熟练掌握基于SCI通讯的人机界面设计。该培训科目也可为相关课程设计内容提供参考。

[1]夏莉英,古玉年.基于单片机的全屏幕点阵液晶显示器的应用[J].太原:山西电子技术,2007,5:45 -48

[2]殷伯华,方光荣.基于单片机彩色液晶实时显示系统设计[J],南京:工业控制计算机,2004,17(08):41 -42

[3]孙同景.Freescale 9S12十六位单片机原理及嵌入式开发技术[M].北京:机械工业出版社,2008.7

[4]李晶皎,刘天华,丁言镁编著.液晶显示器的C语言程序设计:Freescale 8位微控制器[M].北京:科学出版社,2005.4

[5]杨应平,石城,蒋爱湘,李振华.图形点阵液晶显示模块与51系列单片机的接口设计[J].北京:现代显示,2006,63:41-45

[6]张国友,孙萍.图形点阵液晶显示器与单片机接口及应用[J].芜湖:安徽机电学院学报,2001,16(12):37 -40

[7]李子健.基于51单片机的汉字LCD智能显示模块设计[J].西安:电子元器件应用,2006.9:76-77

猜你喜欢

液晶屏人机界面液晶
不可压液晶方程组的Serrin解
《液晶与显示》征稿简则
基于STM32F4的多通道串口驱动TFT液晶屏显示系统设计
一种消除液晶屏高温MURA的工艺研究
基于机器视觉的液晶屏字符缺陷检测系统设计
CBTC系统车载人机界面的设计与实现
基于PLC与人机界面的经编机电子横移控制系统研究
液晶与显示2015年第30卷第1期 目录
CTCS-3级列控车载人机界面的系统设计与实现
基于图像处理的电能表液晶屏质量检测方法