STM8S0TIM1_PWM互补输出

STM8S0TIM1_PWM互补输出
杨义勇事件⽬录:
1.定时器1和互补PWM基础
2.程序:
1、TIM1_CH1_PWM互补+死区
2、TIM1_CH2_PWM互补+死区
3、TIM1_CH1_PWM+TIM1_CH2_PWM互补+死区
3.采⽤IAR仿真需设置:选择IAR菜单ST-Link,选择Option Bytes,配置如图(见⽂章末尾)
⼀、定时器1互补PWM基础
1.
TIM1为⾼级定时器,定时器是16位计数,有65536种分频,分频系数1-65536。可以选择计数⽅向(分为向上和向下两种计数⽅向)。
博尔赫斯南方
2.使能外设时钟寄存器(CLK_PCKENR)
:开启或者关闭外设时钟
3.TIM1_EGR:事件产⽣寄存器
3.TIM1_EGR:事件产⽣寄存器,可以
噻吩磺隆
重新初始化TIM1定时器
4.
控制寄存器 1(TIM1_CR1):地址偏移值:0x00 ;复位值:0x00
5.重复计数寄存器(TIM1_RCR)
REP[7:0]:
重复计数器的值
开启了预装载功能后,这些位允许⽤户设置⽐较寄存器的更新速率(即周期性地从预装载寄存器
传输到当前寄存器);如果允许产⽣更新中断,则会同时影响产⽣更新中断的速率。
每次向下计数器REP_CNT达到0,会产⽣⼀个更新事件并且计数器REP_CNT重新从REP值开
始计数。由于REP_CNT只有在周期更新事件U_RC发⽣时才重载REP值,因此对TIM1_RCR寄
存器写⼊的新值只在下次周期更新事件发⽣时才起作⽤。
这意味着在PWM模式中,(REP+1)对应着:
- 在边沿对齐模式下,PWM周期的数⽬;
- 在中⼼对称模式下,PWM半周期的数⽬;
6
.预分频器
分(TIM1_PSCRH) 和(TIM1_PSCRL),设定预分频系数时必须⾼位(TIM1_PSCRH)在前低位(TIM1_PSCRL)在后。分(TIM1_PSCRH) 和(TIM1_PSCRL)
预分频器⽤于对CK_PSC进⾏分频。
计数器的时钟频率(fCK_CNT)等于fCK_PSC/( PSCR[15:0]+1)。
PSCR包含了当更新事件产⽣时装⼊当前预分频器寄存器的值(更新事件包括计数器被
TIM_EGR的UG位清0或被⼯作在复位模式的从控制器清0)。这意味着为了使新的值起作⽤,必 须产⽣⼀个更新事件。
(切记:通⽤定时器可以选择16种分频,基本定时器只能选择8种分频)
7.捕获/⽐较使能寄存器 1(TIM1_CCER1):对于
7.捕获/⽐较使能寄存器 1(TIM1_CCER1)
互补输出的通道,该位需要预装载。2013年7月1日
8.捕获/⽐较寄存器 1 分⾼位(TIM1_CCR1H) 和低位(TIM1_CCR1L)
,配置PWM的占空⽐值
若CC1通道配置为输出(TIM1_CCMR1的CC1S位):
CCR1包含了装⼊当前捕获/⽐较1寄存器的值(预装载值)。
如果在TIM1_CCMR1寄存器(OC1PE位)中未选择预装载功能,写⼊的数值会⽴即传输⾄当前寄 存器中。否则只有当更新事件发⽣时,此预装载值才传输⾄当前捕获/⽐较1寄存器中。
当前捕获/⽐较寄存器的值同计数器TIM1_CNT的值相⽐较,并在OC1端⼝上产⽣输出信号。
若CC1通道配置为输⼊:
CCR1包含了上⼀次输⼊捕获1事件(IC1)发⽣时的计数器值(此时该寄存器为只读)。
9.
⾃动装载寄存器
⾼位(TIMx_ARRH) 和 ⾃动装载寄存器低位(TIMx_ARRL)
⾼位(TIMx_ARRH) 和 ⾃动装载寄存器低位(TIMx_ARRL)
这两个寄存器复位值都是0x00。需要注意的是,⾼级定时器TIM1和通⽤定时器TIM2,TIM3,TIM5都是16位计数的定时器,操作寄存器的时候要先写⾼8位再写低8位。⽽基本定时器TIM4,TIM6是8位计数的定时器,是不分⾼8位和低8位的,所以操作基本定时器的时候寄存器名字是(TIMx_ARR)。 操作重装载寄存器的时候更新的值不会马上写⼊重装载寄存器,⽽是等到有中断产⽣的时候操作的数值才会写⼊寄存器,当然也可以⽤软件的⽅法产⽣中断。
10.捕获/⽐较模式寄存器 1(TIM1_CCMR1):
通道可
⽤于输⼊(捕获模式)或输出(⽐较模式),通道的⽅向由相应的CC1S位定义。该寄存器其
它位的作⽤在输⼊和输出模式下不同。
0C1M[2:0]:输出⽐较1模式
该3位定义了输出参考信号OC1REF的动作,⽽OC1REF决定了OC1的值。OC1REF是⾼电平
有效,⽽OC1的有效电平取决于CC1P位。
000:冻结。输出⽐较寄存器TIM1_CCR1与计数器TIM1_CNT间的⽐较对OC1REF不起作⽤;
001:匹配时设置通道1的输出为有效电平。当计数器TIM1_CNT的值与捕获/⽐较寄存器1
(TIM1_CCR1)相同时,强制OC1REF为⾼。
010:匹配时设置通道1的输出为⽆效电平。当计数器TIM1_CNT的值与捕获/⽐较寄存器1
中国机电供求信息网(TIM1_CCR1)相同时,强制OC1REF为低。
011:翻转。当TIM1_CCR1=TIM1_CNT时,翻转OC1REF的电平。
100:强制为⽆效电平。强制OC1REF为低。
101:强制为有效电平。强制OC1REF为⾼。
110:PWM模式1- 在向上计数时,⼀旦TIM1_CNT<TIM1_CCR1时通道1为有效电平,否则
为⽆效电平;在向下计数时,⼀旦TIM1_CNT>TIM1_CCR1时通道1为⽆效电平(OC1REF=0),
否则为有效电平(OC1REF=1)。
111:PWM模式2- 在向上计数时,⼀旦TIM1_CNT<TIM1_CCR1时通道1为⽆效电平,否则
为有效电平;在向下计数时,⼀旦TIM1_CNT>TIM1_CCR1时通道1为有效电平,否则为⽆效
过渡时期
电平
11.控制寄存器 1(TIMx_CR1)
复位值0x00,这个寄存器对所有定时器适⽤。

本文发布于:2024-09-22 14:39:28,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/190701.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:寄存器   输出   电平   通道
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议