第六章-STM32-定时器的使用-《基于ARM的单片机应用及实践--STM32案例式教学》课件.ppt





《第六章-STM32-定时器的使用-《基于ARM的单片机应用及实践--STM32案例式教学》课件.ppt》由会员分享,可在线阅读,更多相关《第六章-STM32-定时器的使用-《基于ARM的单片机应用及实践--STM32案例式教学》课件.ppt(59页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第六六章章 STM32 定时器的使用定时器的使用本章内容STM32F的定时器简介通用定时器时基单元通用定时器特殊工作模式定时器编程及实训第六章 STM32 定时器的使用STM32中一共有11个定时器:2个高级控制定时器4个普通定时器2个基本定时器2个看门狗定时器1个系统嘀嗒定时器。TIM1,TIM8是能够产生三对PWM互补输出的高级定时器,常用于电动机的控制。它们的时钟由APB2的输出产生。TIM2TIM5是通用定时器:输入捕获输出比较PWM脉冲计数TIM6和TIM7是基本定时器:主要用于产生DAC触发信号,其时钟由APB1输出产生 第六章 STM32 定时器的使用typedef struc
2、t vu32 CTRL;/SysTick控制和状态寄存器vu32 LOAD;/SysTick重装载值寄存器vu32 VAL;/SysTick当前值寄存器vuc32 CALIB;/SysTick校准值寄存器 SysTick_TypeDef;第六章 STM32 定时器的使用库函数:SysTick_CLKSourceConfig函数SysTick_Setreload函数SysTick_CounterCmd函数SysTick_ITConfig函数SysTick_GetCounter函数SysTick_GetFlagStatus函数 第六章 STM32 定时器的使用STM32的通用定时器TIM,是一个通
3、过可编程预分频器驱动的16位自动装载计数器构成。通用TIMx定时器特性包括:具备16位向上,向下,向上/向下自动装载计数器。具备16位可编程预分频器。具备4个独立通道。使用外部信号控制定时器和定时器互连的同步电路。可以通过事件产生中断,中断类型丰富。具备DMA功能。第六章 STM32 定时器的使用第六章 STM32 定时器的使用从上图中可以看出,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器,图中的浅蓝色部分。这个倍频器的作用:当APB1的预分频系数为1时,倍频器不起作用,定时器的时钟频率等于APB1的频率;当APB1的预分频系数为其它数值(即预分频
4、系数为2、4、8或16)时,这个倍频器起作用,定时器的时钟频率等于APB1的频率两倍。下面举一个例子说明。假定AHB=36MHz,因为APB1允许的最大频率为36MHz,所以APB1的预分频系数可以取任意数值;当预分频系数=1时,APB1=36MHz,TIM27的时钟频率=36MHz(倍频器不起作用);当预分频系数=2时,APB1=18MHz,在倍频器的作用下,TIM27的时钟频率=36MHz。既然需要TIM27的时钟频率=36MHz,为什么不直接取APB1的预分频系数=1?第六章 STM32 定时器的使用例如普通定时器的时钟为72MHz,分频比为7199,那么我们想要得到一个1秒钟的定时,定
5、时计数器的值需要设定为TIMx_ARR=10000因为72000000/7200=10KHz时钟周期T=1/10KHz=100us100us 10000=1S结论:分频比7199 定时计数器的值10000。第六章 STM32 定时器的使用3)设置TIM3_DIER允许更新中断因为我们要使用TIM3的更新中断,所以设置DIER的UIE位,并使能触发中断。4)允许TIM3工作我们在配置完后要开启定时器,通过TIM3_CR1的CEN位来设置。第六章 STM32 定时器的使用5)TIM3中断分组设置在定时器配置完了之后,因为要产生中断,必不可少的要设置NVIC相关寄存器,以使能TIM3中断。6)编写中
6、断服务函数编写定时器中断服务函数,通过该函数处理定时器产生的相关中断。中断产生后,通过状态寄存器的值来判断此次产生的中断属于什么类型。然后执行相关的操作。第六章 STM32 定时器的使用通用寄存器时基单元1)计数器寄存器:TIMx_CNT16位的计数器,设定值从165535第六章 STM32 定时器的使用第六章 STM32 定时器的使用计数器模式向上计数模式:计数器从0计数到设定的数值,然后重新从0开始计数并且产生一个计数器溢出事件。计数器时序图(内部时钟分频因子为1)计数器时序图(内部时钟分频因子为2)向下计数模式:计数器从设定的数值开始向下计数到0,然后自动从设定的数值重新向下计数,并产生
7、一个向下溢出事件。中央对齐模式(向上/向下计数):计数器从0开始计数到设定的数值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器下溢事件;再从0开始重新计数。第六章 STM32 定时器的使用计数器时序图(内部时钟分频因子为1)计数器在不同时钟频率下操作的例子:计数器时序图(内部时钟分频因子为1,TIMx_ARR=0 x6)第六章 STM32 定时器的使用计数器时序图(内部时钟分频因子为2)第六章 STM32 定时器的使用2)预分频器寄存器:TIMx_PSC预分频器可以讲计数器的时钟频率按1到65536之间的任意值分频,它是一个16位寄存器。这个寄存器带有缓冲区,它能够在工作时被
8、改变。新的预分频器参数在下一次更新事件到来时被采。第六章 STM32 定时器的使用3)自动装载寄存器:TIMx_ARR自动装载寄存器是预先装载的(要在使能定时器之前设定好),根据在TIMx_CR1寄存器中自动装载使能位(ARPE)的设置,立即或者在每次更新事件时传送到计数器。第六章 STM32 定时器的使用立即加载计数器第六章 STM32 定时器的使用时钟选择计数器时钟可以由下列时钟源提供:内部时钟(CK_INT)外部时钟模式1:外部输入脚(TIx)外部时钟模式2:外部触发输入(ETR)内部触发输入(ITRx)第六章 STM32 定时器的使用这些时钟,具体选择哪个可以通过TIMx_SMCR寄存
9、器的相关位来设置。这里的CK_INT时钟是从APB1倍频而来的,除非APB1的时钟分频数设置为1,否则通用定时器TIMx的时钟是APB1时钟的2倍;当APB1的时钟不分频的时候,通用定时器TIMx的时钟就等于APB1的时钟。注意高级定时器的时钟不是来自APB1,而是来自APB2的。输入捕获模式 PWM 输入模式 输出模式 输出比较模式 PWM 模式 单脉冲模式(OPM)编码器接口模式 通用定时器的特殊工作模式 第六章 STM32 定时器的使用输入捕获模式输入捕获模式在输入捕获模式下,当检测到ICx信号上相应的边沿后,计数器的当前值被锁存到捕获/比较寄存器(TIMx_CCRx)中。当捕获事件发生
10、时,相应的CCxIF标志(TIMx_SR寄存器)被置1,如果使能了中断或者DMA操作,则将产生中断或者DMA操作。在捕获模式下,捕获发生在影子寄存器上,然后再复制到预装载寄存器中。第六章 STM32 定时器的使用PWM输入模式例如,你需要测量输入到TI1上的PWM信号的长度(TIMx_CCR1寄存器)和占空比(TIMx_CCR2寄存器),具体步骤如下(取决于CK_INT的频率和预分频器的值)1)选择TIMx_CCR1的有效输入:置TIMx_CCMR1寄存器的CC1S=01(选择TI1)。2)选择TI1FP1的有效极性(用来捕获数据到TIMx_CCR1中和清除计数器):置CC1P=0(上升沿有效
11、)。第六章 STM32 定时器的使用3)选择TIMx_CCR2的有效输入:置TIMx_CCMR1寄存器的CC2S=10(选择TI1)。4)选择TI1FP2的有效极性(捕获数据到TIMx_CCR2):置CC2P=1(下降沿有效)。5)选择有效的触发输入信号:置TIMx_SMCR寄存器中的TS=101(选择TI1FP1)。6)配置从模式控制器为复位模式:置TIMx_SMCR中的SMS=100。第六章 STM32 定时器的使用 7)使能捕获:置TIMx_CCER寄存器中CC1E=1且CC2E=1。由于只有TI1FP1和TI2FP2连到了从模式控制器,所以PWM输入模式只能使用TIMx_CH1/TIM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于ARM的单片机应用及实践-STM32案例式教学 第六 STM32 定时器 使用 基于 ARM 单片机 应用 实践 案例 教学 课件

链接地址:https://www.taowenge.com/p-73605036.html
限制150内