学习定时器(TIM)中断,以STM32F103C8T6为例

目录

一,定时器的简介

1,什么是定时器(TIM)

2,为什么要用定时器

3,定时器的应用

4,定时器的功能及分类

功能:

分类:

高级定时器:

通用定时器:

 基本定时器:

5,死区

二,定时中断

1,定时中断的基本结构

 2,基本结构的概述

1. 时钟源(TIMxCLK)

​2. 计数器时钟(CK_CNT)

3. 计数器(CNT)

计数器模式

4. 自动重装载寄存器(ARR)

5,输出比较简介

三,代码的编写步骤及代码

1,定时器中断实现步骤

2,定时器中断代码

四,总结


一,定时器的简介

1,什么是定时器(TIM)

定时器就是能够准确规定一段时间的硬件电路。在单片机中,定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。也就是TIM,全名Timer。

在单片机中是16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时。

2,为什么要用定时器

在上一章节,我写的是关于外部中断(EXTI)这篇文章,大家对中断有了一个概念,像外部中断这种需要物理动作才能触发中断函数执行,但很多情况下我们需要的是中断函数在适当时刻可以自动得去执行,所以就需要定时器来辅助了。

这就像是,你平时想认真学习,但在30分钟以后就要吃饭了,你担心错过吃饭时间,就设置了一个30分钟后会响的闹钟,在这30分钟你想怎么学习就怎么学习,不用担心时间问题。

3,定时器的应用

定时器(Timer)最基本的功能就是定时了,比如定时发送 USART 数据、定时采集 AD数据等等。如果把定时器与 GPIO 结合起来使用的话可以实现非常丰富的功能,可以测量输入信号的脉冲宽度,可以生产输出波形。定时器生产 PWM 控制电机状态是工业控制普遍方法,这方面知识非常有必要深入了解。

4,定时器的功能及分类

功能:

不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能。

分类:

根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型。

 STM32F103C8T6定时器资源:TIM1、TIM2、TIM3、TIM4

我们一般用不到高级定时器,因为高级定时器特有的功能,我们一般是用不上的,就比如死区生成,以我们目前的水平一般是不会遇到需要解决的这类问题 ,下面我给大家主要介绍通用定时器,顺便说一下什么是死区。  我是绝对不会告诉你们,其实是我不太会用高级定时器的,哈哈哈哈!

高级定时器:

通用定时器:

通用定时器的工作过程如图所示:

 大家看了两幅图也知道,通用定时器比高级定时器少了DTG寄存器,极性选择以及时钟失效事件等等。

序号1是时钟发生器,序号2是时基单元,序号3是输入捕获,序号4是输出比较,通用定时器大致分为这4个部分。

在时钟发生器中,由内部时钟或外部TIMx_ETR等经过一系列处理产生时钟源,送入时基单元;在时基单元中经过预分频产生一个时钟,再由CNT进行计数(向上或向下),计数到自动重装载值时可以触发相应的中断;在输入捕获部分中,对TIMx_CHx中的信号进行捕获,再进行滤波等操作,再通过捕获比较寄存器中捕获到两次信号后的计数器的值,就可以得到脉冲宽度等;在输出比较的部分中,可以在捕获比较寄存器中设置一个数值,用计数器中的值与其比较,当高于该数值时,输出高/低电平,低于该数值时,输出低/高电平。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

暖风醉思人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值