找回密码
 注册
关于网站域名变更的通知
查看: 398|回复: 3
打印 上一主题 下一主题

基于msp430g2553定时器产生pwm

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include "msp430g2553.h"( \/ P1 ^% v- N- J% |5 Q
//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
) s: N9 w$ N0 Z5 ?4 N( P. Jvoid main (void)
" _" c. [" \6 z, D{ . m, k& ~0 y! x# D9 S# V, N
  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗
8 C) ]9 `" `; v* W3 J  n, L0 f: ]( M        9 C& D+ S6 k% L' S% J5 q. P2 m9 }
  //定时器A0的
( J4 H  P2 j% s7 D  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
4 D6 i6 h$ t/ P    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
" Z- T  [) T( ]$ X$ I    // TACLR=0x0004,清除定时器A计数器
0 H  H9 p* U) m& K  & U' g% P2 V3 m4 R
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  
3 b: e4 I5 e1 B: u/ ~- }6 I3 d  CCR1=6000; //占空比50%
7 j7 f$ z* D( \) e- p* [2 m+ R4 c0 ~  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
7 O0 B4 W% E+ @! k4 A  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,+ N2 C) `2 i* G4 w/ N5 M% N' h* H' B' C
  //OUTMOD_7与之相反5 `1 H6 T9 E9 `
  8 l# Q2 P9 j( c2 `. B" S
  CCR2=3000; //占空比25%,错了,没有TA0.2
1 z" I) E3 V% \  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
9 n0 a# o! U3 m# k  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,: z( q" a" L  [9 D
  //OUTMOD_7与之相反- E# X  P) L" l* ~' e
  P1SEL |=BIT2; 1 o7 l8 R& T5 R
  P1DIR |=BIT2; //输出 TA0.1  b+ e; S9 R' c) H1 Q1 m# Z) G5 y
  + Y) L! d& x. ~* ~$ e
  ) n" g, W2 T* ^1 i) y9 a
  
* U  ^6 s0 I1 ]9 \  //定时器A1的$ Q" P% X2 Z' B% b( Y+ \" t4 e
  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
/ u* s& F, O' F* B# q0 q    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; * z( g$ y/ Z: q; ^& d
    // TACLR=0x0004,清除定时器A计数器 8 |! L0 X/ _8 @7 k
  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s $ L0 C+ |( p1 Q  N( u; I
  
& ]4 w0 A5 c: ]* _# D* h, D4 o1 o  TA1CCR1=6000; //占空比50%
# o0 n& I5 ]# Q0 H  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
4 N$ N$ y1 O% P; p: C  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
: }3 f3 i. o* P) y& f  //OUTMOD_7与之相反. O( u: V& G7 y1 @, J
  TA1CCR2=3000; //占空比25%
1 z- `4 O  m8 n; q; Z  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,4 @& a& E, ~( \% i
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
; m7 d0 T* T; }. S& N, T% ^  //OUTMOD_7与之相反/ U4 b: q. P0 a* D- @2 e! {, q; ?
  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2
  N2 Y, N; A! }; N  P2SEL |=BIT1+BIT4;
& O, L+ ?) d! P0 b# Y# l: j! d  while(1) //无限次while循环 0 e; T  m0 h* |, c6 N7 O# J7 _% ^
  {$ ]) d" s' Q& _9 k* _# q; s6 \* U- j
     _NOP();
, c# R1 X) X  V  }# \! L, m2 x' q* D& ]
}

该用户从未签到

2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!8 s0 M- O1 {" X" f4 ^  v

该用户从未签到

3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!9 v& D( r+ O2 v% [, J

该用户从未签到

4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享: {0 C: B) G& d- P! d! r
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-6 15:07 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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