|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"$ K) ~9 W- _: t! J
//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
@0 R# L* k- r* [+ Q' b4 Z* Jvoid main (void) S. ]0 N, B! |4 A7 ?$ `. `
{
P8 ^; j( |: ?' B WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 ( [1 J s9 U- e8 l
/ H5 U8 }/ c3 F: u9 n2 _# b/ J4 B } //定时器A0的
* w; h1 Q; B2 K: _ TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, . @8 g1 u2 R- ?0 v& S( |2 {
// TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; 3 [+ C. \- e( K) M& B6 H
// TACLR=0x0004,清除定时器A计数器
( c V- b: a4 _' v$ G4 A1 r. M- } " ]% p# V4 u5 R! R6 w
CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s
4 R* X4 Z! h1 i' ? ?4 ^! G$ r CCR1=6000; //占空比50%
: F) }$ p& Y+ G CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
7 m4 E) ^& a' g0 _( M //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,' @ p" w2 Y- i z% d
//OUTMOD_7与之相反, J- P" \$ f5 e3 Z4 o
, f# y' S/ P8 l4 F0 @ CCR2=3000; //占空比25%,错了,没有TA0.2
6 F( T; Q/ m+ R1 i7 x$ F CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,* z+ h5 b$ s$ r
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平," E3 n7 F& [+ r) r4 r& t- V
//OUTMOD_7与之相反6 X3 _1 ]7 h+ U: f
P1SEL |=BIT2;
% [6 c, {+ t: R8 l& S1 d3 G P1DIR |=BIT2; //输出 TA0.1' F, g, K5 C) C* Y9 [* z& v
e. ]0 V; i1 J
4 @- J- L% t7 \, p+ K: _
" x: y9 w& W2 {7 s/ i" _% C# I- b. { //定时器A1的( {# {3 g* k' I7 Z2 g2 O4 H
TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
: r' ~7 A) L- d$ i: V; J // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
0 l7 w/ B6 ^5 M: Q k0 X // TACLR=0x0004,清除定时器A计数器
4 l9 ~/ R" _) A4 N4 V1 j8 ]% h TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s 4 ^) d) m8 `0 w% D
! @! y) j$ h# z, G& g TA1CCR1=6000; //占空比50%
. z+ y# m- A5 { TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
: r' Y$ Y2 b' F( d4 Y/ S; W //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,6 |& ]" n* U8 N
//OUTMOD_7与之相反! T. ]* A$ ?; ?# ^( ?/ f
TA1CCR2=3000; //占空比25%
1 h/ d D3 d/ f TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
z( V: F4 \+ ~7 L' i2 ^4 T //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,1 y$ ?2 X0 ~1 r1 p. L. a2 x" z: V
//OUTMOD_7与之相反
5 f7 n8 W: w2 a( P P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2. e% E4 H h5 e" R* D" L
P2SEL |=BIT1+BIT4;
. d- |# [6 J6 i, j while(1) //无限次while循环 ' ~+ p# A9 W4 \
{
# C$ n. f, q8 H6 p& z _NOP();
4 D% c9 E( O! P3 S5 | }( E! \2 S1 T1 X. g+ ^9 r$ }6 Q2 t4 K
} |
|