|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"
5 y" N) l: @$ |- \& Z5 z//p1.2输出50%方波,p2.1和2.4输出50%和25%波形/ A1 v+ S2 w9 b& q5 M/ Q3 n4 p
void main (void) 3 Z k$ X" F1 e
{ 1 F( K' F! `# ~+ F
WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗
' Z/ @" p2 c9 [% i% `* J3 {* n6 m " E/ y3 M, V6 P, P
//定时器A0的
8 q& f1 z, U, J A7 j% y TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
+ X5 l, w( }6 B+ `9 s# r // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; : |1 w3 R. P# H3 N
// TACLR=0x0004,清除定时器A计数器
7 X+ {1 Y3 b$ B; S0 ~) u 5 I5 O& f+ ?$ G5 G7 w
CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s
) B7 y4 ] T P F: J+ V CCR1=6000; //占空比50%
3 z. e# A( a) x5 ~9 A# m* k- G CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,% E* t6 M9 }' i9 ^7 s7 H) L
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,2 @6 M* L4 g5 k
//OUTMOD_7与之相反
& x6 ~4 i; M2 X. N $ t% @! @, b& m7 b7 i
CCR2=3000; //占空比25%,错了,没有TA0.2
9 R% d& T6 n+ p6 _) o6 F CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
3 w i7 j V; e+ d/ @4 _9 T //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,9 Y( U& c9 Z [5 t
//OUTMOD_7与之相反$ A, a" u. H L
P1SEL |=BIT2;
/ G7 l: ]. i* f* } _ P1DIR |=BIT2; //输出 TA0.1
/ R% O7 _% I9 U# u& O5 n
' e! X' n8 c& e, Q ?+ v# ]& `! S0 d- M! F
/ [ d1 i. M6 `1 J$ `9 h
//定时器A1的9 a7 q0 f9 `# {0 X e
TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
! T, H3 J- L( H9 ]9 ^) E/ \ { // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; ! B2 f: r! \# s E
// TACLR=0x0004,清除定时器A计数器 5 H. O8 r" { z0 l
TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
: b$ W, K9 ^4 w9 l+ z , u1 a* O& [1 P+ u
TA1CCR1=6000; //占空比50%
. ~( ~6 L' C& s3 e) A# r TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
! ^. u" D9 V: s2 m8 C- V1 {; o! L/ O //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
. Q/ A% | ?+ [7 P3 c l- s //OUTMOD_7与之相反) c1 J( T9 d+ d4 Q
TA1CCR2=3000; //占空比25%
; W5 ^8 h1 C. ~. r1 A TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,9 J- _! R# f% H m# a: p& ~
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,0 N" U: ~3 ~+ E, q
//OUTMOD_7与之相反
% s, h9 l. F8 M! {# { P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2: [! o( _1 a" R- m
P2SEL |=BIT1+BIT4; % p" y( H0 W2 M: O" A
while(1) //无限次while循环
/ a! z" c! y5 h( U( E8 j {
( s( m# m' T$ q v" H. \* b: F$ w _NOP();! }8 A4 y. t1 j' y( H* A9 g
}
$ Z: v, z0 g% q8 X. D} |
|