资源描述:
《触摸式虚拟键盘参考》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《触摸式虚拟键盘》一、触摸屏工作原理触摸屏接线图触摸屏可以看成是一个二维精密电阻网络,可以进一步等效成沿x方向的电阻rx和沿y方向的电阻ry。rx是指xe-x0这段电阻,ry是指ye-y0这段电阻。如图6-4所示。当笔尖压在K点时,rx方向的电阻可等效成两段:rxk-x0和rxe-xk。ry方向上的电阻分成ryk-y0和rye-yk。触摸屏控制接口有6根线引向S3C2410的引脚。当nXPON、XMON有效,T2、T4导通,rx电阻被加电,xk点处的模拟电压经过rye-yk电阻、YPOS引线进入ADC的通道AIN[0](在HHARM2410开发板的实际连线)。该通道以10
2、bit的精度完成模数转化,该电压的数字量Dxk存入S3C2410内部ADCDAT0寄存器的Xpdata域。同样,当nYPON、YMON有效,T1、T3导通,K点沿y方向的座标点yk处形成ry电阻的分割,该点的模拟电压经rxe-xk电阻、XPOS引线进入AIN[2]通道,模数转化后的数字电压Dyk信号存入ADCDAT1寄存器的Ypdata域。从x0到xk之间的电阻值rxk-x0和从yp到yk之间的电阻值ryk-yp可以很容易的被求出:rxk-x0=rxe-x0*Vxk-x0/VEryk-y0=rye-yp*Vyk-y0/VE若ADC的参考电压Vref=VE,转化精度为10b
3、it,则xk点和yk点的数字量Dxk、Dyk可近似用下面的表达式描述:Dxk=1024*Vxk-x0/VEDyk=1024*Vyk-yp/VEnXponXmonnYponYmonYposXpos测量X座标√√××√×测量Y座标××√√×√一、主程序说明#include/*Standardinput/outputdefinitions*/#include/*Stringfunctiondefinitions*/#include/*UNIXstandardfunctiondefinitions*/#include4、ntl.h>/*Filecontroldefinitions*/#include/*Errornumberdefinitions*/#include/*POSIXterminalcontroldefinitions*/#include#include#include#include"../gui/gui.h"#include"../handpad/handpad.h"#defineSTARTX0#defineSTARTY0#defineMAX270000#defi
5、neKB"keyboard.bmp"#defineXMAX240/*X方向的最大值(像素)*/#defineX_STEP8/*X方向字符显示时的步长(像素)*/#defineY_STEP15/*Y方向字符显示时的步长(像素)*/struct_keyboard{charch;/*键对应的字符*/shortstartx,starty,endx,endy;}/*键的左上角和右下角的坐标*/kbindex[]={/*虚拟键盘的第一排*/{'~',1+STARTX,1+STARTY,15+STARTX,15+STARTY},{'1',17+STARTX,1+STARTY,32+ST
6、ARTX,15+STARTY},{'2',34+STARTX,1+STARTY,49+STARTX,15+STARTY},{'3',51+STARTX,1+STARTY,66+STARTX,15+STARTY},{'4',68+STARTX,1+STARTY,83+STARTX,15+STARTY},{'5',85+STARTX,1+STARTY,99+STARTX,15+STARTY},{'6',101+STARTX,1+STARTY,115+STARTX,15+STARTY},{'7',117+STARTX,1+STARTY,132+STARTX,15+STARTY}
7、,{'8',134+STARTX,1+STARTY,148+STARTX,15+STARTY},{'9',150+STARTX,1+STARTY,165+STARTX,15+STARTY},{'0',167+STARTX,1+STARTY,181+STARTX,15+STARTY},{'-',183+STARTX,1+STARTY,198+STARTX,15+STARTY},{'=',200+STARTX,1+STARTY,214+STARTX,15+STARTY},{'b',216+STARTX,1+STARTY,236+