zoukankan      html  css  js  c++  java
  • ADC分辨率

    转载: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。

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

  • 相关阅读:
    ChinaCock界面控件介绍-CCLoadingIndicator
    delphi-search-path-vs-library-path-vs-browsing-path
    10.3制作Android Splash启动界面
    FMX取得屏分辨率
    REST easy with kbmMW #20 – OpenAPI and Swagger UI
    升级ChinaCock 10.3遇到的问题
    FastJson中的ObjectMapper对象的使用详解
    fastjson的值过滤器ValueFilter
    springboot 2.0 配置 spring.jackson.date-format 不生效
    War 包部署
  • 原文地址:https://www.cnblogs.com/conglinlixian/p/9858215.html
Copyright © 2011-2022 走看看