【嵌入式系统】定时 / 计数器及其应用

简介: 【嵌入式系统】定时 / 计数器及其应用

定时 / 计数器的功能


  1. 计数:记录脉冲的个数,从而可以测量位移、速度、流量等物理量。
  2. 计时:通过已知频率的脉冲进行计数,可以实现精确计时。
  3. 产生PWM波:产生不同占空比的PWM波,实现数 / 模转换,从而可以对电机、开关电源等设备进行控制。


两种定时/计数器的脉冲信号源


  1. 外部脉冲信号源:从外部通过引脚进入单片机
  2. 内部脉冲信号源:由单片机内部脉冲振荡器产生


定时/计数器的四种工作模式与设定



模式 T / C0 工作模式 WGM01 WGM00
普通模式 0 0
PWM、相位可调模式 0 1
CTC模式 1 0
快速PWM模式 1 1


微信截图_20220519160449.png


微信截图_20220519160502.png


三种工作模式的比较


  • **普通模式:**用于计时。TCNT0需要在程序中赋值,顶是255
  • **比较匹配清0模式:**用于计时和产生占空比为50%的方波,顶是OCR0
  • **快速PWM模式:**用于产生不同占空比的方波,顶是255,OCR0是输出引脚的翻转点


T / C0 工作模式之普通模式


微信截图_20220519160523.png


应用例子:


微信截图_20220519160539.png


T / C0工作模式之比较匹配清0模式


WGM00 WGM01
0 1


功能:

  1. 计时
  2. 产生占空比为50%的不同频率的方波(调频)


1. 计时功能


微信截图_20220519160552.png


2. 产生占空比为50%的不同频率的方波(调频)


微信截图_20220519160602.png


应用例子:


微信截图_20220519160611.png


T / C0工作模式之快速PWM模式


微信截图_20220519160621.png


应用例子:用PWM控制LED从暗到亮


微信截图_20220519160631.png


  1. LED在可承受的范围内,电流越大亮度越高
  2. 在此电路中,PA0输出5V,LED最暗
  3. PA0输出0V,LED最亮


公式:PWM波的等效电压 = 占空比 * 高电平电压

(例如:高电平电压为5V,占空比为20%,等效电压等于5*20%=1V)


应用例子:基于PWM的可调节亮度的LED灯


硬件:

  1. led接OC0引脚
  2. 两个按键分别接INT0和INT1引脚


软件:

  1. C/T0 设置为快速PWM模式
  2. 定义wide 变量,用于调节占空比的系数
  3. 在INT0的中断服务程序中,wide = wide +1
  4. 在INT1的中断服务程序中,wide = wide -1



目录
相关文章
|
8月前
|
数据采集 调度 C语言
嵌入式系统中的定时器中断与任务调度
嵌入式系统中的定时器中断与任务调度
429 0
|
Linux 调度
按键消抖的两种方法--中断延迟工作与定时器
按键消抖的两种方法--中断延迟工作与定时器
721 0
|
4月前
|
前端开发 JavaScript
前端基础(十三)_定时器(间歇定时器、延迟定时器)
本文介绍了JavaScript中定时器的使用,包括`setTimeout`和`setInterval`两种类型。`setTimeout`是实现延迟执行,即等待一定时间后执行一次指定的函数;而`setInterval`是实现间歇执行,即每隔一定时间就执行一次指定的函数。文章还介绍了如何使用`clearTimeout`和`clearInterval`来取消定时器的执行,并通过示例代码展示了定时器的创建和取消。
148 4
前端基础(十三)_定时器(间歇定时器、延迟定时器)
|
8月前
MCS接口技术----定时/计数,中断
MCS接口技术----定时/计数,中断
92 0
|
8月前
|
API
FreeRTOS软件定时器的原理以及使用实例
FreeRTOS软件定时器的原理以及使用实例
169 0
|
传感器 算法
RTOS中相对延时和绝对延时的区别
RTOS中相对延时和绝对延时的区别
126 1
Linux驱动中断与时间篇——高精度定时器hrtimer
Linux驱动中断与时间篇——高精度定时器hrtimer
定时中断实验【嵌入式系统】
定时中断实验【嵌入式系统】
114 0
|
存储
TIM定时中断(内含:1.TIM简介+2.定时器类型+3.基本定时器+4.通用定时器+5.高级定时器+6.定时中断基本结构+7.预分频器时序+8.计数器时序+9.计数器有/无预装+10.RCC时钟树)
TIM定时中断(内含:1.TIM简介+2.定时器类型+3.基本定时器+4.通用定时器+5.高级定时器+6.定时中断基本结构+7.预分频器时序+8.计数器时序+9.计数器有/无预装+10.RCC时钟树)
509 0
TIM定时中断(内含:1.TIM简介+2.定时器类型+3.基本定时器+4.通用定时器+5.高级定时器+6.定时中断基本结构+7.预分频器时序+8.计数器时序+9.计数器有/无预装+10.RCC时钟树)