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

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

[复制链接]
七哥 发布时间:2019-2-27 02:26
本帖最后由 toofree 于 2019-3-2 02:31 编辑
2 ^& V) D1 z# M- z- d' ~" u$ ]* Q
: H5 R) I$ U9 \/ w) L
【STM8-SO8-DISCO】——7、TIM输出PWM,呼吸灯

! J- U+ K+ ]$ G8 P3 |. C! ~) Q
* L% t  C2 m* X7 t# L  本实验,在上一贴基础上,增加定时器TIM2产生PWM信号。通过定时器TIM2产生PWM信号,在主循环中不断改变点空比,从而实现呼吸灯效果。( h. F' |0 p; @) ~) ~! h
(上一贴链接:【STM8-SO8-DISCO】——6、TIM4时基测试 https://www.stmcu.org.cn/module/f ... 9541&fromuid=307297- }, g+ r3 y7 F

, W8 V) }2 r2 {, r) F, z  原理图显示LED灯LD1为高电平驱动点亮。
+ G$ @$ F9 D( ]; S0 X* o 01.jpg
, f2 l% U5 M2 m8 w
2 I8 @: g0 i1 a3 k+ R0 l  对应STM8S001J3M3为PA3/PB5管脚( q& N* x( k3 d# J0 j& h$ ^8 ^+ M
02.jpg & ^( p$ q, u5 ?4 q/ h8 _

: a: C6 j( O) `/ H, ]  使用STM8CubeMX,可看到PA3/PB5管脚,同时为定时器2的第三通道TIM2_CH3。/ d/ N3 i* v1 F$ o  f3 B" d
11.jpg
3 m3 @; P( s/ C; z- {6 K7 J( j
) ^; r$ X' Z% }9 ~4 a  ?) a! h  数据手册中TIM2的大致参考如下,详细功能操作请参考芯片用户参考手册。8 v( h" ~6 ~2 f8 m2 ^
21.jpg 2 p: @  [( p" T: S" n# v: x
5 d/ H# U0 ]/ P! m/ _1 K* b
  添加的TIM2部分代码,参考样例工和“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\TIM2\TIM2_PWM_DutyCycleConfiguration”。
3 ?3 _( g% S( @) N* H  添加CCR3_Val变量定义。
% ^9 _. L) y. J9 F6 J 31.jpg
$ {) g! h% N& l; P7 x. H9 n
+ Y# b% N4 E1 P' b  增加TIM2初始化配置函数调用。改变CCR3_Val的值,CCR3_Val从0逐渐增大到999,然后在从999逐渐减小到0,如此往复;更新寄存器TIM2->CCR3H、TIM2->CCR3L;循环延时1mS。6 E' }1 r+ K7 N3 N
32.jpg
! |0 G: U3 `  L, A
& M6 q' W2 s$ p  TIM2初始化配置函数TIM2_Config(),注释掉CH1、CH2通道相关代码,只保留CH3部分。
; N' Z- `+ Q% |7 f. y& W) m  TIM2定时时钟16分频,即1MHz;PWM周期为1000个时钟,即1mS。
" Z. _& d2 A; O& ], l  设定CH3通道为PWM1 Mode方式,PWM脉冲正极性;开启CH3通道CCR3预加载;开启TIM2的ARR寄存器预加载功能;开启TIM2。) z2 ?* l. g6 J2 I; l8 Y
33.jpg
  L$ ?  N- ]% a9 Q, V# s
0 d4 l! n: R( B6 F  编译,下载程序,并全速运行。4 v7 U; P1 E# x" E7 y
  实验现象为:程序运行5S后,板上用户LED灯LD1,由暗逐渐变亮,然后再逐渐变暗,实现呼吸灯效果。2 C# J0 f/ ?5 q( x* `( S
0.gif
( x4 M* ~! `- Q
+ a5 U) e% w3 T- j  用逻辑分析仪抓取到的数据,可以看出PWM周期为1ms。(标尺取了10个周期,共10ms)。7 Y; a: X) |% |- o8 V( t
41.jpg
* ~; ^; v  m" K2 D5 q$ l
$ |+ d/ `, o( i# @  由亮变暗,再变亮,过程中,有一个周期为全灭的状态,即转折点。之后,每一个周期,高电平时间将逐渐增加。
& A1 k8 ?  m2 D0 ?9 J 42.jpg 4 O( O& Z1 o4 w; z5 M

) y4 ?. j6 x/ A4 ]) \( C& K  将上图中,编号1号波形展宽,可看到高电平时间为1us;( }. J6 M8 s" A# p4 a/ Y
43.jpg % c# G' O9 X9 T  r+ a$ Y- s
  V  h& x, \2 E2 w( ?" l
  编号1号波形为2us
0 s; s) }8 Q" s 44.jpg
% d; E! t. A: ]6 ^: ]% J, `8 R. P+ ?; p; k  _
  编号3号波形为3us。
) {2 B. c& I7 L 45.jpg ( Y/ I) R; ^* w
) E' c& s+ q- ^) y  [8 t
  程序比较简陋,请凑合看。
# A0 v% }' V' t- M  h  @; W" e9 D6 S* C; |6 G
  本贴测试工程附上:
1 ~: v2 _; a! l9 R7 u/ m' o, S   STM8S_StdPeriph_PWM_OUT.rar (259.39 KB, 下载次数: 78)

评分

参与人数 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 手机版