嵌入式- 触摸屏实验

上传人:xh****66 文档编号:55778067 上传时间:2018-10-06 格式:DOCX 页数:5 大小:467.82KB
返回 下载 相关 举报
嵌入式- 触摸屏实验_第1页
第1页 / 共5页
嵌入式- 触摸屏实验_第2页
第2页 / 共5页
嵌入式- 触摸屏实验_第3页
第3页 / 共5页
嵌入式- 触摸屏实验_第4页
第4页 / 共5页
嵌入式- 触摸屏实验_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《嵌入式- 触摸屏实验》由会员分享,可在线阅读,更多相关《嵌入式- 触摸屏实验(5页珍藏版)》请在金锄头文库上搜索。

1、 触摸屏实验实验目的:了解 ARM 处理器触摸屏的处理机制,掌握在 S3C2440A 平台下进行触摸屏应用编程需要完成的任务实验器材: Sinosys-EA2440 实验箱 PC 机实验原理:触摸屏的4 根信号线直接和S3C2440A 的TSYM、TSYP、TSXM 和TSXP 四个引脚相连,由S3C2440A 内部来控制电平的转换和AD 的转换测量。触摸屏的硬件连接图如图1.1:图 1.1 触摸屏信号连接图s3c2440 一共有 4 种触摸屏接口模式,其中,自动(连续)XY 坐标转换模式和等待中断模式应用地比较常见。等待中断模式是在触笔落下时产生一个中断,在这种模式下,A/D 触摸屏控制寄存

2、器 ADCTSC 的值应为 0xD3,在系统响应中断后,XY 坐标的测量模式必须为无操作模式,即寄存器 ADCTSC 的低两位必须清零。自动(连续)XY 坐标转换模式是系统依次转换触点的 X 轴坐标和 Y 轴坐标,中 X 轴坐标值写入寄存器 ADCDAT0 的低 10 位中,Y 轴坐标写入寄存器 ADCDAT1 的低 10 位中,在这种模式下,系统同样会产生中断信号。在一般情况下,为实现触摸屏功能,先是设置为等待中断模式,在产生中断后,再设置为自动(连续)XY 坐标转换模式,依次读取触点的坐标值。实验总结:利用ADS1.2 工具( ADS 工具的使用请参照前面的实验) 打开“SourceCod

3、eInterfacetouchpanel_test” 的工程文touchpanel_test.mcp 工程文件。在Touchpanel.c 的Test_Touchpanel 子函数中对触摸屏相关的寄存器进行设置和初始化。rADCDLY=50000; /Normal conversion mode delay about (1/3.6864M)*50000=13.56msrADCCON=(114)+(ADCPRS6); /ADCPRS En, ADCPRS ValueUart_Printf(“ADC touch screen testn“);rADCTSC=0xd3; /Wfait,XP_PU,

4、XP_Dis,XM_Dis,YP_Dis,YM_EnpISR_ADC = (int)AdcTsAuto;/指定触摸屏中断的入口地址rINTMSK=BIT_ADC; /ADC Touch Screen Mask bit clearrINTSUBMSK=(BIT_SUB_TC);触摸屏中断服务程序在对寄存器进行设置和指定中断服务程序的入口地址后,程序进入等待状态,当用触摸笔点按触摸屏时,处理器接受中断,并进入中断服务程序的执行。中断服务程序源码如下:int i; U32 saveAdcdly;if(rADCDAT0rADCTSC / Set stylus down interrupt bit rA

5、DCTSC=(13)|(12); /Pull-up disable, Seq. X,Y postion measure.saveAdcdly=rADCDLY;rADCDLY=40000; /Normal conversion mode delay about (1/50M)*40000=0.8msrADCCON|=0x1; /start ADC 启动AD 转换while(rADCCON /check if Enable_start is lowwhile(!(rADCCON /check if EC(End of Conversion) flag is high, This line isne

6、cessary!while(!(rSRCPND /check if ADC is finished with interrupt bitxdata=(rADCDAT0/AD 转换结束后得到(x,y)坐标ydata=(rADCDAT1/YH 0627, To check Stylus Up Interrupt.rSUBSRCPND|=BIT_SUB_TC;ClearPending(BIT_ADC);rINTSUBMSK=(BIT_SUB_TC);rINTMSK=(BIT_ADC);rADCTSC =0xd3; /Waiting for interruptrADCTSC=rADCTSC|(18);

7、 / Detect stylus up interrupt signal.while(1) /to check Pen-up state if(rSUBSRCPND break; /if Stylus is up(1) state /等待直到触摸笔离开触摸屏时往串口输出坐标值Uart_Printf(“count=%03d XP=%04d, YP=%04dn“,count+, xdata, ydata);rADCDLY=saveAdcdly;rADCTSC=rADCTSC / Detect stylus Down interrupt signal.rSUBSRCPND|=BIT_SUB_TC; rINTSUBMSK=(BIT_SUB_TC);ClearPending(BIT_ADC);通过 DNW 软件将程序下载到实验箱中,点击触摸屏,可以在图上观察到不同坐标的变化,如图 1.3图 1.3 触摸屏实验结果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 科普读物

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号