|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"
1 O6 @) A$ h& x//p1.2输出50%方波,p2.1和2.4输出50%和25%波形$ Z* T, Y/ @" n
void main (void) 0 o/ y- m6 J/ P
{ 3 g4 V4 B1 Z% k. G( w( c+ O
WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗
0 O3 w4 f" U9 ^, ^ ! f3 _1 c+ F3 n x2 D) `- d; A
//定时器A0的3 Q% r, m- W/ ]
TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, 7 b, s) L& {0 |. Q
// TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
0 Y0 A V' P& Z( h" U' R) e8 v+ R // TACLR=0x0004,清除定时器A计数器
# t! \2 Y; d7 y3 ^% W0 y8 J $ |" R/ [( B1 \
CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s
' _4 O4 E- B! X8 c/ ] CCR1=6000; //占空比50%! M4 R) L7 Y) ?* T
CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,5 R6 I; ~) b6 w# G z
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,: K, Q$ @. @' P0 }* w
//OUTMOD_7与之相反/ I* V1 t* [' ~) z4 a* q+ g
: k' a$ S/ x+ A" }
CCR2=3000; //占空比25%,错了,没有TA0.2
) Z2 }; O* Y$ `3 |4 E CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
2 o. \0 ?$ D# F7 L ? //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
9 N# ]4 q2 x# N* k1 w z& w //OUTMOD_7与之相反! Q+ ?8 @- w, @. m3 W# ]6 o
P1SEL |=BIT2;
* e1 o4 j1 ^1 r: k; i/ e! n. T P1DIR |=BIT2; //输出 TA0.1
! y" P* @ U9 C 9 I( V1 u# Z* s
1 W6 k/ H/ R3 a8 p) g! H & ]! M9 u1 C/ ]2 K) m
//定时器A1的
' z+ J4 y' `3 A8 j TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, 6 }' B% b. \& N
// TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
; \2 J# x0 |7 O" j // TACLR=0x0004,清除定时器A计数器 3 j3 h$ ]4 ^8 z" ?% [
TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
; J5 P7 E9 I5 }/ o$ ^$ y / \ R J# O9 Q6 G/ }% |% [
TA1CCR1=6000; //占空比50%
) W% _. N1 ^6 w, M9 D+ e TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
' H4 `2 g& ?$ }6 Z: e$ | //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
, M/ [ i8 I% o% ^+ q0 r, G //OUTMOD_7与之相反3 z1 {: c0 J/ O" w# _- Y' y* _3 E, t
TA1CCR2=3000; //占空比25%. \ H. N4 i# K5 W$ {6 B
TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
) I" P3 M( ^5 G+ f o) p //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,+ O% t9 r5 S- \/ j9 Q. ^5 V/ d
//OUTMOD_7与之相反6 Y3 |, F4 P: M+ b3 k
P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2! l5 Z& Y" [- a9 K- W, a$ p8 {2 w
P2SEL |=BIT1+BIT4; 8 l) t! t- H# V+ z" D, M* C" M2 ]1 I
while(1) //无限次while循环
' v3 T- |2 z" F {
' o) l7 M0 d C) F6 S! O1 H V _NOP();/ R! v) ~$ G$ m: i% ]% Z1 m7 q
}
7 h2 j5 f1 a1 b& Z7 m} |
|