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

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

[复制链接]
七哥 发布时间:2019-2-27 02:26
本帖最后由 toofree 于 2019-3-2 02:31 编辑 5 C  N2 b* U  S7 n: V
4 u. z" c: P- ?- @- ~
【STM8-SO8-DISCO】——7、TIM输出PWM,呼吸灯

9 d$ Q) Q* p( ~8 b+ L! O: @
, w2 p/ L* _( c9 K; l5 I, ?$ h- k  ~, ?  本实验,在上一贴基础上,增加定时器TIM2产生PWM信号。通过定时器TIM2产生PWM信号,在主循环中不断改变点空比,从而实现呼吸灯效果。* K, K9 a) p# R, @$ ?
(上一贴链接:【STM8-SO8-DISCO】——6、TIM4时基测试 https://www.stmcu.org.cn/module/f ... 9541&fromuid=307297
6 [6 l+ W$ Y4 D
3 P: ^, y! _  O# w9 S) l  原理图显示LED灯LD1为高电平驱动点亮。
$ H) ?: e# {: X/ A2 c, a! d 01.jpg ; S5 R; l$ f! m
' v0 d7 U( U# ~: g
  对应STM8S001J3M3为PA3/PB5管脚2 B# Z5 f' _. t6 ^! B6 Q2 I
02.jpg
6 j! O% w9 Z2 ~. x( V0 M5 n: f: f
6 c  Z( t/ p. C/ I/ Z  使用STM8CubeMX,可看到PA3/PB5管脚,同时为定时器2的第三通道TIM2_CH3。
$ G! o- @1 H# [" x. I/ | 11.jpg
  P/ B$ M' B+ R; F) Q& Q
/ [. ?6 D/ A. w9 N2 f9 w9 k  数据手册中TIM2的大致参考如下,详细功能操作请参考芯片用户参考手册。- \8 B! p4 V! V2 D% d! |
21.jpg
# P- s+ r+ Y2 B& Z& N# H+ G* _' W) P' o
  添加的TIM2部分代码,参考样例工和“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\TIM2\TIM2_PWM_DutyCycleConfiguration”。
1 J( N% B2 F4 @% J5 O  添加CCR3_Val变量定义。
6 }7 F! o0 [7 k2 N! t& _* p7 y 31.jpg ( i" ^5 G  D( Z
' Z1 C, a! t( v$ k( f
  增加TIM2初始化配置函数调用。改变CCR3_Val的值,CCR3_Val从0逐渐增大到999,然后在从999逐渐减小到0,如此往复;更新寄存器TIM2->CCR3H、TIM2->CCR3L;循环延时1mS。9 _8 n9 ^" h+ K" T/ Q
32.jpg
+ z0 g% h$ K& m5 z3 R6 Q
) ^5 X, N6 q* s4 v0 z4 f( R  TIM2初始化配置函数TIM2_Config(),注释掉CH1、CH2通道相关代码,只保留CH3部分。5 v" u' R6 P. W2 I6 b) M
  TIM2定时时钟16分频,即1MHz;PWM周期为1000个时钟,即1mS。
0 {, T' ]/ s$ U  C- W. L: A  S, {  ^  设定CH3通道为PWM1 Mode方式,PWM脉冲正极性;开启CH3通道CCR3预加载;开启TIM2的ARR寄存器预加载功能;开启TIM2。
( y% a( F+ U& }# A. m; Q' _. ? 33.jpg 6 v+ k( s6 k/ W) L
* N! X0 K% I& r; w: @' J4 j
  编译,下载程序,并全速运行。
( O% F$ j' R" |7 o' b* c  实验现象为:程序运行5S后,板上用户LED灯LD1,由暗逐渐变亮,然后再逐渐变暗,实现呼吸灯效果。6 |7 D7 }/ R& s) ^! J. B# T5 X
0.gif - M! p* ?' _6 V6 H# g2 W
! h" V6 H: O% F! p( q
  用逻辑分析仪抓取到的数据,可以看出PWM周期为1ms。(标尺取了10个周期,共10ms)。
* b5 a( j/ y' P( j0 G9 U2 [8 c0 I 41.jpg / R, ?4 ~( p/ Y6 j9 \; v
0 w; z/ }* T, |" N$ E
  由亮变暗,再变亮,过程中,有一个周期为全灭的状态,即转折点。之后,每一个周期,高电平时间将逐渐增加。
5 T6 L  Q' F$ A( [" ?/ B# z; u 42.jpg
9 y8 ]+ {/ r' s! G! q" ?$ e: }/ U7 r
  将上图中,编号1号波形展宽,可看到高电平时间为1us;6 w1 y& x6 e5 G" G' x0 i. G: W! c
43.jpg ( \* Y" k  z) C2 _) w3 m1 h

2 F; X, h9 B! J3 C+ z: y) ^9 B  编号1号波形为2us, ~+ @! J! D2 C
44.jpg
, J% |9 b3 m- f% N2 b+ ?) U8 S$ V$ X- X; O. N7 p8 R4 j2 _& b. |# ?
  编号3号波形为3us。3 @4 F1 l  h5 X7 {
45.jpg " \- |$ d! \" {1 l0 U# {

! I' k) U2 B: I( E  N2 w* k5 M  程序比较简陋,请凑合看。
0 l  L6 R' x: T
: o% {6 V! h# {; K  本贴测试工程附上:; N  U) r) _, {: i0 N0 ?2 c
   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 手机版