版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目五环境检测系统设计任务2-1电压采集系统设计项目五环境检测系统设计任务1任务2任务3LCD显示系统设计温度采集系统设计光照采集系统设计知识目标:1.掌握ADC工作原理;2.掌握ADC相关库函数的配置方法。技能目标:1.会正确使用ADC相关库函数;2.会编程实现ADC采集功能。素养目标:1.操作规范,符合5S管理要求;2.具备自主探究、勤学好问的态度。学习目标设计要求利用STM32开发板上的ADC接口,实现模拟电压数据的采集,并将当前电压值显示在液晶屏上,编写控制程序并进行系统调试。硬件设计硬件连接:
知识导航ADCAnalog-to-DigitalConverter的缩写,模数转换器。是将连续变量的模拟信号转换为离散的数字信号的器件。典型的模数转换器将模拟信号转换为表示一定比例电压值的数字信号。知识导航STM32F10xADC特点12位逐次逼近型的模拟数字转换器。最多带3个ADC控制器最多支持18个通道,可最多测量16个外部和2个内部信号源。支持单次和连续转换模式
转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。
通道0到通道n的自动扫描模式
自动校准
采样间隔可以按通道编程
规则通道和注入通道均有外部触发选项
转换结果支持左对齐或右对齐方式存储在16位数据寄存器ADC转换时间:最大转换速率1us。(最大转换速度为1MHz)ADC供电要求:2.4V-3.6VADC输入范围:VREF-≤VIN≤VREF+知识导航STM32F10x系列芯片ADC通道和引脚对应关系知识导航ADC引脚知识导航ADC框图知识导航STM32通道组规则通道组:相当正常运行的程序。最多16个通道。
规则通道和它的转换顺序在ADC_SQRx寄存器中选择,规则
组转换的总数应写入ADC_SQR1寄存器的L[3:0]中。②注入通道组:相当于中断。最多4个通道。
注入组和它的转换顺序在ADC_JSQR寄存器中选择。注入组
里转化的总数应写入ADC_JSQR寄存器的L[1:0]中。知识导航规则通道1规则通道2规则通道N注入通道1注入通道1规则通道1规则通道2规则通道N注入通道N知识导航STM32F1系列处理器的ADC的各通道运行模式独立模式与双ADC模式单通道模式与扫描模式单次转换模式与连续转换模式。知识导航ADC时钟配置注意:不要让ADC时钟超过14MHz,否则可能不准。知识导航ADC_CR1寄存器知识导航ADC_CR1寄存器知识导航ADC_CR2寄存器知识导航数据对齐方式知识导航ADC_CR2寄存器知识导航ADC_SMPR1寄存器知识导航ADC_SMPR2寄存器知识导航ADC的采样时间完成一次AD转换最少需要1us(ADC时钟=14MHz,采样周期为1.5周期下得到)知识导航ADC_SQR1/SQR2/SQR3规则序列寄存器知识导航ADC_JSQR注入系列寄存器知识导航ADC_DR规则通道数据寄存器知识导航ADC_JDR注入通道数据寄存器知识导航ADC_SR状态寄存器知识导航函数RCC_APB2PeriphClockCmd函数原型:voidRCC_APB2PeriphClockCmd(u32RCC_APB2Periph,FunctionalStateNewState);函数功能:开启相应的外设时钟。参数1:APB2外设时钟,可以取下表的一个或者多个取值的组合作为该参数的值。参数2:可以取ENABLE或者DISABLE。知识导航RCC_APB2Periph值描述RCC_APB2Periph_GPIOAGPIOA时钟RCC_APB2Periph_GPIOBGPIOB时钟RCC_APB2Periph_GPIOCGPIOC时钟RCC_APB2Periph_GPIODGPIOD时钟RCC_APB2Periph_GPIOEGPIOE时钟RCC_APB2Periph_GPIOFGPIOF时钟RCC_APB2Periph_GPIOGGPIOG时钟RCC_APB2Periph_AFIO功能复用I/O时钟RCC_APB2Periph_ADC1ADC1时钟RCC_APB2Periph_ADC2ADC2时钟知识导航函数RCC_ADCCLKConfig函数原型:voidRCC_ADCCLKConfig(uint32_tRCC_PCLK2);函数功能:设置ADC时钟。知识导航函数ADC_Init函数原型:voidADC_Init(ADC_TypeDef*ADCx,ADC_InitTypeDef*ADC_InitStruct);函数功能:对外设ADCx进行初始化。参数1:指定要使用的ADCx(ADC1、ADC2或ADC3)。参数2:为指针类型,指向一段数据结构,这个数据结构就保存着对ADCx配置的各个参数。知识导航ADC_InitTypeDef结构体typedefstruct{uint32_tADC_Mode;//ADC模式FunctionalStateADC_ScanConvMode;//是否使用扫描模式FunctionalStateADC_ContinuousConvMode;//单次转换还是连续转换uint32_tADC_ExternalTrigConv;//触发方式uint32_tADC_DataAlign;//对齐方式:左对齐还是右对齐uint8_tADC_NbrOfChannel;//规则通道序列长度}ADC_InitTypeDef;知识导航参数ADC_Mode用来设置ADC工作在独立模式或双ADC模式,我们让ADC工作在独立模式,所以选择值为ADC_Mode_Independent。参数ADC_ScanConvMode用来设置ADC是否使用扫描模式,我们要使用单通道模式,所以选择值为DISABLE。知识导航参数ADC_ContinuousConvMode用来设置ADC是否使用连续转换模式,我们使用的是单次转换模式,所以选择值为DISABLE。参数ADC_ExternalTrigConv用来设置ADC的触发方式,我们要使用软件触发ADC转换,所以选择值为ADC_ExternalTrigConv_None。知识导航参数ADC_DataAlign用来设置ADC数据的对齐方式,我们使用的是右对齐方式,所以选择值为ADC_DataAlign_Right。参数ADC_NbrOfChannel用来设定顺序进行规则转换的ADC通道的数目(1-16),我们只使用了一个ADC通道,所以设为1。知识导航实例ADC_InitTypeDefADC_InitStructure;ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//独立模式ADC_InitStructure.ADC_ScanConvMode=DISABLE; //不开启扫描ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;//单次转换模式ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//触发软件ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;//ADC数据右对齐ADC_InitStructure.ADC_NbrOfChannel=1;//顺序进行规则转换的ADC通道的数目ADC_Init(ADC1,&ADC_InitStructure); 知识导航函数ADC_DeInit函数原型:voidADC_DeInit(ADC_TypeDef*ADCx);函数功能:复位ADCx。参数:指定要复位的ADCx(ADC1、ADC2或ADC3)。知识导航函数ADC_RegularChannelConfig函数原型:voidADC_RegularChannelConfig(ADC_TypeDef*ADCx,uint8_tADC_Channel,uint8_tRank,uint8_tADC_SampleTime);函数功能:设置指定ADC的规则组通道,以及转换顺序和采样时间。参数1:指定的ADC(ADC1、ADC2或ADC3)。参数2:指定ADC的通道,即ADC_Channel_X(X为0-17)。参数3:设置ADC转换顺序。参数4:设置采样时间。知识导航采样时间可选择的值ADC_SampleTime_1Cycles5采样时间为1.5周期
ADC_SampleTime_7Cycles5ADC_SampleTime_13Cycles5ADC_SampleTime_28Cycles5ADC_SampleTime_41Cycles5ADC_SampleTime_55Cycles5ADC_SampleTime_71Cycles5ADC_SampleTime_239Cycles5知识导航实例ADC_RegularChannelConfig(ADC1,ADC_Channel_1,1,ADC_SampleTime_239Cycles5);知识导航函数ADC_Cmd函数原型:voidADC_Cmd(ADC_TypeDef*ADCx,FunctionalStateNewState);函数功能:使能指定的ADC。参数1:指定的ADC(ADC1、ADC2或ADC3)。参数2:ENABLE还是DISABLE。实例:ADC_Cmd(ADC1,ENABLE);//使能指定的ADC1知识导航ADC校准方法ADC_ResetCalibration(ADC1);//使能复位校准while(ADC_GetResetCalibrationStatus(ADC1));//等待复位校准结束ADC_StartCalibration(ADC1);//开启AD校准while(ADC_GetCalibrationStatus(ADC1)); //等待AD校准结束知识导航函数ADC_SoftwareStartConvCmd函数原型:voidADC_SoftwareStartConvCmd(ADC_TypeDef*ADCx,FunctionalStateNewState);函数功能:使能ADC的软件转换启动功能。参数1:指定的ADC(ADC1、ADC2或ADC3)。参数2:ENABLE还是DISABLE。实例:ADC_SoftwareStartConvCmd(ADC1,ENABLE);//使能ADC1的软件转换启动知识导航函数ADC_GetFlagStatus函数原型:FlagStatusADC_GetFlagStatus(ADC_TypeDef*ADCx,uint8_tADC_FLAG);函数功能:检查ADC对应的标志位是否为1。参数1:待检测的ADCx(ADC1、ADC2或ADC3)。参数2:待检查的标志位,我们要判断ADC转换是否完成,即ADC转换结束标志位是否为1,所以选择ADC_FLAG_EOC。返回值:SET(转换结束)或RESET(转换进行中)。实例:while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));知识导航函数ADC_GetConversionValue函数原型:uint16_tADC_GetConversionValue(ADC_TypeDef*ADCx);函数功能:获取ADC转换后的结果。参数:ADCx(ADC1、ADC2或ADC3)。实例:a=ADC_GetConversionValue(ADC1);//获取ADC1转换结果知识导航实例:获取ADC转换后的数据u16Get_Adc(){ u16a; ADC_SoftwareStartConvCmd(ADC1,ENABLE); while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));a=ADC_GetConversionValue(ADC1); returna; }任务实现ADC采集数据步骤:开启PA口和ADC1时钟,设置PA1为模拟输入。
GPIO_Init();APB2PeriphClockCmd();复位ADC1,同时设置ADC1分频因子。RCC_ADCCLKConfig(RCC_PCLK2_Div6);ADC_DeInit(ADC1);初始化ADC1参数,设置ADC1的工作模式以及规则序列的相关信息。voidADC_Init(ADC_TypeDef*ADCx,ADC_InitTypeDef*ADC_InitStruct);配置规则通道参数。ADC_RegularChannelConfig();使能ADC并校准。
ADC_Cmd(ADC1,ENABLE);开启软件转换:ADC_SoftwareStartConvCmd(ADC1);等待转换完成。
读取ADC值。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度股权转让及技术服务合同2篇
- 二零二五版建筑门窗材料采购及安装服务合同3篇
- 二零二五版个人信用担保二手房购买贷款合同样本3篇
- 武汉托管班2025年度教师招聘与素质教育服务合同3篇
- 二零二五版智慧城市基础设施勘察设计服务合同3篇
- 2025年度安全生产应急救援预案合同范本3篇
- 二零二五版智能仓储物流中心设施维护与安全管理合同3篇
- 二零二五年建筑水电安装工程合同风险评估合同2篇
- 深圳市2025年度房地产股权交易合同(含工业地产)3篇
- 二零二五版二手房买卖合同补充协议(历史遗留问题)范本3篇
- 西南师大版五年级上册小数乘除法竖式计算题200道及答案
- 再生障碍性贫血课件
- AQ/T 2061-2018 金属非金属地下矿山防治水安全技术规范(正式版)
- 2024年湖北三江航天江河化工科技有限公司招聘笔试冲刺题(带答案解析)
- 采购人员管理制度
- 矿卡司机安全教育考试卷(带答案)
- SYT 6963-2013 大位移井钻井设计指南
- 合同增项补充协议书范本
- 产后抑郁症的护理查房
- 五年级上册数学脱式计算300题及答案
- 循环系统练习试题(含答案)
评论
0/150
提交评论