触摸屏学习
来源:互联网 发布:js 滚动字幕特效 编辑:程序博客网 时间:2024/05/30 23:04
1. 触摸屏分类
触摸屏作为一种输入设备,是目前最简单、方便的一种人机交互方式,具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。
从技术原理来区别触摸屏,可分为5类:
1.电阻式触摸屏
2.电容式触摸屏
3.红外线技术触摸屏
4.表面声波技术触摸屏
5.矢量压力传感技术触摸屏
2. 电阻屏工作原理
当手指触摸屏幕时,两个相互绝缘的导电层在触摸点处连接,顶层的5伏电压就会加到底层触摸点处,底层该点的电压会发生改变。
控制器检测到该点的变化后,将该点的电压进行A/D转换,得到的值与5伏相比,再乘以该轴总长度即可得触摸点靠地那一端的坐标
3.电容屏原理
相比于电阻屏,电容屏的优点是感应灵敏,支持多点触摸,更适合现代电子产品的需求。
给工作面通上一个很低的电压,当用户触摸屏幕时,手指头吸收走一个很小的电流,这个电流分从触摸屏四个角上的电极中流出,并且理论上流经这四个电极的电流与手指到四角的距离成比例,控制器通过对这四个电流比例的精密计算,得出触摸点的
位置。
4.初始化步骤
1.初始化:
①设置AD转换时钟
②中断屏蔽设置
③进入等待中断模式(按下)
2.TC中断处理(按下)
①启动XY坐标自动转化
②等待转化完成,获取坐标
③清除中断
④进入等待TC中断模式(弹起)
⑤清除弹起中断
⑥进入等待中断模式(按下)
差了几个或居然就起不来
触摸屏作为一种输入设备,是目前最简单、方便的一种人机交互方式,具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。
从技术原理来区别触摸屏,可分为5类:
1.电阻式触摸屏
2.电容式触摸屏
3.红外线技术触摸屏
4.表面声波技术触摸屏
5.矢量压力传感技术触摸屏
2. 电阻屏工作原理
当手指触摸屏幕时,两个相互绝缘的导电层在触摸点处连接,顶层的5伏电压就会加到底层触摸点处,底层该点的电压会发生改变。
控制器检测到该点的变化后,将该点的电压进行A/D转换,得到的值与5伏相比,再乘以该轴总长度即可得触摸点靠地那一端的坐标
3.电容屏原理
相比于电阻屏,电容屏的优点是感应灵敏,支持多点触摸,更适合现代电子产品的需求。
给工作面通上一个很低的电压,当用户触摸屏幕时,手指头吸收走一个很小的电流,这个电流分从触摸屏四个角上的电极中流出,并且理论上流经这四个电极的电流与手指到四角的距离成比例,控制器通过对这四个电流比例的精密计算,得出触摸点的
位置。
4.初始化步骤
1.初始化:
①设置AD转换时钟
②中断屏蔽设置
③进入等待中断模式(按下)
2.TC中断处理(按下)
①启动XY坐标自动转化
②等待转化完成,获取坐标
③清除中断
④进入等待TC中断模式(弹起)
⑤清除弹起中断
⑥进入等待中断模式(按下)
- #define ADCCON (*(unsigned long*) 0x58000000)
- #define ADCTSC (*(unsigned long*) 0x58000004)
- #define ADCDAT0 (*(unsigned long*) 0x5800000C)
- #define ADCDAT1 (*(unsigned long*) 0x58000010)
- #define SRCPND (*(unsigned long*) 0X4A000000)
- #define INTMSK (*(unsigned long*) 0X4A000008)
- #define INTPND (*(unsigned long*) 0X4A000010)
- #define SUBSRCPND (*(unsigned long*) 0X4A000018)
- #define INTSUBMSK (*(unsigned long*) 0x4A00001C)
- int xdata, ydata;
- 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
上一篇:LCD学习
下一篇:GDB和coredump
相关热门文章
- SHTML是什么_SSI有什么用...
- 查看linux中某个端口(port)...
- 卡尔曼滤波的原理说明...
- shell中字符串操作
- 关于java中的“错误:找不到或...
给主人留下些什么吧!~~
评论热议
阅读全文
0 0
- 触摸屏学习
- tq2440触摸屏-学习笔记
- 触摸屏驱动学习
- wince 触摸屏 学习
- android触摸屏事件学习
- 触摸屏驱动学习笔记 一
- Linux触摸屏驱动学习,mini2440
- ARM学习之触摸屏实验
- 触摸屏应用程序阻塞学习笔记
- OK6410之触摸屏的学习
- ok6410学习之触摸屏篇
- ok6410学习之触摸屏篇
- 触摸屏
- 触摸屏
- 触摸屏
- 触摸屏
- 触摸屏
- 触摸屏
- DMA学习
- 像素深度BPP
- 设置使Linux下双击文件夹时不要每次都打开一个新窗口
- 大学IT类社团主页
- LCD学习
- 触摸屏学习
- spring boot environmentaware接口实现环境变量读取和属性对象的绑定
- GDB和coredump
- Linux应用程序地址布局
- 静态函数库、动态链接库设置
- css技巧—图片配文字
- linux应用编程学习(6)信号
- 通过自定义属性添加样式(css+js,动态判断背景颜色)
- 信号量的互斥与同步
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
东南大学宣讲会
安徽大学宣讲会
宣讲报告会主持词
广西大学宣讲会
清华大学宣讲会
中南民族大学宣讲会
普华永道2014宣讲会
华南理工大学宣讲会
宣读
宣读音
宣读的意思
结婚神父宣读的誓词
宣怎么读
宣赞
宣酒
宣酒价格表
宣酒6年
宣酒6
宣酒价格
安徽宣酒
宣酒5年价格
6年宣酒价格
宣酒集团
宣酒图片
宣酒代理商
宣酒特贡
宣酒芝麻香
宣酒批发
宣酒代理
5年宣酒价格
宣酒怎么样
宣酒小窖
宣酒5年窖藏
宣酒包装
宣酒产地
三星宣酒
宣酒10年
宣酒6年多少钱一瓶
宣酒文化博物馆旅游
宣酒价格表和图片
安徽宣酒集团股份有限公司