武汉理工大学智能仪器课设 - 智能化的数据采集和电压监控系统 -(3)
武汉理工大学智能仪器课程设计
FunctionalState ADC_ScanConvMode; FunctionalState ADC_ContinuousConvMode;
uint32_t ADC_ExternalTrigConv;
uint32_t ADC_DataAlign; uint8_t ADC_NbrOfChannel; }ADC_InitTypeDef;
参数ADC_Mode故名是以是用来设置ADC的模式。前面讲解过,ADC的模式非常多,包括独立模式,注入同步模式等等,这里我们选择独立模式,所以参数为ADC_Mode_Independent。
参数ADC_ScanConvMode用来设置是否开启扫描模式,因为是单次转换,这里我们选择不开启值DISABLE即可。
参数ADC_ContinuousConvMode用来设置是否开启连续转换模式,因为是单次转换模式,所以选择不开启连续转换模式,DISABLE即可。
参数ADC_ExternalTrigConv是用来设置启动规则转换组转换的外部事件,这里选择软件触发,选择值为ADC_ExternalTrigConv_None即可。
参数DataAlign用来设置ADC数据对齐方式是左对齐还是右对齐,这里选择右对齐方式ADC_DataAlign_Right。
参数ADC_NbrOfChannel用来设置规则序列的长度,这里是单次转换,所以值为1即可。 5)使能ADC并校准。
在设置完了以上信息后,我们就使能AD转换器,执行复位校准和AD校准,注意这两步 是必须的!不校准将导致结果很不准确。 使能指定的ADC的方法是:
ADC_Cmd(ADC1, ENABLE); //使能指定的ADC1 执行复位校准的方法是:
ADC_ResetCalibration(ADC1); 执行ADC校准的方法是:
ADC_StartCalibration(ADC1); //开始指定ADC1的校准状态 记住,每次进行校准之后要等待校准结束。这里是通过获取校准状态来判断是否校准是否结束。
6)读取ADC值。
在上面的校准完成之后,ADC就算准备好了。接下来我们要做的就是设置规则序列1里面 的通道,采样顺序,以及通道的采样周期,然后启动ADC转换。在转换结束后,读取ADC转换结果值就是了。
ADC的转换时间可以由以下公式计算:
Tcovn=采样时间+12.5个周期
其中:Tcovn为总转换时间,采样时间是根据每个通道的SMP位的设置来决定的。例如, 当ADCCLK=14Mhz的时候,并设置1.5个周期的采样时间,则得到:Tcovn=1.5+12.5=14个周期=1us。
这里设置规则序列通道以及采样周期的函数是:
void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime); 3.2.3.2硬件设计
10 / 44
武汉理工大学智能仪器课程设计
该芯片有外部参考电压:Vref-和Vref+,其中Vref-必须和VSSA连接在一起,而Vref+的输入范围为:2.4~VDDA。将Vref-接到GND,Vref+接到VDDA,参考电压就是3.3V。如果想自己设置其他参考电压,将参考电压接在Vref-和Vref+上就OK了
图3.2.3.1参考电压接线图
3.2.4STM32--PWM功能模块
脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。
STM32的定时器除了TIM6和7。其他的定时器都可以用来产生PWM输出。其中高级定 时器TIM1和TIM8可以同时产生多达7路的PWM输出。而通用定时器也能同时产生多达4 路的PWM输出,这样,STM32最多可以同时产生30路PWM输出!这里我们仅利用TIM3 的CH2产生一路PWM输出。 3.2.4.1软件设计
首先要提到的是,PWM相关的函数设置在库函数文件stm32f10x_tim.h和stm32f10x_tim.c 文件中。
1)开启TIM3时钟以及复用功能时钟,配置PB5为复用输出。
要使用TIM3,必须先开启TIM3的时钟,这里我们还要配置PC5为复用输出,这是因为TIM3_CH2通道将重映射到PC5上,此时,PC5属于复用功能输出。库函数使能TIM3时钟的方法是:
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //使能定时器3时钟 库函数设置AFIO时钟的方法是:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //复用时钟使能 列出GPIO初始化的一行代码即可:
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出 2)设置TIM3_CH2重映射到PB5上。
因为TIM3_CH2默认是接在PA7上的,所以我们需要设置TIM3_REMAP为完全重映射(通 过AFIO_MAPR配置),让TIM3_CH2重映射到PC5上面。在库函数函数里面设置重映射的函 数是:
void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState); 3)初始化TIM3,设置TIM3的ARR和PSC。
在开启了TIM3的时钟之后,设置ARR和PSC两个寄存器的值来控制输出PWM的周期。这在库函数是通过TIM_TimeBaseInit函数实现的,调用的格式为: TIM_TimeBaseStructure.TIM_Period = arr; //设置自动重装载值 TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //设置时钟分割:TDTS = Tck_tim TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数模式
11 / 44
武汉理工大学智能仪器课程设计
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); 4)设置TIM3_CH2的PWM模式,使能TIM3的CH2输出。
设置TIM3_CH2为PWM模式(默认是冻结的),通过配置TIM3_CCMR1的相关位来控制TIM3_CH2的模式。在库函数中,PWM通道设置是通过函数TIM_OC1Init()~TIM_OC4Init()来设置的,不同的通道的设置函数不一样,使用通道2,所以使用的函数是TIM_OC2Init()。 void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); 5)使能TIM3。
在完成以上设置了之后,使能TIM3。使能TIM3的方法: TIM_Cmd(TIM3, ENABLE); //使能TIM3 6)修改TIM3_CCR2来控制占空比。
最后,在经过以上设置之后,PWM其实已经开始输出了,只是其占空比和频率都是固定的,而通过修改TIM3_CCR2则可以控制CH2的输出占空比。 在库函数中,修改TIM3_CCR2占空比的函数是:
void TIM_SetCompare2(TIM_TypeDef* TIMx, uint16_t Compare2);
对于其他通道,分别有一个函数名字,函数格式为TIM_SetComparex(x=1,2,3,4)。
3.2.4.2 硬件设计
因为STM32输出电压为3.3V所以通过一个场效应管放大电压,输出频率为50Hz,幅值为5V的脉冲。
图3.2.4.1输出50Hz,幅值为5V占空比位20%的脉冲电路 3.2.5 STM32—TFTLCD显示模块 …… 此处隐藏:1715字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [学前教育]MC9S12XS256RMV1 xs128芯片手册4
- [学前教育]安东尼语录经典语录
- [学前教育]e级gps控制测量技术设计书
- [学前教育]苏教版2022-2022学年八年级下学期期末
- [学前教育]装修公司推广 营销
- [学前教育]家政服务合同(完整版)
- [学前教育]湖北省2016届高三联考语文试题
- [学前教育]爱立信无涯学习系统LTE题库1-LTE基础知
- [学前教育]揭秘大众柴油车作弊软件原理
- [学前教育]人才流失原因及对策分析
- [学前教育]房屋建筑施工工程劳务分包合同
- [学前教育]国际贸易实务试卷A卷09.6
- [学前教育]校园废品回收活动计划方案书范文格
- [学前教育]电大成本会计试题及答案
- [学前教育]大学物理实验 华南理工出版社 绪论答案
- [学前教育]爱丁堡产后抑郁量表
- [学前教育]液压冲击的危害、产生原因与防止方法(
- [学前教育]学生工作总结高一学生期中考试总结_020
- [学前教育]人民医院医疗废物管理规章制度大全
- [学前教育]阳光维生素的巨大抗癌潜能阅读题答案.d
- 马云在云锋基金江苏论坛闭幕式的发言
- 试论小学体育教育中的心理健康教育-教
- 语文A版一年级下册《语文乐园一》教学
- 2021四川大学物理化学考研真题经验参考
- [人教A版]2015-2016学年高中数学 第二
- 终端网点销售返利协议书
- 江苏省2015年眼科学主治医师青光眼考试
- 2017年部编人教版八年级语文上册教案
- 十一中学七年级英语上册Unit7Howmuchar
- 以赛促教的创新性实验教学机制建设实践
- 平凉市崆峒区2015七年级下生物期末试题
- 琶洲(地块五)A、B塔楼1、2#塔吊基础
- 一级医院工作制度与人员岗位职责
- 2018北京西城区高三二模理科数学试题及
- 炒股密码线技术 - 图文
- 职高学生生涯发展辅导教案
- 语文人教版四年级上册8 世界地图引出的
- 最新最新人教版二年级上册全册数学教案
- 2017高考英语全国2卷精彩试题(有问题
- 普通心理学笔记




