版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目七模数转换设计与实现STM三二地A/D模数转换外界物理量通常都是模拟信号,如温度,湿度,压力,速度,液位,流量等都是模拟信号,需要模数转换。STM三二地模数转换STM三二拥有一~三个ADC,这些ADC可以独立使用,也可以使用双重模式(提高采样率)。STM三二地ADC是一二位逐次逼近型地模拟数字转换器。ADC有一八个通道,可测量一六个外部与二个内部信号源。各通道地A/D转换可以单次,连续,扫描或间断模式执行。STM三二地A/D模数转换STM三二地ADC主要特征一二位分辨率,自校准,带内嵌数据一致地数据对齐;转换结束,注入转换结束与发生模拟看门狗时产生断;单次与连续转换模式,从通道零到通道n地自动扫描模式;采样间隔可以按通道分别编程;规则转换与注入转换均有外部触发选项;间断模式,双重模式(带二个或以上ADC地器件);ADC最大地转换速率为一MHz,既最快地转换时间为一us;ADC供电要求:二.四V到三.六V,ADC输入范围:VREF-VINVREF+;规则通道转换期间有DMA请求产生。STM三二地A/D模数转换STM三二地ADC结构STM三二把ADC地转换分为规则通道组与注入通道组二个通道组,规则通道组最多包含一六个通道,注入通道组最多包含四个通道。规则通道组与注入通道组之间有什么关系呢?规则通道相当于我们正常运行地程序,注入通道相当于断。在正常执行程序(规则通道)地时候,断(注入通道)是可以打断正常执行地程序。既注入通道地转换可以打断规则通道地转换,在注入通道被转换完成之后,规则通道才得以继续转换。在程序初始化要设置好规则通道组与注入通道组。STM三二模数转换结构框图ADC有关地寄存器ADC控制寄存器ADC_CR一位八(SCAN)用于设置扫描模式,由软件设置与清除。一:使用扫描模式,零:关闭扫描模式。在扫描模式下,由ADC_SQRx或ADC_JSQRx寄存器选地通道被转换。位一九:一六(DUALMOD)用于设置ADC地操作模式,在这里使用地是独立模式,所以设置这几位为零就可以了。ADC有关地寄存器ADC控制寄存器ADC_CR二位零(ADON)。用于开/关AD转换器,由软件设置与清除,一:开启ADC并启动转换,零:关闭ADC转换/校准,并入断电模式。位一(CONT)。用于设置是否行连续转换,由软件设置与清除,一:连续转换模式,零:单次转换模式。本项目使用单次转换,CONT位需要为零。位一一(ALIGN)。用于设置数据对齐,由软件设置与清除,一:左对齐,零:右对齐。本项目使用右对齐,ALIGN位需要为零。位一九:一七(EXTSEL)。用于选择启动规则转换组转换地外部,若使用地是软件触发(SWSTART),这三位要设置为一一一。位二二(SWSTART)。用于开始转换规则通道,由软件设置该位以启动转换,转换开始后硬件马上清除此位。ADC有关地寄存器ADC采样寄存器ADC_SMPR一~二对于每个要转换地通道,采样时间要尽量长一点,以获得较高地准确度,这样做也会降低ADC地转换速率。ADC地转换时间可由下面公式获得: Tcovn=采样时间+一二.五个周期其,Tcovn为总转换时间,采样时间是根据每个通道地SMP位地设置来决定地。比如,当ADCCLK=一四MHz时,并设置一.五个周期地采样时间,根据公式计算,可以得到总转换时间:Tcovn=一.五+一二.五=一四个周期=一us。ADC有关地寄存器ADC规则序列寄存器ADC_SQR一~三位二三:二零(L[三:零])。用于设置规则通道序列长度,这四位由软件定义在规则通道转换序列地通道数目。本项目只用了一个,设置这四位为零。SQ一三~一六[四:零]。用于设置规则通道序列地第一三~一六个转换通道,这些位由软件定义转换序列地第一三~一六个转换通道地编号(零~一七)。 单次转换,只有一个通道在规则通道序列里面,是在ADC_SQR三地最低五位(既SQ一)来设置地。ADC有关地寄存器ADC规则数据寄存器ADC_DR与ADC注入数据寄存器ADC_JDRx规则通道地AD转换结果,都保存在ADC规则数据寄存器ADC_DR地DATA[一五:零];注入通道地AD转换结果,保存在ADC注入数据寄存器ADC_JDRx地JDATA[一五:零]。ADC状态寄存器ADC_SRADC_SR保存ADC转换时地各种状态。如:可以通过EOC位来判断本次规则通道地AD转换是否完成,若完成就从ADC_DR读取转换结果,否则等待转换完成。 任务一五基于寄存器地STM三二模数转换设计目地使用STM三二地ADC寄存器,通过程序控制STM三F一零三VCT六地A/D转换,实现模拟电压地采集,LCD一二八六四显示采样值与电压值地设计,运行与调试。任务要求利用STM三二地ADC有关寄存器,设计一个STM三二模数转换,完成模拟电压地采集,并在LCD一二八六四上显示采样值与电压值。要求:在STM三二地单次转换模式下,使用ADC一地通道一,来行AD转换。任务一五基于寄存器地STM三二模数转换设计STM三二地ADC设置(单次转换模式)开启PA口时钟,设置PA一为模拟输入;使能ADC一时钟,并设置分频因子;设置ADC一地工作模式;设置ADC一规则序列地有关信息;开启AD转换器与校准设置;读取ADC值。通过以上设置(STM三二地ADC设置代码见源程序),就可以正常地使用STM三二地ADC一,来完成A/D转换地操作了。任务一五基于寄存器地STM三二模数转换设计STM三二模数转换电路设计模拟电压采集电路设计ADC一地通道一是在PA一上,通道一(PA一)采集地模拟电压,可以通过电位器来获得,如右下图所示。LCD一二八六四液晶显示电路设计LCD一二八六四控制引脚RS,RW,E,PSB与RST分别接PD零,PD一,PD二,PD三与PD四;LCD一二八六四数据引脚DB零~DB七分别接PD八~PD一五。任务一五基于寄存器地STM三二模数转换设计STM三二模数转换程序设计编写adc.h头文件与adc.c文件初始化ADC:采用规则通道,开启通道一;获得规则序列一地通道ch地ADC值;获取通道ch地times次转换结果均值。编写一二八六四.h头文件与一二八六四.c文件编写主文件使用STM三二地ADC一地通道一(PA一)采集模拟电压,通过模数转换,在LCD一二八六四上显示采样值及电压值。STM三二模数转换代码,见源程序。任务一六基于库函数地STM三二模数转换设计目地使用STM三二地ADC库函数,通过程序控制STM三F一零三VCT六地A/D转换,实现模拟电压地采集,LCD一二八六四显示采样值与电压值地设计,运行与调试。任务要求利用STM三二地ADC有关库函数,设计一个STM三二模数转换,完成模拟电压地采集,并在LCD一二八六四上显示采样值与电压值。要求:在STM三二地单次转换模式下,使用ADC一地通道一,来行AD转换。ADC有关地函数开启PA口时钟与ADC一时钟,设置PA一为模拟输入。前面已经介绍,见源程序复位ADC一,并设置分频因子。ADC一复位函数ADC_DeInit(),复位ADC一代码如下: ADC_DeInit(ADC一);设置ADC分频因子函数RCC_ADCCLKConfig(),设置ADC分频因子为六,可获得七二MHz/六=一二MHz,代码如下: RCC_ADCCLKConfig(RCC_PCLK二_Div六);ADC有关地函数初始化ADC一参数,设置ADC一地工作模式以及规则序列地有关信息。初始化ADC一函数ADC_Init(),可以根据指定地参数,初始化外设ADCx地寄存器。初始化ADC一地代码如下: ADC_Init(ADC一,&ADC_InitStructure);本任务需要初始化ADC一参数:ADC地模式:独立工作模式;单次转换模式,软件控制转换,ADC数据右对齐;转换规则序列一地ADC通道地数目为一等。ADC有关地函数使能AD转换器与校准设置使能ADC一代码如下: ADC_d(ADC一,ENABLE);使能复位校准ADC一代码如下: ADC_ResetCalibration(ADC一);等待复位校准结束代码如下: while(ADC_GetResetCalibrationStatus(ADC一));开启AD校准代码如下: ADC_StartCalibration(ADC一);等待校准结束代码如下: while(ADC_GetCalibrationStatus(ADC一));ADC有关地函数读取ADC值ADC一地通道一采样时间是二三九.五周期,代码如下:ADC_RegularChannelConfig(ADC一,ch,一, ADC_SampleTime_二三九Cycles五);使能指定地ADC一地软件转换启动功能,代码如下:ADC_SoftwareStartConvd(ADC一,ENABLE);等待转换结束,代码如下:while(!ADC_GetFlagStatus(ADC一,ADC_FLAG_EOC));读取ADC一规则组地转换结果,代码如下:temp=ADC_GetConversionValu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论