|
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
} |
|