定时器与PWM介绍

定时器介绍
1.软件定时
不精确、占用 CPU 资源
void Delay500ms() //@11.0592MHz
{
    unsigned char i, j, k;
    _nop_();
    i = 4;
    j = 129;
    k = 119;
    do
    {
    do
    {
    while (--k);
    } while (--j);
    } while (--i);
}

2.硬件定时

使用精准的时基,实现定时功能。

定时器分类:
基本定时器( TIM6~TIM7
        主要功能:没有输入输出通道,常用作时基,即定时功能
通用定时器( TIM2~TIM5
        主要功能:具有多路独立通道,可用于输入捕获/输出比较,也可用作时基
高级定时器( TIM1 TIM8
        主要功能:除具备通用定时器所有功能外,还具备带死区控制的互补信号输出、高级定时器 刹车输入等功能
通用定时器介绍:
1) 16 位向上、向下、向上/向下自动装载计数器(
TIMx_CNT)。
2) 16 位可编程(可以实时修改)预分频器(TIMx_PSC),计数器时钟频率的分频系数为 1~65535 之间的
任意数值。
3)4 个独立通道(
TIMx_CH1~4),这些通道可以用来作为:
A.输入捕获
B.输出比较
C.PWM 生成(边缘或中间对齐模式)
D.单脉冲模式输出
4)可使用外部信号(
TIMx_ETR)控制定时器和定时器互连(可以用 1 个定时器控制另外一个定时器)
的同步电路。
5)如下事件发生时产生中断/DMA:
A.更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发)
B.触发事件(计数器启动、停止、初始化或者由内部/外部触发计数)
C.输入捕获
D.输出比较
E.支持针对定位的增量(正交)编码器和霍尔传感器电路
F.触发输入作为外部时钟或者按周期的电流管理
定时器计数模式:
计数模式 计数器溢出值 计数器重装值
向上计数 CNT = ARR CNT = 0
向下计数 CNT = 0 CNT = ARR
中心对齐计数 CNT = ARR - 1 CNT = ARR
中心对齐计数 CNT = 1 CNT = 0
定时器时钟源:
(STM32F103)

定时器溢出时间计算公式:

例如,要定时500ms,则:PSC=7199,ARR=4999,Tclk=72M

PWM介绍
通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形
PWM输出模式
PWM输出模式 1 :在向上计数时,一旦 CNT < CCRx 时输出为有效电平,否则为无效电平; 在向下计数时,一旦 CNT > CCRx 时输出为无效电平,否则为有效电平。

PWM 模式 2 :在向上计数时,一旦 CNT < CCRx 时输出为无效电平,否则为有效电平; 在向
下计数时,一旦 CNT > CCRx 时输出为有效电平,否则为无效电平。

PWM周期与频率:

频率:是指1秒钟内信号从高电平到低电平再回到高电平的次数

周期:一个脉冲信号的时间

 PWM占空比:

指在输出的PWM波形中,高电平保持的时间与该PWM的调制周期之比

猜你喜欢

转载自blog.csdn.net/2301_77164542/article/details/131351705
今日推荐