|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"
" \8 m$ P4 M% X" |5 e3 T3 H, j//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
. _7 C: a; B% E, o0 R" |void main (void) . N8 `) v/ j9 C- _/ h9 C& m; L" z
{
- W1 h: p% ~) y' b) H' K* S0 h WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 # J# s L1 F! F& t I3 r/ z
' c. c3 ^: C' T( q& @& G9 T //定时器A0的
2 T* f* n! G4 N `3 V+ K8 {/ V TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
8 R) w5 x8 m3 J: W; R, U- ]; S! m; W$ } // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; }9 p& j6 d0 Q
// TACLR=0x0004,清除定时器A计数器 + S1 T: F' [, F6 G8 c; H* X
7 ~' c- u( u! k CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s - }2 V, I+ }: D% l
CCR1=6000; //占空比50%8 E4 T& Q- u& d, l/ Q$ _' D+ V
CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,6 Y% B( d, m* b! x6 C& v7 |4 y" D
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,2 J3 b2 \, ~% m: M; n" g V
//OUTMOD_7与之相反) c0 D* ~- n8 }1 @. m
F* g4 z# V A: u* r: r- ]
CCR2=3000; //占空比25%,错了,没有TA0.2
) G6 R0 a* A4 h" T CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,3 E0 N; K3 O9 p% B3 h# `
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
* Z% V8 k7 _* E' f1 S$ d //OUTMOD_7与之相反) d( H6 R3 R' [. h; k0 J
P1SEL |=BIT2; % }. j' v; m$ q8 p j
P1DIR |=BIT2; //输出 TA0.1
, V$ c# z8 q. ~; a 3 ^: O/ `5 _4 B) B3 }" \# e
8 k3 M" v: O* l$ K 2 y; t; u, |4 n: q# L
//定时器A1的' c9 l: M( n. l1 F! o+ L4 t, q
TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, ) v2 q7 Z6 i. _) r
// TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
8 h. q6 m3 g/ V" @' H( W3 {1 g, H // TACLR=0x0004,清除定时器A计数器
& v* S& f9 k' D2 U4 ?0 ?" g# l TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s 5 C$ H6 ?. {2 p$ p
% g4 ^" F9 l$ E5 f+ s3 M
TA1CCR1=6000; //占空比50%2 C' W2 e9 u, P A+ P
TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
! N9 z( }2 N" J& m9 w2 b. g* \: o //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,- ^) E0 T( b+ k# i6 x
//OUTMOD_7与之相反
) d! N) W1 R3 W& v, `. k TA1CCR2=3000; //占空比25%
4 u- S' x8 ^' | TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,( ?, \: L9 b6 |) J
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
7 D' s8 P; H: p+ }. i9 x3 j //OUTMOD_7与之相反# d0 n' ` c! R, a6 m. o
P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2
0 ]! M- u& [3 p" l% t/ P0 g P2SEL |=BIT1+BIT4;
" D; F( s& D9 \, i) t/ k while(1) //无限次while循环
) r/ b: \2 M; v% R' S {; W( g9 a0 @+ p, O# f2 U* i$ [
_NOP();4 k" I5 f7 |! `
}' d7 y7 I8 }1 r! j5 x
} |
|