|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"
' C: s6 a9 n& p+ h- c- B: W//p1.2输出50%方波,p2.1和2.4输出50%和25%波形; m) O, t0 K; g" q) H# M
void main (void)
$ r5 t A( a+ E; O{
4 L1 \3 {6 Z7 |9 |4 b; t WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 7 ^7 i, N( M$ A! Z0 F
5 k. M& h ~' M( q* D! [
//定时器A0的
" Y3 q9 _( w1 C) U7 c TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, " y2 p' d, g$ d, t: a
// TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; " X9 ?3 g: K& E, z- v
// TACLR=0x0004,清除定时器A计数器
! R1 J2 _1 W4 n7 L: {7 d
q. D. S/ s% D CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s 4 X/ ?) g' d0 w3 a
CCR1=6000; //占空比50%5 b$ C; D8 d/ P3 a, B/ o
CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,: M2 {) c1 C. S1 H
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
+ v% P* u6 k4 g# ?, J- _ //OUTMOD_7与之相反
- d% d$ S( F, Y, a7 l
3 i1 k/ a; | X CCR2=3000; //占空比25%,错了,没有TA0.2
# Y! N+ D0 x! r+ F# S7 o CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
: x/ G$ K# P; g9 v. U //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,$ _4 x8 c) H' S' f' N- X$ r; d- X* c
//OUTMOD_7与之相反0 D8 v7 z" a: n7 b( N2 X
P1SEL |=BIT2;
5 q9 g: G8 X2 R! [$ i: k0 w1 m P1DIR |=BIT2; //输出 TA0.1" L' F2 S& h8 o- p) `" q
0 ~8 [( h* F1 m% d2 i/ c! l
5 z0 H4 R+ e7 m& q" Z4 K
$ V9 V6 q" e; R% L/ E //定时器A1的, b" O+ \# k. k0 k2 R
TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
2 Z8 _0 l& ?7 Y // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; 8 s) y6 W0 A/ B7 _
// TACLR=0x0004,清除定时器A计数器
, N$ U: |- d) |; w. t8 m& n, y TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
. d; R$ U# x: X 7 t2 V1 \8 u- M( H9 D
TA1CCR1=6000; //占空比50%7 D% \. n/ ]( t& ?( j& e4 o8 y
TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
& L4 G# m* T7 e+ J) a2 w. S; o" V //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
- c5 @2 o# K) J" e //OUTMOD_7与之相反
% ?% a# o# [& c z/ y TA1CCR2=3000; //占空比25%2 b; |0 ?* s3 |
TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,1 N+ A1 e# k0 `% A2 c' r
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
5 q% X8 j! f9 c7 d! h5 e4 e //OUTMOD_7与之相反
0 H w$ d! G. r' x! M$ S P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2, E) ^8 U8 q* l3 d# d+ i
P2SEL |=BIT1+BIT4; 6 L' S/ t- i2 [. u7 ]+ e- I
while(1) //无限次while循环
* [4 Y9 T/ M9 Q" J2 c {
$ c+ ?7 \( h5 l; k; _ _NOP();0 v8 }* n z1 K) \
}
0 y5 ^) E8 k2 b# g8 {} |
|