ARM微控制器与嵌入式系统 课件 18 基本定时器定时_第1页
ARM微控制器与嵌入式系统 课件 18 基本定时器定时_第2页
ARM微控制器与嵌入式系统 课件 18 基本定时器定时_第3页
ARM微控制器与嵌入式系统 课件 18 基本定时器定时_第4页
ARM微控制器与嵌入式系统 课件 18 基本定时器定时_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ARM微控制器与嵌入式系统

定时器主讲人:景妮琴北京电子科技职业学院内容定时器主要功能定时器配置主要步骤中断服务程序完成定时功能STM32F407xx微控制器共12个16位定时器、2个32位定时器,分为高级定时器、通用定时器、基本定时器。高级定时器包含:TIM1、TIM8。通用定时器包含:TIM3至TIM5、其中TIM2和TIM5为32位、TIM9至TIM14基本定时器包含:TIM6和TIM7。

STM32微控制器定时器基本定时器(TIM6,TIM7)的主要功能:只有最基本的定时功能。基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动通用定时器(TIM2~TIM5,

TIM9~TIM14)的主要功能:除了基本的定时器的功能外,还具有测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)高级定时器(TIM1,TIM8)的主要功能:高级定时器不但具有基本,通用定时器的所有的功能,还具有控制交直流电动机所有的功能,比如它可以输出互补带死区的信号等等STM32微控制器定时器-主要功能定时器种类位数计数器模式产生DMA请求捕获/比较通道互补输出特殊应用场景高级定时器(TIM1,TIM8)16向上,向下,向上/下可以4有带可编程死区的互补输出通用定时器(TIM2,TIM5)32向上,向下,向上/下可以4无通用。定时计数,PWM输出,输入捕获,输出比较通用定时器(TIM3,TIM4)16向上,向下,向上/下可以4无通用。定时计数,PWM输出,输入捕获,输出比较通用定时器(TIM9~TIM14)16向上没有2无通用。定时计数,PWM输出,输入捕获,输出比较基本定时器(TIM6,TIM7)16向上,向下,向上/下可以0无主要应用于驱动DACSTM32定时器区别基本定时器功能框图讲解基本定时器功能简介1-计数器16bit,只能向上计数,只有TIM6和TIM72-没有外部的GPIO,是内部资源,只能用来定时3-时钟来自PCLK1,可实现1~65536分频基本定时器功能框图讲解1-时钟源2-控制器3-计数器定时周期的计算

内部时钟选择默认调用SystemInit函数情况下:SYSCLK=168MAHB时钟=168MAPB1时钟=42M所以APB1的分频系数=AHB/APB1时钟=4所以,定时器时钟CK_INT=2*42M=84MSTM32微控制器定时器时钟选择控制器用于控制定时器的:复位、使能、计数、触发DAC控制器时基(定时器的心脏)定时器最主要的就是时基部分:包括预分频器、计数器、自动重装载寄存器。预分频器:16位的预分频器TIMx_PSC对内部时钟CK_INT进行分频之后,得到计数器时钟CK_CNT=CK_PSC/PSC+1计数器CNT:在计数器时钟的驱动下开始计数,计数一次的时间为1/CK_CNT。自动重装载寄存器:定时器使能(CEN置1)后,计数器CNT在CK_CNT驱动下向上计数,当TIMx_CNT值与TIMx_ARR的设定值相等时就自动生成事件并TIMx_CNT自动清零,然后自动重新开始计数,如此重复以上过程。通用定时器框图定时器配置步骤:1、开启定时器时钟2、定时器配置3、中断优先级配置4、中断服务函数

STM32微控制器定时器的中断运用开启定时器时钟定时器的时钟通道APB1RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6,ENABLE);定时器配置(1)TIM_Prescaler取值范围

预分频系数0-65535(2)TIM_Period取值范围定时器初值根据不同定时器取值范围不同。STM32F407xx微控制TIM2和TIM5此参数取值0-2^32,其他定时器均取值为0-65535。预分频系数和定时器初值决定定时器中断周期(Tclk计数频率、Tout中断周期)。

定时器配置定时时间的计算1、PSC=8400-1,定时器频率=84M/(PSC+1)=10000HZ2、ARR=4999,从0计数到4999,则计了5000次3、T=5000/10000=0.5S定时器配置定时器配置中断优先级配置voidTIM6_DAC_IRQHandler(void){ if(TIM_GetITStatus(TIM6,TIM_IT_Update)!=RESET) { a++; if(a==100) a=0; TIM_ClearITPendingBit(TIM6,TIM_IT_Update); } }中断服务程序①使能定时器时钟 RCC_APB1PeriphClockCmd();②

初始化定时器,配置ARR,PSC TIM_TimeBaseInit();③

开启定时器中断,配置NVIC NVIC_Init();④中断使能

TIM_ITConfig();⑤

使能定时器 TIM_Cmd();⑥

编写中断服务函数 TIMx_IRQHandler();定时器中断实现步骤定时器工作方式:在工程中加入串口库stm32f0xx_time.c、misc.c(加入FWLIB中)打开TIM时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6,ENABLE);根据系统功能的需求,初始化该功能外设(TIM配置)通过NVIC配置定时器中断的优先级加入定时器中断执行语句,需要加入中断执行函数定时器计时配置TIM,需要stm32f0xx_tim.hTIM_TimeBaseInitTypeDefmy_TIM;//定义时基结构体my_TIM.TIM_Prescaler=8400-1;//8400分频my_TIM.TIM_Period=5000-1;/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论