嵌入式系统中触摸屏交互功能模块设计
当系统处于休眠状态时,Q1,Q3和Q4处于截止状态,Q2导通。当触摸屏被按下时,首先导通MOS管组Q1和Q4,X+与X-回路加上+3.3V电源,同时将MOS管组Q2和Q3关闭,断开Y+和Y-,再启动处理器的A/D转换通道1(AIN1),电路电阻与触摸屏按下产生的电阻输出分量电压,并由A/D转换器将电压值数字化,计算X轴的坐标。接着先导通MOS管组Q2和Q3,Y+与Y-回路加上+3.3V电源,同时将MOS管组Q1和Q4关闭,断开X+和X-,再启动处理器的A/D转换通道0(AIN0),电路电阻与触摸屏按下产生的电阻输出分量电压,并由A/D转换器将电压值数字化,计算Y轴的坐标。系统读到坐标值后,关闭Q1、Q3和Q4,打开Q2,回到初始状态,等待下一次笔触。
确定X,Y方向后,坐标值的计算公式如下:
X=(x_max-Xa)×320/(x_max-x_min)
Y=(y_max-Ya)×240/(y_max-y_min)
式中:
Xa=(X1+X2+……+Xn)/n
Ya=(Y1+Y2+……+Yn)/n
一般触摸屏将触摸时的X、Y方向的电压值送到A/D转换接口,经过A/D转换后的X与Y值仅是对当前触摸点的电压值的A/D转换值,它不具有实用价值。这个值的大小不但与触摸屏的分辨率有关,而且与触摸屏与LCD贴合的情况有关。如果想得到体现LCD坐标的触摸屏位置,还需要在程序中进行转换。
4.结论
嵌入式系统的PDA越来越多的使用触摸屏做输入输出设备。本文以ARM920T内核的S3C2410芯片GX开发板为硬件平台,设计了嵌入式系统触摸屏交互功能模块,在全国大学生嵌入式系统竞赛的产品和作品中已多次应用。文中并对设计中的关键技术问题做了详细的分析与讨论。软件设计流程图和源代码及其它辅助程序等限于篇幅另文介绍。
- SamsungS3C2440平台上的VxworksBSP移植(10-28)
- ARM(920T)异常和中断映射过程(11-20)
- ARM920T MMU-CP15协处理器的寄存器(11-11)
- ARM926EJ-S/ARM920T 协处理器 CP14, CP15详解(11-11)
- ARM920T的MMU与Cache之cache(11-10)
- 基于ARM920T的嵌入式静力测量系统设计(04-18)