找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 77|回复: 3
打印 上一主题 下一主题

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1306
跳转到指定楼层
1#
发表于 2016-6-22 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
#include "msp430g2553.h"
0 l! \2 @$ y7 ?5 A$ d  w$ w! M//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
$ W/ v$ j, w1 j) p2 Qvoid main (void)
+ H8 H+ u- ?- a. t- W' d, g{ . z7 L& ~! a# _3 G; p& y8 ^5 y) X% X
  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 ! b$ m5 B+ S# g( c1 U$ a- L
        
2 @% R! B. L0 a$ o( t  //定时器A0的$ R: w$ f# Y  e% @  v
  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
3 G" H$ z6 s8 k& z  M4 a4 F! z- f    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; 6 `/ x( f1 R( ]( ~
    // TACLR=0x0004,清除定时器A计数器
/ P* x: W" f; E) v3 }( P  
+ _" _7 C  }, u( G7 D) a; e. Q6 T  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s    H( K  W9 l. C
  CCR1=6000; //占空比50%0 {+ n7 ]* {' U4 t# t
  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
" J4 R! Q: [% {# V% V4 k  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
, T* G: n( y/ ~* e9 |2 z7 g% {( G  //OUTMOD_7与之相反
1 B4 M% V  J, s3 V' C  # G1 `7 Q$ n3 t. R( w* G& J9 Q+ X
  CCR2=3000; //占空比25%,错了,没有TA0.2, A9 {9 ^. \' g+ N$ ]  b" H/ G
  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
2 n/ E/ c; t" [+ M5 t" \! {  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
; y2 V( M2 T- B  n  //OUTMOD_7与之相反
* d. r% a; b1 e4 v  U- \7 E% f  P1SEL |=BIT2; $ u2 q3 u- b) O- f# N+ m- m% v
  P1DIR |=BIT2; //输出 TA0.1
7 S+ A- k6 _0 G- u  b  9 ^. D7 f6 {, z8 }+ B: ?. ^1 T
  
7 M  R: D" K) m0 S  
' i6 [) s1 H1 `  //定时器A1的
" W4 ?- V3 L' ?5 ^) h  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, 2 I- Y5 U1 z/ @' ~1 q; ~
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; . v5 \; ^: w: u1 W5 l9 P' ~8 y6 g1 Q4 L
    // TACLR=0x0004,清除定时器A计数器
8 a6 Z& ]6 j7 O+ Z/ T+ |# c  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s 4 M, {& c5 G; f2 P4 _/ j8 r
  2 L! i/ G' |) B' H+ t
  TA1CCR1=6000; //占空比50%
" z4 H- E- M/ u7 k; X  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
0 y$ X9 ~2 {: |$ Z, h  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
- s9 w  C6 ^/ j  //OUTMOD_7与之相反
) @* G, M9 c9 O) e) ^1 Y* E  TA1CCR2=3000; //占空比25%+ Z: S, p  @4 G- ], l
  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
* i+ }& K9 l- ?: p5 u7 P  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
3 @: J7 T( T* C  //OUTMOD_7与之相反
5 R' L4 K5 O8 p; B4 h  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.29 A% Y& i) A1 u  s7 W
  P2SEL |=BIT1+BIT4; 8 S- h+ s- c# m5 \. f
  while(1) //无限次while循环
% l+ U9 i; U' d4 ~( e  {
, b; M8 V* i! T     _NOP();
  V9 w* z  b% z) H( W, T% E  }
$ j- x! o6 I+ k! E0 d& q2 G}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

245

主题

1028

帖子

1921

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!" O/ H# E: [+ ?# D$ s) E

159

主题

583

帖子

1229

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!- i. O5 U# g, J8 H& B

157

主题

559

帖子

1198

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享& n# J; u  H# t" N
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-19 06:25 , Processed in 0.053560 second(s), 32 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表