转载:http://www.rationmcu.com/elecjc/1874.html

今天给大家简单介绍一下ADC器件的常识。

ADC,模数转换器,功能是把模拟电压转换成数字量。

概念听的模糊,说点实际的吧:把你要测的电压那条线,连接到ADC的用来测试电压的引脚上,ADC模块就会检测到这个电压,并且自动转换成一个数字,我们读出这个数字,然后知道这个数字和电压的对应关系,就可以知道现在的电压是多大了。

有些单片机内部有ADC模块,在单片机外部引出测试用的ADC引脚。

有些单片机内部没有ADC模块,可以用单独的ADC芯片,单独的ADC芯片一般留有与单片机通信的接口,常见的是8位并口、I2C口、SPI口。单片机通过通信接口与外部ADC模块连接读取ADC芯片的转化值。

分辨率

不管是单片机内部的ADC,还是独立的ADC芯片,都有一个分辨率指标。

一般的分辨率有8位、10位、12位、16位、24位。

先要知道,位就是bit,就是计算机界是最小的单位,8个位是1个字节。

8位数字,最大值就是255,范围从0~255。

10位数字,最大值就是1023,范围从0~1023。

12位数字,最大值就是4095,范围从0~4095。

14位数字,最大值就是16383,范围从0~16383。

16位数字,最大值就是65535,范围从0~65535。

24位数字,最大值就是16777215,范围从0~16777215。

为什么“位”可以表示分辨率?

假设一个我们要测一个0~5V的电压信号。

用8位分辨率的ADC测,输入电压是0V时,得到的数字是0,输入电压是5V时,得到的数字是255。

用12位分辨率的ADC测,输入电压是0V时,得到的数字是0,输入电压是5V时,得到的数字是4095。

8位的ADC,得到的数字每增加1,实际上电压增加5/256=0.0195V。

16位的ADC,得到的数字每增加1,实际上电压增加5/4096=0.0012V。

假设,现在要测一个0.015V的电压,8位的ADC得到的数字,就是1,当你得到1的时候,只能认为是1*5/256=0.0195V的电压。

那如果用12位的ADC测0.015V的电压的话,得到的数字就是12或者13,如果是12的话,我们转化一下,就会认为是12*5/4096=0.0147V,如果得到的数字是13的话,我们转一下,就会认为是13*5/4095=0.0159V。

对比一下数字,就可以看出来,位数越高的分辨率,就可以测得更精确的电压。

ADC分辨率的更多相关文章

  1. ADC 分辨率和精度的区别

    分辨率和精度这两个,经常拿在一起说,才接触的时候经常混为一谈.对于ADC来说,这两样也是非常重要的参数,往往也决定了芯片价格,显然,我们都清楚同一个系列,16位AD一般比12位AD价格贵,但是同样是1 ...

  2. ADC 分辨率和精度的区别(转载)

    转自:http://hi.baidu.com/jnjypbpuhkbajmq/item/8a6b472ae86dcc69469962b7 分辨率和精度这两个,经常拿在一起说,才接触的时候经常混为一谈. ...

  3. 利用过采样技术提高ADC测量微弱信号时的分辨率

    1. 引言 随着科学技术的发展,人们对宏观和微观世界逐步了解,越来越多领域(物理学.化学.天文学.军事雷达.地震学.生物医学等)的微弱信号需要被检测,例如:弱磁.弱光.微震动.小位移.心电.脑电等[1 ...

  4. HAL驱动库学习-ADC

    如何使用ADC驱动库 1  实现如下两个函数     a: HAL_ADC_MspInit()使能ADC时钟,设置时钟源, 使能ADC Pin,设置为输入模式,可选 DMA,中断     b:HAL_ ...

  5. STM32F207 两路ADC连续转换及GPIO模拟I2C给MT9V024初始化参数

    1.为了更好的方便调试,串口必须要有的,主要打印一些信息,当前时钟.转换后的电压值和I2C读出的数据. 2.通过GPIO 模拟I2C对镁光的MT9V024进行参数初始化.之前用我以前公司SP0A19芯 ...

  6. Micropython TPYBoard ADC的使用方法

    基本用法 import pybadc = pyb.ADC(Pin('Y11')) # create an analog object from a pinadc = pyb.ADC(pyb.Pin.b ...

  7. 定时器同步+触发三ADC采样+输出6路PWM波

    为了熟悉定时器定时器和ADC 用STM32F407DIS做了一个简单的工程: 通过高级定时器TIM1溢出更新时间作为触发输出信号(TRGO),触发TIM8开始计数: 同时TIM1的通道1.2.3以及分 ...

  8. DAC杂谈二 ——ADC和DAC常用技术术语

    采集时间 采集时间是从释放保持状态(由采样-保持输入电路执行)到采样电容电压稳定至新输入值的1 LSB范围之内所需要的时间.采集时间(Tacq)的公式如下: 混叠 根据采样定理,超过奈奎斯特频率的输入 ...

  9. 第30章 ADC—电压采集—零死角玩转STM32-F429系列

    第30章     ADC—电压采集 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fireg ...

随机推荐

  1. centos 禁用ip v6

    #  sysctl -w net.ipv6.conf.all.disable_ipv6=1 #  sysctl -w net.ipv6.conf.default.disable_ipv6=1 #  s ...

  2. PLsql的汉化工具

    链接:https://pan.baidu.com/s/19J-px5I_7qcMb5CHDwJZZQ 密码:pr89

  3. linux服务器常用操作和命令

    1. 什么是linux服务器load average? Load是用来度量服务器工作量的大小,即计算机cpu任务执行队列的长度,值越大,表明包括正在运行和待运行的进程数越多.参考资料:http://e ...

  4. 比较 CEILING 和 FLOOR

    CEILING 函数返回大于或等于所给数字表达式的最小整数. FLOOR 函数返回小于或等于所给数字表达式的最大整数. 例如,对于数字表达式  12.9273,CEILING 将返回 13,FLOOR ...

  5. Django(九)模型:dj查询数据库的函数(方法)

    一.查询函数 通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询. 函数表 函数名 功能 返回值 说明 get 返回表中满足条件的一条且只能有一条数据. 返回值是一个模型类 ...

  6. 强制数据类型转换 字符串/数字/boolean

    类型转换主要指,将其他数据类型转换为(String.Number.Boolean) 类型转换有显式类型转换 和隐式类型转换 显式类型转换 1.1转换为string 调用数据的 toString() 方 ...

  7. 学习进度05(billbill长评爬取02)

    今天下雪了,是个看<白色相簿2>的好日子. 昨天我们获取所有长评url,今天要解析这些url获取更多的信息随便,点开一个,我们需要的数据有标题,时间,内容.点赞数和评论先不弄了. 解析js ...

  8. HihoCoder第十一周:树中的最长路

    #1050 : 树中的最长路 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到,小Ho得到了一棵二叉树玩具,这个玩具是由小球和木棍连接起来的,而在拆拼它的过程中, ...

  9. Azure Container Registry-基于开源 Docker Registry 的专用 Docker 注册表服务

    本文语雀知识库:https://www.yuque.com/seanyu/azure/acr 概述 Azure 容器注册表(Azrue Container Registry,简称ACR)是 Azure ...

  10. C#当前程序路径获取

    //获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (. ...