2024年3月23日发(作者:)
word格式-可编辑-感谢下载支持
STM32 ADC电压测试实验报告
一、实验目的
1.了解STM32的基本工作原理
2. 通过实践来加深对ARM芯片级程序开发的理解
3.利用STM32的ADC1通道0来采样外部电压值值,并在TFTLCD模块上显示出来
二、实验原理
STM32拥有1~3个ADC,这些ADC可以独立使用,也可以使用双重模式(提高采样率)。STM32
的ADC是12位逐次逼近型的模拟数字转换器。它有18个通道,可测量16个外部和2个内部信号
源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方
式存储在16位数据寄存器中
接下来,我们介绍一下执行规则通道的单次转换,需要用到的ADC寄存器。第一个要介绍的是
ADC控制寄存器(ADC_CR1和ADC_CR2)。ADC_CR1的各位描述如下:
ADC_CR1的SCAN位,该位用于设置扫描模式,由软件设置和清除,如果设置为1,则使用扫描
模式,如果为0,则关闭扫描模式,ADC_CR1[19:16]用于设置ADC的操作模式
我们要使用的是独立模式,所以设置这几位为0就可以了。
第二个寄存器ADC_CR2,该寄存器的各位描述如下:
word格式-可编辑-感谢下载支持
ADCON位用于开关AD转换器。而CONT位用于设置是否进行连续转换,我们使用单次转换,所以CONT
位必须为0。CAL和RSTCAL用于AD校准。ALIGN用于设置数据对齐,我们使用右对齐,该位设置为0。
EXTSEL[2:0]用于选择启动规则转换组转换的外部事件,我们这里使用的是软件触发(SWSTART),所以
设置这3个位为111。
第三个要介绍的是ADC采样事件寄存器(ADC_SMPR1和ADC_SMPR2),这两个寄存器用于设置通道
0~17的采样时间,每个通道占用3个位
对于每个要转换的通道,采样时间建议尽量长一点,以获得较高的准确度,但是这样会降低ADC的
转换速率。ADC的转换时间可以由下式计算:
Tcovn=采样时间+12.5个周期
第四个要介绍的是ADC规则序列寄存器(ADC_SQR1~3),


发布评论