|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"
. q6 g' Q a5 Z, j$ _/ h//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
2 m( S. u d- U, B% Jvoid main (void)
4 v0 Y' [0 q& t$ U& q{ 1 W; H0 g) H7 h) w5 n
WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 , Z7 p6 W; P/ i& D0 y. m0 e
( ^1 v W: m# H4 D# g+ D //定时器A0的* Z1 m6 [& j' C! g z
TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, % \, [5 U$ j# q( x. C
// TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
; v2 p9 X" [. R // TACLR=0x0004,清除定时器A计数器
( ]1 a6 D# w0 V5 j: b ]3 H " E8 s! m/ d, S" {: e
CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s 1 g# J7 i: \6 U2 U' m
CCR1=6000; //占空比50%
0 r" c, p4 I) _9 v1 i CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
% i5 g6 x" {1 {- e4 Y8 j //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,2 Q7 _7 H& m; e: y$ x( [
//OUTMOD_7与之相反* Q# p! F N+ l: L' X6 P
& z& w+ X y3 ^
CCR2=3000; //占空比25%,错了,没有TA0.2
9 {, }7 g2 b7 W" P8 ]. } CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
# W0 O5 [9 J4 q2 [ //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,; i0 v2 R; Z+ D$ A
//OUTMOD_7与之相反
9 c2 s1 |$ @% g6 ]$ z M2 ` b P1SEL |=BIT2; . E% ]+ @* [6 c& P+ m3 q, V
P1DIR |=BIT2; //输出 TA0.1: m2 v* [$ t: g1 L) I
. t4 b& s1 v- F: B {) f! a
9 e2 ^" c/ o' U% g* D9 A
: M: h4 L+ \, \ //定时器A1的/ R& {7 B! Z. L6 |
TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, + J! \% p' E4 J0 H& d5 P1 m Q
// TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; U, W: m7 w' i/ m" Y1 u W7 t
// TACLR=0x0004,清除定时器A计数器 4 P2 h4 N7 N1 g* }5 _- m! p2 ?
TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s `1 {! b% v( P* U* e7 o
0 A" ^7 E* [3 S) l0 @0 D
TA1CCR1=6000; //占空比50%5 \ ?% A+ T ^
TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,. s7 B2 X% u* ^
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
7 O; i' o+ l# X/ K7 x$ M" S //OUTMOD_7与之相反8 |( d# i- _3 C8 L# B/ M7 t5 T+ ]
TA1CCR2=3000; //占空比25%
2 D |$ a2 P% T TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,0 W1 k2 u" |- ?5 H* P
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
/ b/ h0 I3 r" E- O: Z, G: s //OUTMOD_7与之相反
# P- m* N5 N5 O$ D1 P3 v! Y P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2( k Q% I! |7 L4 |& U; e
P2SEL |=BIT1+BIT4; - W8 \8 ]4 R8 a' w( F& K
while(1) //无限次while循环 % X, s$ ~ H* f. f n' ]6 o: G8 M
{" P2 H* c. S, j) Q
_NOP();+ [5 z, M4 W/ g1 W' s9 W& K" b! f- I
}
# J4 S" T" [8 x' E% s. v} |
|