| 
 | 
	
    
 
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册  
 
x
 
#include "msp430g2553.h" 
" v* J- A3 J3 o! c, I: \0 X2 d//p1.2输出50%方波,p2.1和2.4输出50%和25%波形 
. t( @, S( B" o2 c5 [. e9 e* ~, Mvoid main (void)  
/ n( V  ?9 q  K; \+ P; {, F{  
0 d* H8 p+ ~; x8 q0 k+ J  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 $ e& X, I1 l' h5 l5 [* ] 
        9 ?8 |5 I' y; O# ]9 _1 ` 
  //定时器A0的 
( j9 }9 v0 u* w; z* f- u5 i/ y- h  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,  
4 X3 G$ Y* E- A5 z8 }    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;  
8 Q4 w  Y, M. H0 U4 f/ C$ b; Z' Y    // TACLR=0x0004,清除定时器A计数器  
2 f6 ?  D( I% |. I1 R+ X' d; N" P  $ E. @( E7 ]7 n0 ^ 
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  2 Q8 ?2 u2 r+ z 
  CCR1=6000; //占空比50%9 {/ Z/ h5 J  e9 I 
  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0, 
2 j* B. R5 V) o- R7 V  `  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平, 
7 t6 k- f# c! V) H$ W' H  //OUTMOD_7与之相反 
/ t8 d8 h7 y5 h+ x& h7 `3 {. d; T  4 ~8 u# c8 |. W2 @, h- M 
  CCR2=3000; //占空比25%,错了,没有TA0.2 
- o+ C; p" i; F* S' \  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0, 
/ g4 g" m. O0 E4 c4 d  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,) V: ?! V! q, l! S. F: v# e 
  //OUTMOD_7与之相反" n# J0 u' ]; e0 I$ P( z 
  P1SEL |=BIT2;  
# j- n; t2 o5 y/ K  P1DIR |=BIT2; //输出 TA0.1# Y4 O7 [% n8 |* F; Y' r! ^. [. q 
  / l) P" x* g' E! U 
   
' A, n$ @3 _1 x# @0 s% K: |7 \  ; n  h2 p+ R2 l2 M( X! l 
  //定时器A1的 
6 \4 _: E7 l" ]; N1 D* B$ {1 a  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, + F; g& J1 w0 f. k 
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;  
1 i( X5 o2 L5 D6 I    // TACLR=0x0004,清除定时器A计数器  
6 ~+ n( X& m) c0 e4 ]  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s & Q& u( b" _$ \; K 
    l& {4 K3 N' R9 v: h* M7 X- L 
  TA1CCR1=6000; //占空比50% 
9 N  [) k; B: F  E. e  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0, 
6 r1 |. d6 L2 X0 _# M  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平, 
; i2 l1 p, x9 H( X  //OUTMOD_7与之相反% ?( l1 B) O) \* q3 X  P% l8 R 
  TA1CCR2=3000; //占空比25%& Q( E- u1 ?9 e' _9 O 
  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,; s# ^' w0 E0 W1 `: \ 
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平, 
( N% k" Q) c* q. ]/ g  //OUTMOD_7与之相反( e0 ~0 }0 P1 V; E4 C  S 
  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2 
6 L8 c  l2 F0 P1 _5 u  P2SEL |=BIT1+BIT4; ! Q; x9 A* p" E" m8 O( j 
  while(1) //无限次while循环  
4 ~- p% w5 A2 P7 {0 P- S7 |  { 
1 |, g2 @1 _1 m, m     _NOP();  H' }$ U1 J" F9 O9 s7 ^ 
  } 
0 N. U: W/ v% s8 y2 d6 a}  |   
 
 
 
 |