基于触摸屏的太阳能热水器控制系统设计
2011-03-14李香宇任建存
李香宇,任建存
(海军航空工程学院控制工程系,山东烟台264001)
触摸屏作为智能仪器、仪表的输入设备,是具有简单、方便、自然的人机交互方式。而电阻式触摸屏对外完全隔离,不怕油污、灰尘、水,经济性很好,适应于各种恶劣的环境,因此应用到太阳能热水器的显示界面,同时起到控制执行器工作的作用。
1 触摸屏的结构和原理
触摸屏的基本原理是,用手指或其他物体触摸安装在显示器前端的触摸屏时,所触摸的位置(以坐标形式)由触摸屏控制器检测,并通过I/O口送到CPU,从而确定输入的信息。触摸屏的本质是传感器,它由触摸检测部件和触摸屏控制器组成。触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接受后送触摸屏控制器;而触摸屏控制器的主要作用是从触摸点检测装置接收触摸信息,并将它转换成触点坐标送给触摸屏控制器,它同时能接收触摸屏控制器发来的命令并加以执行[1]。
本设计选用的是四线制电阻式触摸屏,是在强化玻璃表面分别涂上两层透明氧化金属导电层,利用压力感应进行控制。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化。在X和Y两个方向上产生信号,然后传送到触摸屏控制器RA8806。控制器侦测到这一接触并计算出(X,Y)的位置,再根据模拟鼠标的方式动作[2]。
电阻式触摸屏将矩形区域中触摸点的物理位置转换为代表X方向和Y方向的电压。上下两个导电层一个是水平方向,一个是竖直方向,分别用来测量X和Y的坐标位置,在水平面上的电极称为X+电极和X-电极,在竖直平面的电极称为Y+电极和Y-电极,如图1所示。测量X方向的时候,将X+、X-之间加上参考电压VCC,Y-断开,用Y+电极作为测量点,获得X方向的电压,得到的电压值经A/D转换,就可对应的判断出接触点的X坐标;同理测量Y方向的电压,之后再完成电压与坐标的换算[3]。触摸点M处测量结果计算如下:
图1 四线电阻式触摸屏测量原理Fig.1Measuring principle of four-wire resistive touch panel
2 液晶显示触摸屏的硬件设计
液晶触摸屏包含图形液晶显示模块和附着在显示屏上的触摸屏两部分,借助于触摸屏控制器RA8806与微处理器PIC16F877实现软硬件接口,通过检测用户在触摸屏上的触摸位置,实现显示与控制功能。
2.1 RA8806控制器
对触摸屏的控制需要选用专门的触摸屏控制芯片,触摸屏控制芯片不仅能够完成A/D转换而且能够实现电极电压的切换,本设计选用了四线电阻式触摸屏控制器RA8806。
RA8806是一个文字与绘图模式的点矩阵液晶显示控制器,其内建了双图层(Two Page)显示内存,及512 kB ROM的字型码,可以显示全型(16×16 pixels)的繁体中文字型或是简体中文字型。RA8806支持可转换8-bit数据总线的8080/6800系列之MPU接口,而对于LCD驱动接口,RA8806亦可以被设定为4-bit或8-bit的数据总线。在一般模式下,RA8806可支持最大到320×240点分辨率的LCD面板。RA8806也内建了智能型触控扫瞄控制器,支持了4线电阻式触控扫瞄接口,而可程序化的PWM可以用来调节LCD面板的对比或背光。RA8806也提供一个强大且聪颖的4×8(32键)或8×8(64键)的键盘扫瞄接口,其中更包含了长按键的功能,同时透过适当的中断和轮询机制让使用者可以轻易的操作触控扫瞄、键盘扫瞄和电源管理等功能,因此可以有效的减轻MPU的负担[4]。
2.2 液晶显示模块接口设计
本设计中采用的液晶显示模块是一种分辨率为320×240点阵的液晶显示器DV320240GB,是一款内含硬件字库的图形点阵液晶显示器,具有体积小、重量轻、显示灵活等优点。它主要采用动态驱动原理,由行驱动控制器和列驱动器两部分组成了320×240的全点阵液晶显示,编程模式简洁方便。具有两种显示方式:文本显示和图形显示[5]。
触摸屏液晶显示DV320240GB和控制器RA8806之间的连接如图2所示。
图2 液晶显示屏DV320240GB与控制器RA8806接线图Fig.2The wiring diagram of LCD DV320240GB and controller RA8806
3 控制系统硬件设计
由下位机采集温度和水位信息,经过通信传输给上位机,之后通过液晶显示模块将其显示在液晶屏上,同时显示日历时钟DS1302的实时时间。同时四线电阻式触摸屏通过触摸送给触摸屏控制器RA8806,将触摸的信息送给上位机进行处理之后,一方面改变了液晶屏上的显示信息,另一方面主动发送给下位机进行处理,由此来控制电磁阀、加热器、水泵的工作[6]。控制系统的总体框图如图3所示。
图3 控制系统总体框图Fig.3The overall block diagram of control system
4 系统软件设计
4.1 触摸屏画面设计
单片机开始运行,首先进入主界面显示,显示采集的温度、水位信息和北京时间,同时在主界面通过触摸相应位置又可以进入参数设置界面和手动控制界面,以及故障检测界面。主界面示意图如图4所示。
图4 参数显示的主界面Fig.4The main interface of showing parameters
4.2 触摸屏控制程序设计
触摸屏控制器RA8806连接到微控制器PIC16F877上。当发生触摸时,由RA8806向PIC16F877提出中断请求,接着PIC16F877就会响应该中断请求,通过RA8806的转换结果,得到触摸点的坐标。图5为RA8806测量子程序流程图。
触摸屏控制器RA8806进入中断程序后,采集X、Y坐标值的命令程序如下:
LCD_CmdWrite(INTR);//Check INT status
INT_Sta=LCD_DataRead();
if(INT_Sta&0x01)//Check if TP interrupt
{
LCD_CmdWrite(TPXR);
X1=LCD_DataRead();//MSB of X
LCD_CmdWrite(TPYR);
Y1=LCD_DataRead();//MSB of Y
LCD_CmdWrite(TPZR);
X2=LCD_DataRead()&0x03;//LSB two Bits of X
图5 RA8806测量子程序流程图Fig.5Flow chart of RA8806 measurement subroutine
LCD_CmdWrite(TPZR);
Y2=LCD_DataRead()&0x0C;//LSB two Bits of Y
……
LCD_CmdWrite(INTR);//Clear Touch Panel Status
temp=LCD_DataRead()&0xfe;
LCD_CmdWrite(INTR);
LCD_DataWrite(temp);
}
5 结论
触摸屏作为一种新型的输入设备正在得到日益广泛的应用。而利用RA8806实现触摸屏控制,可以方便实现与单片机之间的连接,与点阵式液晶显示屏DV320240GB相配合使用,通过单片机与触摸屏之间的接口设计,可以便捷地实现控制功能。
[1]王富东.电阻式触摸屏与单片机的接口技术[J].苏州大学学报,2006,12(6):50-55.WANG Fu-dong.Interfacing resistance touch screen with MCU/MPU[J].Journal of Soochow Uniwersity,2006,12(6):50-55.
[2]石杨,闵子建.基于触摸屏控制器的在线动态数据采集及预处理[J].微计算机信息,2008,24(10):154-156.SHIYang,MINZi-jian.Onlinedatacollectionand pretreatmentbasedonthetouchscreencontroller[J].Microcomputer Information,2008,24(10):154-156.
[3]刘彬,韩进.基于单片机的液晶显示触摸屏控制设计[J].液晶与显示,2010,4(2):240-244.LIU Bin,HAN Jin.LCD touch panel controller design based on MCU[J].Chinese Journal of Liquid Crystals and Displays,2010,4(2):240-244.
[4]刘升.基于RA8806控制器的LCD和51单片机接口技术[J],电子设计工程,2009,17(8):125-127.LIU Sheng.LCD and interface technique of 51 MCU based on RA8806 controller[J].Electronic Design Engineering,2009,17(8):125-127.
[5]黎安军,蓝飘先.51单片机的触摸屏系统的应用[J].计算机科学与技术,2008,26(4):42-46.LI An-jun,LAN Piao-xian.Application of the HMI touch panel system base on MCS-51 MCU[J].Computer Science and Technology,2008,26(4):42-46.
[6]王选民,李明利,等.基于ADS7846的电阻式触摸屏接口设计[J].现代电子技术,2010(11):88-90.WANGXuan-min,LIMing-li,etal.Interfacedesignof resistivetouchscreenbasedonADS7846[J].Modern Electronics Technique,2010(11):88-90.