查看原文
其他

STM32最小系统板教程第三章第6讲|STM32 ADC实验

电子开发学习 电子开发学习 2021-01-31

置顶公众号,不错过每一讲内容。




完整课程体系(公众号每日更新一讲):



本讲知识点:ADC简介、电压采集实验




3.6.1   ADC简介

ADC又称为模拟数字转换器,本款STM32芯片共有两个ADC可供用户配置使用,分别为ADC1和ADC2。本芯片的ADC是一种12位的逐次逼近型的ADC,有多达18路通道,可测量16路外部信号和2路内部信号源。每个通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的转换结果可以左对齐或右对齐的方式存储在16位数据寄存器中。

 

图3-6-1 ADC的时钟

 

由《STM32F10xxx参考手册》第56页,时钟树系统框图可以知道,ADC的外设时钟最大为14MHz,所以我们在配置它的时钟时应该注意,否则会导致转换不准确。


3.6.2   ADC电压采集


本讲实验是通过配置ADC1的通道0来测量外部电压信号,ADC的通道与GPIO引脚对应关系通过《STM32F103c8t6数据手册》第17页查表可知,本讲所用的通道0就对应PA0引脚。

 

图3-6-2ADC通道与GPIO对应表

 

一如既往,我们在上一讲的基础上添加adc.c、adc.h文件,并加入ADC的库函数,贴图如下:

 

图3-6-3 添加ADC相关文件

 

我们继续在adc.c中编写ADC的初始化程序,配置贴图如下:

 

图3-6-4 ADC1,通道0配置

 

图3-6-5 主函数程序编写

 

图3-6-6 仿真器与最小系统接线图

 

接线时,杜邦线的一端接PA0引脚,另一端接所需测量的电压信号,由于我们的板子上有3.3V电源和GND,因此可以测量这两路信号源,虽然板载有5V电源,但不建议测5V电源,很有可能烧掉单片机。程序编译无误后下载到我们的板子上,打开串口助手查看打印信息:

 

图3-6-7 测量3.3V电压信号

 

图3-6-8 测量GND信号

 

根据实验可以看出,测量的结果还是比较准确的。好了本讲的内容就到这里,大家动手实践一下吧


视频课程(点击文末左下角“阅读原文”,可看高清视频):

https://v.qq.com/txp/iframe/player.html?vid=l073639rtnr&width=500&height=375&auto=0


最小系统板的购买链接(复制到淘宝打开即可):

https://item.taobao.com/item.htm?&id=573256065703


elink32仿真器购买链接(复制到淘宝打开即可):

https://item.taobao.com/item.htm?&id=558334383550


课程系列回顾:


STM32最小系统板教程第一章|开发板资源介绍

STM32最小系统板教程第二章|软件开发环境的介绍与安装

STM32最小系统板教程第二章第2讲|工程模板的搭建

STM32最小系统板教程第三章第1讲|从“点灯”入门STM32

STM32最小系统板教程第三章第2讲|STM32时钟系统及实现准确延时

STM32最小系统板教程第三章第3讲|STM32 UART串口通信

STM32最小系统板教程第三章第4讲|STM32 按键实验

STM32最小系统板教程第三章第5讲|STM32 定时器实验

STM32最小系统板教程第三章第6讲|STM32 ADC实验(就是本文)


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存