|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"
% h# r- h6 y8 b9 B( b0 U, I//p1.2输出50%方波,p2.1和2.4输出50%和25%波形. w( X# f$ |% l4 _/ H: E
void main (void) 0 {% p/ Z( I% q0 L* o
{ ( f; s! A# x$ P& \/ d+ Y
WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 % H% `1 ?( R E& B& o
5 `, j$ A0 n# b$ Y4 |# d( L0 f //定时器A0的1 O4 u/ i; D- ]: c" |! ^, _
TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
& B$ U- j- m# _ // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
% ~- a: _- A- c, p' P' Y // TACLR=0x0004,清除定时器A计数器 2 ]" U' F8 }$ |9 q; r! c( V
; r b3 `2 R$ e4 C CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s
1 m1 T& A! p" Z, B$ D. ? CCR1=6000; //占空比50%
2 V* `" q5 i+ e& j7 ~- ~% E" q CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,4 j+ n5 [: y7 s7 K, J
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,& d m9 t; E0 }; `3 S5 x
//OUTMOD_7与之相反- r4 f% f, g% o* x
5 X/ |& i* y/ r8 O
CCR2=3000; //占空比25%,错了,没有TA0.2' \# i7 T) @' A9 W6 E
CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,! x/ v! j5 B- [3 c
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,' I$ g" k6 a, {, Q* b! c
//OUTMOD_7与之相反5 A) [9 ^8 Y6 I: w* a5 A
P1SEL |=BIT2; + k3 F4 a0 g1 m7 G( @
P1DIR |=BIT2; //输出 TA0.1
4 O4 d4 v' Y% U: Z! A) M& [- | 9 f9 `/ Q& t! q# ~: W1 a
$ F8 T% I# b) P6 u
J# G2 ` }$ ]* e \- X+ k //定时器A1的# P" h: K* _, X4 k5 d" d
TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
+ _6 ?# {1 F( T4 y) q+ k // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
8 J1 x* g* J$ p // TACLR=0x0004,清除定时器A计数器 , L. s B9 X) C; X K8 k# S w* H
TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s 5 j! M% S! L7 Q' d
3 t) q7 `$ f% w/ }2 T4 {8 ^4 ~ TA1CCR1=6000; //占空比50%4 r' H& l) S: v
TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
+ R( v1 P; B) G% D( ^: A# b% } //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
2 s8 f1 }) Q! F3 I //OUTMOD_7与之相反
4 A, t8 }9 k @0 \ TA1CCR2=3000; //占空比25%
4 h. d; d+ g c1 i5 ]+ c TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,# A& b3 I7 G5 d" j) o Z
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
3 n2 _6 M- T, e, M; i) t" c7 p //OUTMOD_7与之相反
- N+ \- t" J' ] `' m P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.29 H N/ e1 `2 C) T/ V3 P
P2SEL |=BIT1+BIT4; ( J3 d- p& s- P: J; |2 `
while(1) //无限次while循环
& \1 w5 |; U' V: E+ A7 @5 g {' C ?) U$ w, y8 J" D
_NOP();7 S. K* g4 Q* F, g+ r! M
}
) m j2 |6 P; O# x9 ]} |
|