简介

 模数转换器(ADC)是SAR结构1,具有10个输入源,最高4096阶分辨率,将模拟信号传输到12位数字缓冲器。ADC建立在10通道输入源中,以测量10种不同的模拟信号源。ADC分辨率为12位。ADC具有四个时钟速率来决定ADC转换速率。ADC参考电压包括5个源。四个内部参考电源包括VDD,4V,3V和2V。另一个是来自AVREFH引脚的外部参考电压输入引脚。ADC在P1CON/PUCON寄存器中建立,以设置纯模拟输入引脚。ADC和ADS位设置后,ADC开始将模拟信号转换为数字数据。除了ADS位可以开始转换模拟信号外,PW1EN还具有转换模拟信号的ADC功能。ADC可以在空闲模式下工作。ADC运行后,如果中断启用,系统将从绿色模式唤醒到正常模式。

ADC的配置流程

在开始ADC转换之前,必须完全设置这些配置,使用以下步骤配置ADC:

  • 1、选择并启用转换开始ADC输入通道。 (通过CHS [3:0]位和GCHS位)
  • 2、必须将ADC输入通道的GPIO模式设置为输入模式。 (通过PnM寄存器)
  • 3、必须禁止ADC输入通道的内部上拉电阻。 (通过PnUR寄存器)
  • 4、必须设置ADC输入通道的配置控制位。 (通过PnCON寄存器)
  • 5、选择ADC高参考电压。 (通过VREFH寄存器)
  • 6、选择ADC时钟速率。 (通过ADCKS [1:0]位)
  • 7、设置ADENB位后,ADC准备将模拟信号转换为数字数据。


所以配置流程变成代码就是:

void InitAD(void)
{// 设置通道ADM = 0x80;          // bit7置1使能ADC通道,低功耗模式下通过bit7置0来禁止ADC通道以降低功耗ADM |= 0x02;         // 低四位是ADC通道,P12、AIN2,具体参考ADC输入通道// 设置时钟频率ADR = 0x40;ADR |= 0x00;         // 00 = fosc/16, 01 = fosc/8, 10 = fosc/1, 11 = fosc/2 // 设置参考电压源VREFH = 0x00;        // bit内部参考电压VREFH |= 0x02;       // 内部参考电压4V// 输入引脚配置P1CON |= 0x0c;        //P2CON |= 0;
}

开始转换

 当ADENB位使能ADC IP时,需要通过程序进行ADC启动。除ADS位可以开始转换模拟信号外,PW1EN还具有转换模拟信号ADC功能。转换可以通过以下方式之一启动:

● 向寄存器ADM的ADS位写入1
● 当ADPWS位为“1”时,PWM1使能。

 在设置ADENB和ADS位后,ADC开始将模拟信号转换为数字数据。转换完成后,ADS位复位为逻辑0.当转换完成时,ADC电路将EOC和ADCF位设置为“1”,数字数据输出设置为ADB和ADR寄存器。如果ADC中断功能使能(EADC = 1),ADC转换后,当ADCF为“1”时,ADC中断请求发生并执行中断服务程序。在中断过程中需要通过程序清除ADCF。
注意,当ADPWS位为“1”时,如果将PWM使能触发用作转换源,则ADC将持续转换,直到禁用PWM。

ADC输入通道

 ADC内置10通道输入源(AIN0 - AIN9),用于测量由CHS [3:0]和GCHS位控制的10个不同模拟信号源.AIN1为内部2V或3V或4V输入通道。外面没有任何输入引脚。此时ADC参考电压必须是内部VDD和外部电压,而不是内部2V或3V或4V。 AIN10可以成为电池系统的良好电池检测器。为了选择合适的内部AVREFH电平并比较值,系统内置了一个高性能,低成本的低电池检测器。

ADC输入通道:

以下为ADC外设的电气特性表:


 由上表可以看到,参考电压的使用,比如在 Viref 选择 内部2V参考电压、VDD为5V时,参考电压有正负0.04V的电压漂移。


  1. 逐次逼近寄存器型(SAR)模拟数字转换器(ADC)是采样速率低于5Msps (每秒百万次采样)的中等至高分辨率应用的常见结构。SAR ADC的分辨率一般为8位至16位,具有低功耗、小尺寸等特点。这些特点使该类型ADC具有很宽的应用范围,例如便携/电池供电仪表、笔输入量化器、工业控制和数据/信号采集等。 ↩︎

松翰单片机--SN8F5702学习笔记(四)ADC相关推荐

  1. STM32F103学习笔记四 时钟系统

    STM32F103学习笔记四 时钟系统 本文简述了自己学习时钟系统的一些框架,参照风水月 1. 单片机中时钟系统的理解 1.1 概述 时钟是单片机的脉搏,是单片机的驱动源 用任何一个外设都必须打开相应 ...

  2. STM32F407霸天虎HAL库学习笔记——使用ADC采集MQ135的数据并通过OLED显示

    STM32F407霸天虎HAL库学习笔记--使用ADC采集MQ135的数据并通过OLED显示 一.软件准备 二.硬件准备 三.CubeMX配置 四.Keil MQ135.c MQ135.h main函 ...

  3. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  4. IOS学习笔记(四)之UITextField和UITextView控件学习

    IOS学习笔记(四)之UITextField和UITextView控件学习(博客地址:http://blog.csdn.net/developer_jiangqq) Author:hmjiangqq ...

  5. RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决)

    RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) 参考文章: (1)RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) (2)https://www.cnblogs. ...

  6. JSP学习笔记(四十九):抛弃POI,使用iText生成Word文档

    POI操作excel的确很优秀,操作word的功能却不敢令人恭维.我们可以利用iText生成rtf文档,扩展名使用doc即可. 使用iText生成rtf,除了iText的包外,还需要额外的一个支持rt ...

  7. Ethernet/IP 学习笔记四

    Ethernet/IP 学习笔记四 EtherNet/IP Quick Start for Vendors Handbook (PUB213R0): https://www.odva.org/Port ...

  8. OpenCV学习笔记四-image的一些整体操作

    title: OpenCV学习笔记四-image的一些整体操作 categories: 编程 date: 2019-08-08 12:50:47 tags: OpenCV image的一些操作 sP4 ...

  9. 吴恩达《机器学习》学习笔记四——单变量线性回归(梯度下降法)代码

    吴恩达<机器学习>学习笔记四--单变量线性回归(梯度下降法)代码 一.问题介绍 二.解决过程及代码讲解 三.函数解释 1. pandas.read_csv()函数 2. DataFrame ...

  10. esp8266舵机驱动_arduino开发ESP8266学习笔记四—–舵机

    arduino开发ESP8266学习笔记四-–舵机 使用时发现会有ESP8266掉电的情况,应该是板上的稳压芯片的限流导致的,观测波形,发现当舵机运转时,电源线3.3V不再是稳定的3.3V,大概是在3 ...

最新文章

  1. python 画柱状图-Python 使用 matplotlib 画柱状图教程
  2. 从ICCV 2021看夜间场景自监督深度估计最新进展
  3. C# HSSFWorkbook与XSSFWorkbook的区别和.xls和.xlsx的区别
  4. dependency in POM.xml will lead to jQuery.sap.require
  5. nvidia控制面板点了没反应win7_为什么没有nvidia控制面板_win7没有nvidia控制面板怎么找回-系统城...
  6. P2179-[NOI2012]骑行川藏【导数,二分】
  7. LeetCode 535. TinyURL 的加密与解密(哈希)
  8. python的重点_python知识点
  9. [AHOI2004]数字迷阵 结论+矩乘
  10. 首次击败美国!2019《财富》世界500强公布:129家中国公司上榜
  11. python 编译 pyc
  12. 从 2,000 到 25,000 工程师,微软开源如何制霸 GitHub?
  13. Hadoop大数据环境搭建保姆级教程(完整版)
  14. 活动预约报名小程序已优化点与待优化点
  15. java开发面试项目经验
  16. Altium Designer安装教程,适合小白的一键安装,简单明了,傻瓜式安装
  17. Java Map排序
  18. SpringBoot 2.X 整合 druid + dynamic-datasource 多数据源方案
  19. 第2章 大数据可视化基础
  20. AirTag被不法分子滥用为恶意追踪工具?苹果:即将更新解决

热门文章

  1. css图片插入文字,利用css布局在图片插入文字
  2. 对比7种分布式事务方案,还是偏爱阿里开源的Seata,真香!(原理+实战)
  3. 最新2022中国大学排名发布!
  4. MTK G-sensor 1
  5. 常用的20个js简洁代码
  6. try catch promise.reject
  7. DSP28377 I2C开发笔记
  8. 几何光学学习笔记(35)- 7.6 CIE标准色度学系统
  9. 色度抽样(4:2:0)到底是什么意思?
  10. linux 系统频率,[求助]Linux中的“超出显示频率范围”问题