你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM8-SO8-DISCO】——7、TIM输出PWM,呼吸灯

[复制链接]
七哥 发布时间:2019-2-27 02:26
本帖最后由 toofree 于 2019-3-2 02:31 编辑 ! d6 A! z. l7 v  A

1 L/ r" M& C+ A3 p5 Q" o# ?. ~
【STM8-SO8-DISCO】——7、TIM输出PWM,呼吸灯

* v5 q4 x& ]; P9 x- k+ ^/ L5 e8 _
$ U/ [( d( T1 O4 J6 O+ w  本实验,在上一贴基础上,增加定时器TIM2产生PWM信号。通过定时器TIM2产生PWM信号,在主循环中不断改变点空比,从而实现呼吸灯效果。
+ k- E" B$ c  {(上一贴链接:【STM8-SO8-DISCO】——6、TIM4时基测试 https://www.stmcu.org.cn/module/f ... 9541&fromuid=3072971 c! T( B3 u" x

' w4 }4 k3 ^/ O5 m0 r2 m  原理图显示LED灯LD1为高电平驱动点亮。* _3 G7 X$ D3 l6 P" u8 U; P& I
01.jpg
# U5 x0 Q2 J6 z$ \$ B5 {  |3 k5 @* F1 q9 \: c
  对应STM8S001J3M3为PA3/PB5管脚/ [2 W5 y+ `* \  L
02.jpg
7 @) ?  l8 _+ |- e) P% X
& H4 O2 R& J9 B+ l  使用STM8CubeMX,可看到PA3/PB5管脚,同时为定时器2的第三通道TIM2_CH3。* V3 I5 }, J/ \' b; g2 Z
11.jpg
1 O) q0 K& S7 \# F: y3 E7 U+ D$ Y7 K: C1 M4 i3 f
  数据手册中TIM2的大致参考如下,详细功能操作请参考芯片用户参考手册。8 u. t$ F4 o1 G) s9 b
21.jpg
( G3 W+ U9 w% [3 E+ U8 t1 _- q) u. _/ s, {! E
  添加的TIM2部分代码,参考样例工和“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\TIM2\TIM2_PWM_DutyCycleConfiguration”。; U) Q) m' d1 o& C! u
  添加CCR3_Val变量定义。$ F* d/ u2 a4 n
31.jpg ; K- I% P5 f- }( L4 P

0 G7 `& `2 `7 k2 _. J% i' U  增加TIM2初始化配置函数调用。改变CCR3_Val的值,CCR3_Val从0逐渐增大到999,然后在从999逐渐减小到0,如此往复;更新寄存器TIM2->CCR3H、TIM2->CCR3L;循环延时1mS。- ?4 t+ g% G" ]7 d
32.jpg * s% {5 @" x5 P" y0 g5 l
6 F. S# w/ ~& m! P+ ]
  TIM2初始化配置函数TIM2_Config(),注释掉CH1、CH2通道相关代码,只保留CH3部分。
/ }+ X: W- @% V4 v/ S" Y  TIM2定时时钟16分频,即1MHz;PWM周期为1000个时钟,即1mS。
) V: A8 X# l' `- [  设定CH3通道为PWM1 Mode方式,PWM脉冲正极性;开启CH3通道CCR3预加载;开启TIM2的ARR寄存器预加载功能;开启TIM2。/ N4 `% t6 x& \  d
33.jpg : e! z3 x/ o/ E6 M4 Q& s
4 `% O/ N7 m& X
  编译,下载程序,并全速运行。
, s# w( s; x3 e3 a' N# ]3 b) ~' q: w1 z  实验现象为:程序运行5S后,板上用户LED灯LD1,由暗逐渐变亮,然后再逐渐变暗,实现呼吸灯效果。
- ?7 z0 R' W% f6 K& c8 r
0.gif " k9 X7 f; Q& P/ q# B3 ]; \# Z

8 w+ f1 F: I* {  用逻辑分析仪抓取到的数据,可以看出PWM周期为1ms。(标尺取了10个周期,共10ms)。
# D  y: `8 ^( t 41.jpg
  |0 J. E2 n* X' y
9 y6 p: L/ E9 k* O  W) o2 G  由亮变暗,再变亮,过程中,有一个周期为全灭的状态,即转折点。之后,每一个周期,高电平时间将逐渐增加。; P$ R, p" q7 G! X! L
42.jpg 5 S3 y% A' W4 e5 i& ?

/ y) P: q' ]: f# v3 C) Y  将上图中,编号1号波形展宽,可看到高电平时间为1us;
1 I8 k7 P' I' `- _4 T. v 43.jpg
3 j0 _1 S# i4 H3 X' B  h
' j* `8 [$ k2 n$ z) Y9 C3 U) z. q  编号1号波形为2us
# A" F4 O% ]/ `) y( P$ [0 ? 44.jpg
/ g- J1 K) s6 p' v) Q$ D( N/ Z3 H8 u' h% E" ?$ \1 R
  编号3号波形为3us。
+ h) {& |* L/ w! m3 J 45.jpg
8 e5 {" w) M# R+ v2 W. O: m8 Y' H" W) F( X4 x! W
  程序比较简陋,请凑合看。
& z; W2 ~9 _( W4 P$ x8 F" b
: s1 P. m0 a' Q  i. v! n- s  本贴测试工程附上:
' l8 H# X4 C, E4 f4 O6 {   STM8S_StdPeriph_PWM_OUT.rar (259.39 KB, 下载次数: 76)

评分

参与人数 1 ST金币 +1 收起 理由
toyourheart2018 + 1

查看全部评分

收藏 1 评论3 发布时间:2019-2-27 02:26

举报

3个回答
zhongya618 回答时间:2019-2-27 13:23:18
学习观摩
四季 回答时间:2019-2-28 18:58:42
感谢分享
ml8866 回答时间:2019-3-16 22:26:05
感谢分享!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版