STM32F103学习笔记(5.0)——定时器TIM

目录

定时器的作用

PSC预分频器

CNT计数器

自动重装载寄存器


定时器的作用

为什么要使用定时器,在写单片机流水灯的时候,会使用到delay函数,delay函数会让程序在delay那个位置等待,等待期间系统不会处理其他事情,直到等待结束,这很浪费系统资源。

而定时器是个外设,独立出来运行,配置好定时器让定时器固定一个间隔产生一个中断,然后单片机再去中断函数里执行一些程序,这就可以节约资源,不会让单片机处于等待期间。

基本定时器框图如下:

其中下面的三个:PSC预分频器、CNT计数器、自动重装在寄存器是时基单元的三个组成部分。

PSC预分频器

在使用定时器的计时功能时,内部时钟会给到PSC上进行分频,为了方便计数,需要设置一个合适的分频值。

例如:设置主频为72Mhz,设置PSC预分频器为7200分频,则可以得到一个10Khz的时钟频率给计数器。因为频率是10khz,周期是t=1/f,可以得到周期是0.0001s,即0.1ms,也就是计数器0.1ms计数加1。

CNT计数器

计数器的作用就是它的名字,计数,需要有输入,可以是时钟输入,也可以是外部输入。外部输入可以是IO口的按键输入,可以设置成按键按下一次计数器加1,那么计数器就可以保存按键按下的次数。

自动重装载寄存器

计数器的计数限制。配置自动重装载寄存器之后,可以再计数器计到一定次数之后,清零计数器,重新计数,并可以产生中断、DMA、事件。

例如:

配置STM32主频72Mhz,配置定时器的预分频器为7200,则可以得到10khz的时钟给CNT计数器,CNT计数器每0.1ms计数加1,再配置自动重装载寄存器值为5000,也就是CNT计数到5000时重新计数,CNT计5000次就是500ms,也就可以500ms产生一次中断

例:

配置定时器的时钟成36Mhz时,配置预分频器3600,可以得到10khz的时钟给CNT计数器

CNT计数器每0.1ms计数加1,再配置自动重装载寄存器值为1000,也就是CNT计数到1000时重新计数,CNT计1000次就是100ms,也就是100ms产生一次中断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天师电通电容爆破工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值