<触摸屏种类>

常见

电阻式触摸屏

电容式触摸屏

不常见

红外线技术触摸屏

表面声波触摸屏

适量压力传感触摸屏

<原理分析>

电阻式触摸屏

如图所示,在屏幕的上下和左右加上一个5V电压,将这个5V根据屏幕的长度分成不同的电压值,只要将屏幕的上下接触,就可以检测出该点是电压,然后除以总的电压5V就可以找出其中的比例,这样就可以确定该点的X,Y了。

电容屏:

给工作屏一个很低的电压,手指接触屏幕时,手指将吸收走一步分电流,这个电流将从触模屏 的四个角流出,理论上流经这四个电极的电流与距离成比例,根据这个原理来确定触摸点的X,Y

<驱动程序设计>

初始化:

AD时钟初始化

AD转化控制寄存器

用于初始化AD转化时钟

控制字详情:

ADCLK = PCLK/(value+1) &&ADCLK<2MHz

中断屏蔽

TC中断

AD中断是总的中断

AD转换中断

支持TC中断(touch screen)和ADC中断(模数转换中断)

中断屏蔽寄存器:

控制字详情

子中断屏蔽寄存器

子中断控制字

进入等待中断模式

ADC状态寄存器:

等待中断模式详情;

TC中断处理:

启动XY坐标自动转化

触摸屏AD控制器

控制字详情(使能xy自动轴转换)

AD转化控制寄存器

控制字详情(使能AD转化)

等待转化完成

AD转换控制寄存器

控制字详情(结束转换标志位)

获取坐标

AD转化数据寄存器0

数据存储位

AD转化数据寄存器1

数据存储位

清除中断

进入等待TC中断模式

触摸屏AD转换状态寄存器

状态字详情(检测按下还是弹起)

清除弹起中断

进入等待模式

touchscreem的更多相关文章

随机推荐

  1. seq与Shell序列生成

    有时候可能有这样的需要:用Shell生成类似0001这样的序列作为批次号,这里整理了一下个人的方法 方法一:通过seq命令 seq命令可以生成从某个数字到递增到另一数字的序列.用法如下: # seq ...

  2. git之存储(git stash)-------(二)

    关于git stash命令的使用方法网上一大把,我想记录的是我在使用过程中觉得实用及好用的: 当在一个分支的开发工作未完成,却又要切换到另外一个分支进行开发的时候,可以先将自己写好的代码,储存在一个箱 ...

  3. [转]计算机视觉之跟踪算法——相关滤波器Correlation Filter

    https://blog.csdn.net/victoriaw/article/details/62416759 ASEF相关滤波器: Average of Synthetic Exact Filte ...

  4. RabbitMQ学习(一):RabbitMQ要点简介

    转载:http://blog.csdn.net/leixiaotao_java/article/details/78909760#t0 1.什么是RabbitMQ? RabbitMQ是由Erlang语 ...

  5. linux limits研究

    ---------------------------------------------------------------------------------------------------- ...

  6. Mysql5.6版本内存占用过高解决方法[链接]

    传送门: http://blog.linsongzheng.com/archives/159.html

  7. 07 go语言

    Home   Alexey Palazhchenko edited this page on 9 Jul · 89 revisions Welcome to the Go wiki, a collec ...

  8. Linux下获取和设置IP

    在Linux下获取关于IP和网关的操作:重点是对struct ifreq 的操作. 那么进入目录/usr/include/net/if.h下看查找struct ifreq结构体. /* Interfa ...

  9. docker修改docker0 mtu

    由于docker宿主机设置了mtu造成docker镜像中mtu和宿主机mtu不匹配,大包后网络不同.所以需要设置docker0的mtu. 1.修改docker.service vi /usr/lib/ ...

  10. JQ + CSS实现浪漫表白必备

    JQ + CSS实现浪漫表白必备页面 效果图: 图片素材 : 代码如下,复制即可使用: <!DOCTYPE html> <html> <head> <meta ...