基于AT89S51单片机触摸屏的设计与实现
2012-09-01唐鑫凌
唐鑫凌
(湖南科技学院 电子工程系,湖南 永州 425100)
0 引 言
随着多媒体信息查询的与日俱增,人们越来越多地谈到触摸屏,因为触摸屏作为一种最新的电脑输入设备,它是目前最简单、方便、自然而又适用于中国多媒体信息查询的输入设备。触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。这种技术极大地方便了那些不懂电脑操作的用户,它赋予多媒体崭新的面貌,是极富吸引力的全新多媒体交互设备。触摸屏在我国的应用范围非常广阔,主要应用于公共信息的查询,如电信局、税务局、银行、电力等部门的业务查询;城市街头的信息查询;此外还应用于领导办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等。
本设计采用电阻式触摸屏,通过程控开关4052、4051分别取得触摸屏X,Y轴端的电压量,再经过A/D将其转换为数据,由单片机读取然后发送给计算机,经过VC编制的一个多进程串行口通讯程序,使单片机发送的数据能被计算机接收并根据相应的比例关系在计算机上显示出来。该设计的优点是电路简单,程序控制方便,数据传送稳定可靠。
1 触摸屏的工作原理
典型触摸屏的工作部分一般由两层透明的阻性导体层、两层导体之间的隔离层和电极三部分组成,(如图1所示)。其阻性导体层选用阻性材料,如铟锡氧化物(ITO)涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃。隔离层为粘性绝缘液体材料,如聚脂薄膜。电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO的1000倍。
图1 触摸屏结构与输入原理图
2 系统硬件设计
图2为触摸屏在计算机中应用的总体设计图,它主要包括触摸屏输入、A/D转换、单片机数据采集与处理、串行接口、计算机显示五个部分。
图2 系统整体框图
2.1 触摸屏输入
此部分主要解决触摸屏的控制问题。很显然,触摸屏的控制必须完成电极电压的切换,手在触摸屏上的感应能引起输出电压的变化,单片机输出控制信号控制程控开关4052、4051从而分别采集触摸屏X,Y轴上的电压值,通过后面的A/D转换,从而把数据采集起来。 触摸屏选用四线电阻式,具体电路如图1所示。程序只要改变P1.2、P1.3、P1.4端口的电位就可实现触摸屏电极电压的切换。
2.2 A/D转换
A/D转换主要是把采集到的电压量转换为数据量。此部分主要是由单片机控制其转换和读取,为了能在电脑上显示比较大的图形,必须选用灵敏度高的A/D芯片,而本设计采用Analog Device公司生产的12位逐次逼近式快速A/D转换器AD574,其误差≤0.05% ,片内配有三态输出缓冲电路,可直接与各种8位或16位微处理器相连,无须附加逻辑接口电路,并能与TTL电平兼容。此芯片内部自带高精度参考电压源和时钟电路,无须外部电路及时钟信号,使用方便,具体制作的电路原理图如图3所示。
图3 A/D转换电路原理图
2.3 串行接口
通常情况下,人们是通过外部设备使用计算机的,但是由于种种原因,外设往住不能与CPU直接相连,它们之间的信息交换需要一个中间环节,这就是接口。串行口是计算机的一种标准接口,它的数据和控制信息是一位接一位串行传送下去,串行口通讯必须遵照一个协议,称为RS-232协议。
2.4 计算机显示
当单片机发送数据给计算机时,计算机必须要有一个程序来控制串口,并对数据作相应处理,使它能正确的在电脑上显示出来,本设计用Windows API 编程控制串口,其中包括以下几个部分:
(1)打开和关闭串口,(2)串口的配制和串口的属性,(3)读写串口,(4)通信事件,(5)设备控制命令
3 系统软件设计
3.1 单片机程序设计
单片机程序所要完成的功能:读取触摸屏X轴上的数据、读取触摸屏Y轴上的数据、发送数据。程序流程图如图4所示。
图4 单片机程序流程图
硬件电路单片机晶振为22.1184M,串行通讯波特率为9600bits/s,设置单片机定时器为定时器2,方式2,则定时器T1方式2的初值为:
3.2 Windows API 编程控制串口
该触摸屏显示界面是基于视图的应用程序,利用MFC AppWizard[1]建立视图文档的应用程序框架,再为其添加其他资源。
3.2.1 创建文档主程序
(1)打开Visual Studio6.0 有AppWixard建立一个名为TTY的MFC应用程序。在TerminalA 工程的资源视图中打开ID_MAINFRAME菜单资源。去掉编辑菜单和视图菜单,
然后添加API示例菜单,在API示例菜单中加入3个菜单项,(2)添加对话框为项目新增 1个对话框IDD-COMMDLG用于串行口设置,添加控件后对话框的设计如图5所示。
图5 添加控件后的对话框与显示界面
3.2.2 显示窗口
如图4所示是本设计的显示结果。该部分主要由VC++来实现对读取数据的处理过程,微机通过串行接口,从触摸屏中读得的数据,用作图函数DC.MOVTO(X,Y),DC.LINETO(X,Y)[2]在窗口上显示触点在触摸屏上划过的轨迹。
4 结 论
通过系统软件与硬件的设计完成了单片机与计算机之间的通信,实现了使用触摸屏用作电脑的输入设备。使用多路选择开关作为触摸屏电压极性的切换,分别采集触摸屏上触点的X轴与Y轴的电信号,通过A/D转换电路,将这些信息送至单片机进行处理,然后通过对单片机与计算机串行口的编程完成单片机向计算机之间的信息传送,从而达到将触摸屏上的内容在计算机上显示的目的。本设计原理简单,实用性强,揭开了时下新兴、用途广泛、技术先进的触摸屏技术的神秘面纱。
[1]李现勇.Visual C++串行口通信技术与工程实践[M].人民邮电出版社,2002.
[2]康华光.电子技术基础〈模拟部分〉[M].北京:高等教育出版社,2001,40-80.
[3]王文中,郭楠,葛庆平.PC 机与单片机串口通信模型的设计与实现[J].首都师范大学学报(自然科学版).2004,25, (12):1-3.
[4]刘海春,翁晓光.微机和单片机串行通信[J].电子测量技术.2004,10(02):59-60.
[5]尹若丹,马保吉,基于VC++6.0的PC机和单片机的接口设计[J].电脑知识与技术(学术交流),2007,10(13):171-174.
[6]于春霞,刘世萱,杨俊贤.触摸液晶的控制设计与坐标的获取[J].自动化技术与应用.2009,28(03):118-120.
[7]王海欣,黄海宏.液晶显示器的汉字显示方法[J].液晶与显示.2005,20(02):155-158.
[8]黄彬,张冰蔚.基于单片机的液晶触摸屏控制系统[J].工业控制计算机.2005,18(07):50-51.