触摸屏在s3c2410上的应用实例

触摸屏在s3c2410上的应用实例

ID:6601046

大小:510.50 KB

页数:12页

时间:2018-01-19

触摸屏在s3c2410上的应用实例_第1页
触摸屏在s3c2410上的应用实例_第2页
触摸屏在s3c2410上的应用实例_第3页
触摸屏在s3c2410上的应用实例_第4页
触摸屏在s3c2410上的应用实例_第5页
资源描述:

《触摸屏在s3c2410上的应用实例》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、触摸屏在S3C2410上的应用实例[日期:2005-2-27]来源:单片机及嵌入式系统应用 作者:国防科技大学宋成孙广富[字体:大中小]  摘要:给出S3C2410上触摸屏的实现原理、硬件结构和软件程序;对软件进行优化,改进软件滤波的实现方法。其算法使用C语言实现,可移植到任何操作系统的触摸屏驱动程序中。   关键词:触摸屏S3C2410滤波引言随着个人数字助理(PDA)、瘦容户机等的普及,触摸屏作为终端与用户交互的媒介,在我们的生活中使用得越来普遍。触摸屏分为电阻式、电容式、声表面波式和红外线扫描式等类型,使用得最多的是4线电阻式触摸屏。本文以三星公司ARM9内核

2、芯片S3C2410触摸屏接口为基础,通过外接4线电阻式触摸屏构成硬件基础。在此基础上,开发了触摸屏面图板程序。1触摸屏原理S3C2410接4线电阻式触摸屏的电路原理如图1所示。整个触摸屏由模向电阻比和纵向电阻线组成,由nYPON、YMON、nXPON、XMON四个控制信号控制4个MOS管(S1、S2、S3、S4)的通断。S3C2410有8个模拟输入通道。其中,通道7作为触摸屏接口的X坐标输入(图1的AIN[7]),通道5作为触摸屏接口的Y坐标输入(图1的AIN[5])。电路如图2所示。在接入S3C2410触摸屏接口前,它们都通过一个阻容式低通滤器滤除坐标信号噪声。这

3、里的滤波十分重要,如果传递给S3C2410模拟输入接口的信号中干扰过大,不利于后续的软件处理。在采样过程中,软件只用给特殊寄存器置位,S3C2410的触摸屏控制器就会自动控制触摸屏接口打开或关闭各MOS管,按顺序完成X坐标点采集和Y坐标点采集。2S3C2410触摸屏控制器S3C2410触摸屏控制器有2种处理模式:①X/Y位置分别转换模式。触摸屏控制器包括两个控制阶段,X坐标转换阶段和Y坐标转换阶段。②X/Y位置自动转换模式。触摸屏控制器将自动转换X和Y坐标。本文使用X/Y位置自动转换模式。3S3C2410触摸屏编程由于触摸屏程序中参数的选取优化需要多次试验,而加入操

4、作系统试验参数,每次编译下载耗费时间过多,不易于试验的进行,因而我们直接编写裸机触摸屏程序。三星公司开放了S3C2410测试程序2410test(可在三星网站下载),提供了触摸屏接口自动转换模式的程序范例ts_auto.c,见本刊网站www.dpj.com.cn。本文在此范例的基础上编写了触摸屏画图板程序——在显示屏上画出触摸笔的流走痕迹。针对坐标点采样时产生的噪声,本文采用噪声滤波算法,编写了相应的噪声滤波程序,滤除干扰采样点。整个触摸屏画图板程序的处理流程如图3所示。3.1程序初始化初始化触摸屏控制器为自动转换模式。其中寄存器ADCDLY的值需要根据具体的试验选

5、取,可运行本文提供的程序看画线的效果来选取具体的参数。触摸屏中断处理程序Adc_or_TsAuto是判断触摸屏是否被按下了。触摸屏被按下,给全局变量Flag_Touch赋值为Touch_Down,否则赋值为Touch_Up。   初始化脉宽调制计时器(PWMTIMER),选择计时器4为时钟,定义10ms中断1次,提供触摸屏采样时间基准,即10ms触摸屏采样1次。计数器中断处理程序Timer4Intr中判断Flag_Touch被赋值为Touch_Down,则给全局变量gTouchStartSample置位,以控制触摸屏采样。之后清除触摸屏中断和计时器中断屏蔽位,接受中

6、断响应,同时计时器开始计时。3.2触摸屏采样程序如果gTouchStartSample为TRUE,触摸屏接口开始对坐标X和Y的模拟量进行采样,根据试验选取适合的的采集次数。本文中使用9次采集,分别记入到ptx[TouchSample]和pty[TouchSample]数组中,TouchSample为采集次数。为了减少运算量,将ptx[]和pty[]分别分三组取平均值,存储在px[3]和py[3]中。这里以处理X坐标为例:px[0]=(ptx[0]+ptx[1]+ptx[2])/3;px[1]=(ptx[3]+ptx[4]+ptx[5])/3;px[2]=(ptx[6

7、]+ptx[7]+ptx[8])/3;计算以上三组数据的差值:dlXDiff0=px[0]-px[1];dlXDiff1=px[1]-px[2];dlXDiff2=px[2]-px[0];然后对上述差值取绝对值,所得结果简称绝对差值:dlXDiff0=dlXDiff0>0?dlXDiff0:-dlXDiff0;dlXDiff1=dlXDiff1>0?dlXDiff1:-dlXDiff1;dlXDiff2=dlXDiff2>0?dlXDiff2:-dlXDiff2;判断上述计算的色对差值是否都超过差值门限,如果这3个绝对差值都超过门限值,判定这次采样点为野点,抛弃

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。