|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"( \/ P1 ^% v- N- J% |5 Q
//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
) s: N9 w$ N0 Z5 ?4 N( P. Jvoid main (void)
" _" c. [" \6 z, D{ . m, k& ~0 y! x# D9 S# V, N
WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗
8 C) ]9 `" `; v* W3 J n, L0 f: ]( M 9 C& D+ S6 k% L' S% J5 q. P2 m9 }
//定时器A0的
( J4 H P2 j% s7 D TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
4 D6 i6 h$ t/ P // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
" Z- T [) T( ]$ X$ I // TACLR=0x0004,清除定时器A计数器
0 H H9 p* U) m& K & U' g% P2 V3 m4 R
CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s
3 b: e4 I5 e1 B: u/ ~- }6 I3 d CCR1=6000; //占空比50%
7 j7 f$ z* D( \) e- p* [2 m+ R4 c0 ~ CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
7 O0 B4 W% E+ @! k4 A //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,+ N2 C) `2 i* G4 w/ N5 M% N' h* H' B' C
//OUTMOD_7与之相反5 `1 H6 T9 E9 `
8 l# Q2 P9 j( c2 `. B" S
CCR2=3000; //占空比25%,错了,没有TA0.2
1 z" I) E3 V% \ CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
9 n0 a# o! U3 m# k //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,: z( q" a" L [9 D
//OUTMOD_7与之相反- E# X P) L" l* ~' e
P1SEL |=BIT2; 1 o7 l8 R& T5 R
P1DIR |=BIT2; //输出 TA0.1 b+ e; S9 R' c) H1 Q1 m# Z) G5 y
+ Y) L! d& x. ~* ~$ e
) n" g, W2 T* ^1 i) y9 a
* U ^6 s0 I1 ]9 \ //定时器A1的$ Q" P% X2 Z' B% b( Y+ \" t4 e
TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
/ u* s& F, O' F* B# q0 q // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; * z( g$ y/ Z: q; ^& d
// TACLR=0x0004,清除定时器A计数器 8 |! L0 X/ _8 @7 k
TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s $ L0 C+ |( p1 Q N( u; I
& ]4 w0 A5 c: ]* _# D* h, D4 o1 o TA1CCR1=6000; //占空比50%
# o0 n& I5 ]# Q0 H TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
4 N$ N$ y1 O% P; p: C //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
: }3 f3 i. o* P) y& f //OUTMOD_7与之相反. O( u: V& G7 y1 @, J
TA1CCR2=3000; //占空比25%
1 z- `4 O m8 n; q; Z TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,4 @& a& E, ~( \% i
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
; m7 d0 T* T; }. S& N, T% ^ //OUTMOD_7与之相反/ U4 b: q. P0 a* D- @2 e! {, q; ?
P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2
N2 Y, N; A! }; N P2SEL |=BIT1+BIT4;
& O, L+ ?) d! P0 b# Y# l: j! d while(1) //无限次while循环 0 e; T m0 h* |, c6 N7 O# J7 _% ^
{$ ]) d" s' Q& _9 k* _# q; s6 \* U- j
_NOP();
, c# R1 X) X V }# \! L, m2 x' q* D& ]
} |
|