写在前面

最近请教了一位前辈,终于搞明白用AD做按键扫描转换值的计算方法,这里写一篇博客加深下印象顺便给大伙儿分享一下。
  总的来说,无论是用AD扫描按键还是用AD检测温度,湿度,亮度……原理都是利用电阻值不同来使转换出来的AD值不同,然后在程序中对这些值做判断从而识别出是哪一个按键按下或是温度等数值。
  还是用上篇博客的按键扫描来做举例,电路图如下:
  CN7这边,每条线都是通过串联一个10K的电阻到VCC,以一个AD扫描口做分析,四个按键通过导线或电阻连接到单片机IO口,同时还通过一个10K的电阻连接到VCC,这样按键这条路与10K的电阻就会分压,然后单片机IO口通过检测电压的大小来转换成一个相应的AD值,计算的式子为Vout=VCC*[Rx/(Rx+10K)],其中Rx代表的是与按键串联的分压电阻+按键内阻(忽略不计)。
  这样假设我们什么键也没有按下,相当于IO口直接接了一个上拉电阻到VCC上,单片机IO口被置为高电平,电压理论上为5V,AD转换出来的值也为最大值255(基准值为VCC)
  如果按下了10K的按键,这时候Rx大约为1/2VCC,单片机IO口检测出来的电压也大约只有1/2VCC,所以按照比例,转换出来的八位数据为256*1/2=128。
  同理39K则为(39/(39+10))*256=203……如果按下了没有串联分压电阻的那一路按键,因为输入IO口的电压为0,那么转换出来的值就直接为0
  其他的类似热敏,光敏……都是根据不同的温度,亮度……阻值不一样来给单片机IO口送入不同大小的电压,使值区分从而对应到温度或是其他我们需要得到的值。
  下面是一个热敏电阻接到单片机IO口做AD检测电路,是一个典型的分压电路,VCC-热敏电阻-同热敏电阻阻值的精密电阻-GND,然后中间拉出一根到IO口的线,当热敏电阻组织最大为100K的时候,输入电压就是1/2 VCC,这时候为了精度,MCU内部选择基准值的时候就要尽量接近1/2VCC,最好是略大一点点,这样就可以把误差尽量减小。
  

AD按键扫描中串联电阻转换值的计算方法相关推荐

  1. 哈希表中哈希值的计算方法

    哈希表是一个数组 ​ 哈希函数将任意类型一个键转换为数组中的索引,一般来说键和索引应为一一对应的关系,但是现实过程中很难达到这种关系所以就会产生哈希冲突,哈希冲突是指不同的键通过相同的哈希函数最终转换 ...

  2. c语言中ch1和ch2是什么意思,2020-05-26(C语言)1.将串str中所有值为ch1的字符转换成ch2的字符,如果str为空串,或者串中不含值为ch1的字符,则什么都不做.2.逆转函数...

    //1.将串str中所有值为ch1的字符转换成ch2的字符,如果str为空串,或者串中不含值为ch1的字符,则什么都不做.2.逆转函数 include include define MAXLEN 25 ...

  3. 以STC的单片机为例A/D做按键扫描应用原理介绍

    以STC单片机为例A/D做按键扫描应用原理介绍 矩阵按键扫描或者是多个按键扫描,我们通常想到的可能大多是通过多个IO口来搭建按键扫描电路,例如下面的4X4矩阵按键,今天来介绍的是通过引入模拟量信号采集 ...

  4. opengl正方形绕点旋转_中考热点:再说旋转动点问题中的最值问题之提分攻略

    初中几何三大解题思想:平移.对称.旋转.旋转算是其中最高阶的解题思想,用到压轴的几何题中,难度最大,尤其旋转动点问题中的最值问题更是与众不同,一般题目有一定难度,解题方法灵活多变.从选择到填空.解答的 ...

  5. 计算机键盘是编码键盘还是非编码键盘,矩阵按键原理图_矩阵按键扫描实例

    键盘分编码键盘和非编码键盘.键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如计算机键盘.而靠软件编程来识别的称为非编码键盘. 在一般嵌入式应用中,用的最多的是非编码键盘 ...

  6. 详解MTK系统中字符转换问题

    详解MTK系统中字符转换问题 2011-09-05 19:02 佚名 互联网 字号:T | T MTK系统中字符转换问题是本文要介绍的内容,主要是来了解并学习MTK中一些小案例的应用,具体内容来看本文 ...

  7. 【摘录】MTK按键扫描原理及相关代码

    一.MTK按键扫描原理: 不同的MTK平台内部提供的按键数目各有不同,但是扫描原理大致一样,这里以MTK6253为例来讲解记录. MTK提供6*7共42个矩阵键盘,加上Power键总共43个按键,其中 ...

  8. 3、按键扫描检测处理

    说明:本文处理按键的短按.长按检测执行,非矩阵按键 硬件可以类似如下连接即可,无需放置上下拉电阻: 按键动作分长按.短按(弹起时执行)两种 按下不放执行长按,但松开按键时不予执行短按函数 多个按键可以 ...

  9. 2.8 STM32_按键扫描_安富莱

    1.程序优点 扩展性非常强,功能比较齐全: bsp_key按键驱动程序用于扫描独立按键,具有软件滤波机制,采用FIFO机制保存键值.可以检测如下事件: 按键按下. 按键弹起. 长按键. 长按时自动连发 ...

  10. 按键扫描——74HC164驱动(一)

    前言:在做MCU的外部按键扫描时,74HC164是一种不错的选择.笔者在使用它的过程中,遇到了一些问题,在这里整理记录下. 74HC164的特性 如下图所示,74HC164是 8 位边沿触发式移位寄存 ...

最新文章

  1. python代码转换为pytorch_Pytorch中Tensor与各种图像格式的相互转化详解
  2. Java记录 -22- Java的基类Object详解
  3. JavaEE开发之Spring中的依赖注入与AOP编程
  4. 柳传志给年轻人的建议:比起过日子,更要奔日子
  5. FreeSql.Generator命令行代码生成器是如何实现的
  6. Doris之BE的所有配置项(全面)
  7. GO语言学习之路26
  8. NYOJ--13--Fibonacci数
  9. 近日,百度《互联网从业人员单身情况调查报告》新鲜出炉,调查人群是日前火了一把的西二旗互联网从业者(转载)
  10. 幼儿-综合素质【8】
  11. python通过周数得到日期_python中根据时间获取周数,通过周数获取时间
  12. 一个指针占几个字节?原理是什么呢?
  13. 5.19 对学生按姓名进行随机排序 [原创Excel教程]
  14. 每日一题 | 数学神童的红眼睛与蓝眼睛问题
  15. office文件转换为pdf文件
  16. 记账APP:小哈记账2——注册页面的制作
  17. APP自动化测试之录制脚本:3.运行录制的脚本
  18. qt 嵌入式linux 环境变量设置
  19. 用c语言编写rfid读卡系统,USB免驱RFID读写器编程解析之一:智能卡篇
  20. 花生日记,购物省钱还能赚钱,淘宝天猫优惠券一网打尽!2018,你还打算将错就错继续做微商吗?...

热门文章

  1. java毕业设计大学生体检管理系统Mybatis+系统+数据库+调试部署
  2. 汽车抛负载瞬态7637-5A/5B测试,您不知道的都在这里
  3. 深入学习OpenCV检测及分割图像的目标区域
  4. 使用wireshark抓包软件分析微信协议--zucc
  5. 数据库原理课后作业答案 第七章
  6. 科技文献检索——(十二)
  7. 数字滤波器的研究背景
  8. from PyQt4 import QtGui,QtCore出错
  9. logit回归模型假设_logistic回归模型分析
  10. js获取当前html路径,JavaScript获取当前url根目录(路径)