基于STM32单片机模块练习——ADC功能框图

这篇博客介绍了ADC(模拟-to-数字转换器)的功能,包括电压输入范围的调整、输入通道选择和转换顺序。内容提到了ADC的触发源、转换时间和采样率限制,并指出在多通道采集时建议使用DMA进行数据传输。同时,强调了双ADC模式下ADC1和2的使用,并提示ADC2不支持DMA。中断和电压转换过程也是讨论的重点。
摘要由CSDN通过智能技术生成

ADC功能框图

ADC简介

在这里插入图片描述
并不是每种单片机的三个ADC都有16个外部通道。具体参数看单片机选型手册。

ADC功能框图

电压输入范围

在这里插入图片描述
要测的外部电压如果超出0~3.3V的电压呢?
通过外部电路把输入电压转换到规定范围。

输入通道

在这里插入图片描述
具体型号的单片机要查看在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通道转换顺序:
在这里插入图片描述
在这里插入图片描述

触发源

在这里插入图片描述

转换时间

在这里插入图片描述
ADC——CLK一般由PCLK2(72M)经过6分频(12M)得到。
在这里插入图片描述
在这里插入图片描述
采样率<1M.
在这里插入图片描述
在这里插入图片描述
独立模式指的是,只使用 ADC1或2或3.
高16bit是双ADC模式下存储数据的。
note:双ADC模式只能是ADC1和2同时使用。

如果是多通道采集,最好使用DMA传输。分别把所有通道的数据搬运到数组变量里。
note:ADC2不具有DMA功能。

在这里插入图片描述

中断

在这里插入图片描述

电压转换

在这里插入图片描述

紫外线探测仪是一种用于检测紫外线辐射的仪器。它广泛应用于许多领域,如医学、环境监测、化学分析等。本文将介绍基于stm32单片机的紫外线探测仪的设计过程。 一、硬件设计 1.紫外线传感器 紫外线传感器是紫外线探测仪的核心部件,它能够将光能转化为电信号输出。常用的紫外线传感器有光电二极管、硅光电池、石英玻璃光管等。本设计采用的是硅光电池,其特点是灵敏度高,响应速度快,成本低廉。 2.滤光片 由于紫外线的波长范围广,为了提高紫外线传感器的选择性,需要在光路中加入一个滤光片,以滤除不需要的波长。常用的滤光片有钴玻璃、石英玻璃等。本设计采用的是石英玻璃滤光片。 3.放大电路 为了提高紫外线传感器的信号输出,需要设计一个放大电路。本设计采用的是运算放大器放大电路,其具有放大倍数高、精度高等优点。 4.显示电路 为了方便用户观察测量结果,需要设计一个显示电路。本设计采用的是128×64点阵液晶显示屏,能够显示测量结果和一些基本参数。 二、软件设计 1.系统框图 本系统的软件框图如下所示: ![image-20210928170119167](https://gitee.com/liuyang0001/blogimage/raw/master/img/image-20210928170119167.png) 2.程序流程 主程序流程如下所示: ``` while(1) { ReadSensor(); //读取传感器数据 Calculate(); //计算紫外线强度 Display(); //显示测量结果 } ``` 3.关键代码 读取传感器数据的代码如下所示: ``` u16 ReadSensor(void) { u16 adc_value; ADC_Cmd(ADC1, ENABLE); //使能ADC1 ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5); //配置ADC通道0 ADC_SoftwareStartConv(ADC1); //开始转换 while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)); //等待转换完成 adc_value = ADC_GetConversionValue(ADC1); //读取转换结果 return adc_value; } ``` 计算紫外线强度的代码如下所示: ``` float Calculate(void) { float uv_value; u16 adc_value = ReadSensor(); uv_value = (float)adc_value / 4096 * 3.3 / 0.1; //计算紫外线强度 return uv_value; } ``` 显示测量结果的代码如下所示: ``` void Display(float uv_value) { char buf[16]; LCD_Clear(); //清屏 sprintf(buf, "UV Value: %.2f", uv_value); //格式化字符串 LCD_ShowString(0, 0, buf); //显示字符串 } ``` 三、总结 本设计基于stm32单片机实现了紫外线探测仪的设计,具有测量精度高、响应速度快、成本低廉等优点。在实际应用中,还可以进一步优化设计,提高系统的可靠性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ღ 金龍戲水 ღ

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值