找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
#include "msp430g2553.h"4 r( N4 W, v8 x3 B- e$ m6 g- d% u9 _
//p1.2输出50%方波,p2.1和2.4输出50%和25%波形& F6 x; Y! L  T* I" Q+ B
void main (void)
6 G9 k4 v+ Q, C# f# g{ / y+ T/ P7 c; w( T" b# d* e5 ]" l
  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 3 c4 h" S  B$ h5 z
        8 l' o* R0 L7 b  }' Y0 r
  //定时器A0的
  T/ O$ y3 N; G* [5 Q! b9 W) t  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
$ H+ N/ m7 y* R. z& E    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; / ~! H0 m/ J  e6 N; }
    // TACLR=0x0004,清除定时器A计数器 ; a$ z! D4 W( f
  
2 Q5 l! ~4 \- h4 X  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  
' K( w0 e( b2 _  CCR1=6000; //占空比50%7 l8 Y" H0 |5 h; p6 F4 |* E) f) u1 j- \/ Y
  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
: u" H6 A0 O4 D  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
* y. q) z. |3 r+ X7 a7 A  //OUTMOD_7与之相反
: q; {3 Z  B6 N6 C, @  
% ?+ K. _5 G# T1 Z' B  CCR2=3000; //占空比25%,错了,没有TA0.2
+ s  S! i  t/ G; g6 ?  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
2 T7 R  Z$ z- t" _5 [+ K  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,$ c$ w% o* |* Z
  //OUTMOD_7与之相反
/ b: \1 W8 y) ~$ u/ H4 D% ?  P1SEL |=BIT2;   F: ^. V6 p6 M8 x
  P1DIR |=BIT2; //输出 TA0.15 K* b! p) r. c' w
  , Q! K! G, m8 G
  ) ~" e6 }) g' ~! ?" b" G
  2 @0 U- D6 [1 w+ D% g$ Z! G/ O
  //定时器A1的+ A  }) p4 \) a
  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, % b$ C$ X! L3 ^4 e$ X
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
: A3 A' y# v/ G$ B& Z% Z! w    // TACLR=0x0004,清除定时器A计数器
% ^4 r$ h7 ~) t+ b7 g  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s . e3 Q4 ?4 t4 I# d4 q& P4 a; T
  
1 G  S5 s( i0 {' b" i7 B) E  TA1CCR1=6000; //占空比50%0 a5 @/ [6 ]8 y  I! A5 N
  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,! Q+ G  ^: }: A/ I4 B% Y7 ]# i
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,9 F4 \- B# S; D+ M
  //OUTMOD_7与之相反
! O) c% g$ [& ^( v" d5 Z  TA1CCR2=3000; //占空比25%
. W  [* q' c5 E/ F& l! o# _5 g0 S( {  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,: N+ U7 T& e" [, W7 U, A4 t3 d
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,4 q' D7 {6 N! }4 z" h! z3 ]6 R3 D
  //OUTMOD_7与之相反, L$ \% _9 D3 g0 O0 x. y4 W6 Y; f5 P
  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.20 H  |. [/ G: P, {3 x8 B
  P2SEL |=BIT1+BIT4; : Y5 U! L# P" L$ Y' V* t% s
  while(1) //无限次while循环 # ?& O" u' x5 r; E; S& @$ _
  {0 S5 z- W" P- B3 i
     _NOP();
! f  f, p4 N4 q7 v. R- s  }/ `+ S' ?7 a; {( E  F* T
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

245

主题

1028

帖子

1921

积分

四级会员(40)

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

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!
9 a! `) b! ~/ G3 W

159

主题

583

帖子

1229

积分

四级会员(40)

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

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!3 d! Q5 g4 P& n: m3 u

157

主题

559

帖子

1198

积分

四级会员(40)

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

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享3 C- v6 z  G% d9 |/ A1 J
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-27 17:08 , Processed in 0.070926 second(s), 32 queries , Gzip On.

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

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

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