|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"
) B; [2 x( O* w& O9 s% D//p1.2输出50%方波,p2.1和2.4输出50%和25%波形$ [- Z9 p/ [. W/ o' J$ h
void main (void) : M! H% X/ y+ d: l3 W9 j1 ~
{ ; C6 j! J( U, y- o! z; r. Q3 G
WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗
) Q* Y/ ]6 [) M: E! c' S2 J1 ?6 ? 5 y; n& ?- l' Y" S- \0 R
//定时器A0的
, e* D. n9 `3 D( x' `8 \ TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
5 f. }, _3 B, A: j // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; ' ^; ? S& k- o% x. G5 `! ^
// TACLR=0x0004,清除定时器A计数器 $ ^4 o( g7 G) q+ a
5 \' f }7 v7 e CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s
' g6 J( Z6 N! `8 l4 P# D/ Q CCR1=6000; //占空比50%
* i/ ~1 b/ r' e! C1 Y CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,+ a% P/ J2 t! R
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
0 T' h3 P$ n: x ]4 C* | c( @2 X //OUTMOD_7与之相反
0 s- D9 i1 E/ p4 d
[, `$ e/ w0 F! Y% m CCR2=3000; //占空比25%,错了,没有TA0.2
1 u6 u' B4 D& q; m7 P! g: ^ CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
$ ^* }; |- t4 \ //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,) l7 U& Q7 Z. A! I& d7 [
//OUTMOD_7与之相反( @0 l) P$ r7 u
P1SEL |=BIT2;
5 N- i) A0 [3 { P1DIR |=BIT2; //输出 TA0.1! C( P( |" L! D& s9 _
( P+ e. Z7 G* ]% a% t & j9 B* A$ o6 z) J1 {" Y
5 |$ J3 F2 T! ?6 B6 q8 ^ //定时器A1的
( j: v# D7 x( \% ~+ ^; ]! @ TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, % Q1 ?: ]- v, A, s
// TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
0 p0 w* U; r7 g, Q) n" P // TACLR=0x0004,清除定时器A计数器 1 _* [$ d6 X! X) g
TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
. u0 s5 p3 w2 X+ T
4 ~# ]4 c' ~6 g& a% R TA1CCR1=6000; //占空比50%; Y' y' ~0 j" E3 w$ s
TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,0 I/ I- i+ J# S, z- f
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
$ i' F0 p9 g1 c. Z; d5 G: { //OUTMOD_7与之相反9 z9 A8 y+ G, w7 [
TA1CCR2=3000; //占空比25%# O2 g/ U. R% u& I9 [4 a5 `
TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0," ]6 M( O) n$ c. l6 b& ]( C6 g9 H
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
/ K2 [* S, A( Y( K+ H. F6 q) ` //OUTMOD_7与之相反
# L/ k6 T! l5 r& ^ P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.29 r0 o; M7 p8 `: a( [! C
P2SEL |=BIT1+BIT4; : v, \2 E$ W& X
while(1) //无限次while循环 8 g0 C5 G- G/ _2 e
{6 m. C D# Q% X$ z" K
_NOP();# L0 Q s1 p# }
}
6 R: f, {2 @% F8 ^8 d, I9 t/ \" F} |
|