|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"
2 T( f# r ^; Y3 S# ?4 m//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
8 c- D5 O& ?; q6 z& U5 Y! F+ ~. m0 Evoid main (void)
- }. Z6 T# n7 k# N" m{
3 X9 s5 @' u% H2 `5 Y/ D WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 . n- t6 ^) o8 |1 B: O9 M0 J
. n2 @- ^; Q4 i8 i6 f4 z. M
//定时器A0的
+ {3 {9 |" Y7 _" w: n% u+ L$ U; s% p TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, ! E/ `* y! S& `5 e
// TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; * g) [0 M( G" _' x, U' @6 i
// TACLR=0x0004,清除定时器A计数器 - ?, v, f/ j# Q3 t
4 H2 }1 K' [$ j/ E- X; U# l
CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s 8 E3 i8 d6 y, ^( d1 Q" C
CCR1=6000; //占空比50%% w4 m/ x: e2 `9 }* W {( B5 F8 G
CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,. g, Y3 b, {" k: ^
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,5 K& U0 Q- L5 c1 g; S
//OUTMOD_7与之相反1 x* j; |& D! |2 K
8 K* t" v3 _4 }4 v. e7 T
CCR2=3000; //占空比25%,错了,没有TA0.2
( o3 D, `- I, j! ?0 z3 C) j CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,: P3 Z" w4 \5 v& c
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
h6 ?7 `, A- c3 q8 |. u9 \ //OUTMOD_7与之相反. u8 B; [$ F3 Z6 e* R2 o
P1SEL |=BIT2;
?! G% P$ [- p9 | P1DIR |=BIT2; //输出 TA0.15 D7 X' z+ U9 h- _. Z2 F c
6 Y, \7 X3 Q W- H" S 1 G. h4 q9 d7 r, s/ u! {
/ {! B; E0 H/ x: y/ e1 J' f
//定时器A1的
; u- ^- V4 V& c5 q3 m TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
6 A# k1 l% z0 L: b // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; , o- l8 C- M% E' P1 \/ R6 T( F
// TACLR=0x0004,清除定时器A计数器 : k: J- l. o; u, M% ^2 Z) B" Q& v
TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
: @. K! z( b; i0 a
4 D: U& J3 w- r TA1CCR1=6000; //占空比50%
7 v2 t; p! o1 g. `, V6 X/ m/ S TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
! j3 j% D) m" }2 g. d6 g% r //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
3 O5 g+ {% T. c" b5 M& M; _& c: w5 D3 S //OUTMOD_7与之相反, F( Z2 R2 J2 a4 {% ^
TA1CCR2=3000; //占空比25%- e5 H# i/ y: S' J/ R+ l
TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,, V% v6 ^4 L# l+ _+ P, u6 l5 I
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
- k4 S& H9 `2 J, K //OUTMOD_7与之相反, l$ c( _5 e6 y0 V1 r9 b
P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.28 V/ f) `% T$ x. X1 f) L7 F
P2SEL |=BIT1+BIT4;
& _+ \+ \; R& u+ u7 L4 ~' i6 y while(1) //无限次while循环
1 ^( X0 Z' n! N- P {! a9 v) e6 ^. `* ~* k% U1 C
_NOP();2 |8 x- d, \2 b3 r
}: v- r7 a4 ?5 _
} |
|