ARM2440 触摸屏(转载)

转载———
S3C2440的LCD是带触摸的,用的是很流行的便宜货--4线制的电阻触摸屏

4线制的电阻触摸屏的特点只需要4根信号线就可以判断出触摸的坐标了

电阻触摸屏类似于电阻分压原理,总共有4种工作模式,等待中断模式,分离的X/Y坐标转换模式,自动连续的X/Y坐标转换模式,普通的AD转换模式。

模式的不同也就对应于ADCTSC寄存器的配置不同

上电时候,复位值为0x58,就可以用作于普通的AD转换!

普通的AD转换:

前面说到ADCTSC就用复位置即可,需要配置的寄存器就是ADCCON,ADCDAT0,ADCDLY

ADCCON主要是些控制信号,位15可用来判断转换结束与否,位0可用来手动启动AD转换,启动后,位0会被硬件清掉。

ADCDAT0的位【9:0】用于保存转换的数值,精度10位而已。

ADCDLY用于设置采样的延迟,随便弄个,不要太离谱就行。


触摸屏模式:

ADCTSC可以说为触摸屏而生,位8用来表示是产生按下中断还是松开中断

等待中断分为2种,等待按下中断,等待松开中断

位2表示是自动的XY转换,还是分离的,设为自动的话,位1应该设置为00,为无操作模式

自动XY转换的时候,XM,XPYM,YP的状态不需要理会,触摸屏采样自己会控制

ADCDATn寄存器(0,1)保存转换的XY坐标数值,位15标明是按下还是松开了,以此判断选择进入的下一状态是什么。


编程思路:

只记下触摸屏的思路

首先设置好ADCTSC进入等待按下中断,当按下的时候,触发了中断,依据SUBSRCPND可知道是ADC转换完毕触发的,还是触摸屏被按下触发的(因为SRCPND中两个中断共用1位)分别跳转不同的中断入口,如果是按下的,则就设置好XY模式,开始XY的AD转换,转换结束后发生ADC中断,此时处理数据寄存器中的数据(如何处理,自己看着办),接着进入等待松开中断,如果松开了,就又回到了等待按下中断,如此循环即可

PS:注意中断的进入后,要记得清中断,清中断的顺序:SUBSRCPND-->SRCPND-->INTPND

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值