触摸屏的使用
来源:互联网 发布:编曲软件排名 编辑:程序博客网 时间:2024/05/20 18:03
触摸屏工作原理
触摸屏的分类
触摸屏作为一种输入设备,是目前最简单、方便的一种人机交互方式,具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。
从技术原理来区别触摸屏,可分为5类:
1.电阻式触摸屏
2.电容式触摸屏
3.红外线技术触摸屏
4.表面声波技术触摸屏
5.矢量压力传感技术触摸屏
电阻屏工作原理
当手指触摸屏幕时,两个相互绝缘的导电层在触摸点处连接,顶层的5伏电压就会加到底层触摸点处,底层该点的电压会发生改变。
控制器检测到该点的变化后,将该点的电压进行A/D转换,得到的值与5伏相比,再乘以该轴总长度即可得触摸点靠地那一端的坐标。
电容屏原理
相比于电阻屏,电容屏的优点是感应灵敏,支持多点触摸,更适合现代电子产品的需求。
给工作面通上一个很低的电压,当用户触摸屏幕时,手指头吸收走一个很小的电流,这个电流分从触摸屏四个角上的电极中流出,并且理论上流经这四个电极的电流与手指到四角的距离成比例,控制器通过对这四个电流比例的精密计算,得出触摸点的位置。
电阻屏代码编写
int xdata,ydata;#define ADCCON (*(volatile unsigned *)0x58000000) //ADC control#define ADCTSC (*(volatile unsigned *)0x58000004) //ADC touch screen control#define ADCDLY (*(volatile unsigned *)0x58000008) //ADC start or Interval Delay#define ADCDAT0 (*(volatile unsigned *)0x5800000c) //ADC conversion data 0#define ADCDAT1 (*(volatile unsigned *)0x58000010) //ADC conversion data 1/*interrupt registes*/#define SRCPND (*(volatile unsigned long *)0x4A000000)#define INTMSK (*(volatile unsigned long *)0x4A000008)#define INTOFFSET (*(volatile unsigned long *)0x4A000014)#define SUBSRCPND (*(volatile unsigned long *)0x4A000018)#define INTSUBMSK (*(volatile unsigned long *)0x4A00001c)#define INTPND (*(volatile unsigned long *)0x4A000010)void ts_init(){ //1. 设置AD转换时钟 ADCCON = (1<<14) | (49<<6); //2. 设置中断屏蔽位 INTMSK = ~(1<<31); INTSUBMSK = ~(1<<9); //3. 进入等待中断的模式 ADCTSC = 0xd3;}void tc_handler(){ //1. 启动xy坐标自动转换 ADCTSC = (1<<2); ADCCON |= (1<<0); //2. 等待转换完成 while (!(ADCCON & (1<<15))) //3. 获取坐标 xdata = ADCDAT0 & 0x3ff; ydata = ADCDAT1 & 0x3ff; //4. 清除按下中断 SUBSRCPND |= (1<<9); SRCPND = (1<<31); INTPND = (1<<31); //5. 进入等待弹起中断 ADCTSC = 0xd3; ADCTSC |= (1<<8); while(1) { if(SUBSRCPND &(1<<9)) break; } //6. 清除弹起中断 SUBSRCPND |= (1<<9); SRCPND = (1<<31); INTPND = (1<<31); printf("x is %d,y is %d\n",xdata,ydata); //7. 再次进入等待按下中断的状态 ADCTSC = 0xd3;}
阅读全文
0 0
- 触摸屏的使用
- STM32f103的触摸屏的设置与使用
- 使用ts_calibrate校准触摸屏
- 使用ts_calibrate校准触摸屏
- 使用ts_calibrate校准触摸屏
- 使用ts_calibrate校准触摸屏
- Linux下触摸屏的简单使用和配置
- directfb不能正常使用手机触摸屏的分析
- 使用J2ME技术实现手机触摸屏开发的方法
- 使用J2ME技术实现手机触摸屏开发的方法
- 使用J2ME技术实现手机触摸屏开发的方法
- 笔记本用户使用键盘时屏蔽触摸屏的方式
- mini2440的触摸屏驱动----使用input子系统实现
- 使用tslib来校准usb接口的触摸屏
- wince触摸屏的问题
- QT触摸屏的实现
- 触摸屏的参数设置
- 触摸屏的日常维护
- 简单RPC框架-基于Consul的服务注册与发现
- macbook下解决MyEclipse卡死后无法启动tomcat,8080或8009端口占用问题
- Android新特性介绍,ConstraintLayout完全解析
- linux上部署tomcat出现java heap堆内存溢出
- java 连接数据库 jdbc
- 触摸屏的使用
- Oracle列字符拆分
- System.Data.OleDb.OleDbException: 未指定的错误的完美解决方法
- 二进制的调试打印
- maven POM.xml 标签详解
- ZKUI中文编码以及以docker方式运行的问题
- 解决 Button 和 TabLayout 英文自动大写的问题
- http://blog.csdn.net/lmj623565791/article/details/38339817
- ngx_lua 模块