韦东山嵌入式Linux学习——017 ADC和触摸屏(1)-硬件原理介绍

ADC和触摸屏(1)——硬件原理介绍

  • 硬件平台:韦东山嵌入式Linxu开发板(S3C2440.v3)
  • 软件平台:运行于VMware Workstation 12 Player下UbuntuLTS16.04_x64 系统
  • 参考资料:开发版原理图,S3C2440A datasheet
  • 源码仓库:https://gitee.com/d_1254436976/Embedded-Linux-Phase-1

目录


一、硬件原理

1、ADC

在这里插入图片描述
  
  如上图所示,通过采集模拟量x,然后通过ADC转换,将模拟量x转换成数字量,其中得到的数字量并不是实际中我们所需要的,要通过公式计算将得到的数字量运算,得到实际中需要的数字量a.

  • ADC的分辨率
    指的是模数转换器所能表示的最大数是多少,即ADC的位数,如上图中的ADC是10位ADC,那么分辨率是2的10次方,即1024的分辨率。

  • 基准电压
    对于带AD的单片机内部会给你提供一个基准电压3.3V),其次AREF是单片机基准电压外部输复入引脚,也可以通过AREF去连接外部基准源。

2、触摸屏

在这里插入图片描述
  触摸屏硬件电路如图所示,是由两张“膜”上下拼接而成的,无触摸时,“膜”之间是有空隙的。

  1. 原理
    这个“膜”相当于一个滑动变阻器按下的位置就是读取该点的对地电压
    当按下时,X“膜”和Y“膜”会通过ADC转换得出两个电压值,通过公式可以根据电压值可以计算出该点的(x, y)坐标

  2. 等待中断模式
    此时触摸屏等待被按下,各个开关(通过寄存器控制开闭)的开闭与X/Y_ADC的高低电平情况如下图所示。
    在这里插入图片描述

  3. 读取X坐标等效电路
    当触摸屏被按下时,此时开关闭合状态如下,Y_ADC的电压高变为低(根据此设置按下中断)YP作为探针通过X_ADCADC转换得到蓝色点的电压值
    在这里插入图片描述

  4. 读取Y坐标等效电路
    当测量Y“膜”的电压时,此时开关闭合状态如下,XP作为探针通过Y_ADCADC转换得到蓝色点的电压值在这里插入图片描述

二、使用触摸屏流程

在使用触摸屏时,会有大致以下两种情况:按一下松开持续按着一段时间后松开,针对这两种情况,流程如下:

  1. 按下触摸屏,产生触摸中断
  2. 在触摸中断中,启动ADC
  3. ADC初始化完成后,产生中断
  4. 在ADC中断中,读取(x, y)坐标
  5. 启动定时器中断
  6. 定时器中断发生时,判断触摸屏是否被持续按下
  7. 若是继续执行 2 步骤,若无则判断为无按下,结束整个流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值