|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "msp430g2553.h"! f5 j9 `! H* @& U" Q
//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
s6 s! v9 {% t% Yvoid main (void)
% J6 o1 ?7 @; ?- u& E- K2 N) R{
2 b# p+ W. U) }4 f7 b0 O WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 4 ^+ k- K9 U- j* b4 i9 k
6 K! a }4 j: |/ R9 I G //定时器A0的
f4 \1 a) b) o9 u+ v9 I TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
0 ^9 U: r; |. }1 { Y2 _ // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
8 W; p1 G6 b+ @- f9 R \ // TACLR=0x0004,清除定时器A计数器
( ~7 @6 E) O! x+ H4 U+ c ! t5 ?; w8 F7 `% ?
CCR0 =12000; //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s W' L# j, w7 H& ?" @6 g9 t
CCR1=6000; //占空比50%9 ^+ {& r1 |3 W5 X, _
CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,9 y' F1 ^; n0 l" P& ^4 r! [/ q% v
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,; l/ g8 Q, o! C3 z _" H
//OUTMOD_7与之相反
4 x; {6 N4 y& E: t% r
+ T9 o) q: @( Q CCR2=3000; //占空比25%,错了,没有TA0.2
7 e1 M W+ f. t* ~$ `8 c CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,: S2 l# O* d0 U6 O3 B* V' r& {, p
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
$ a o" _' R; w7 K# E, Q r //OUTMOD_7与之相反- d$ O) J/ R) A( s7 ~
P1SEL |=BIT2;
* z0 g4 J9 }& V P1DIR |=BIT2; //输出 TA0.1
$ J6 l# D; a/ r0 x. y+ S, a
$ j% d* b R+ `% a6 _4 B
0 `. K5 l* @' N0 y q 1 u6 l% ? L4 ?! Z$ j0 X1 G3 w
//定时器A1的* r1 F8 E* l, \* \* K
TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
& |) p8 g4 h, e8 a1 ^ // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; 9 t% O" ~1 o: h! x' O5 R
// TACLR=0x0004,清除定时器A计数器
* H& a& s# S, v) I$ G7 n- p TA1CCR0 =12000; //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s 1 m4 @4 q9 j: S5 c& {
/ b# M' S5 _# ^2 k1 |+ F
TA1CCR1=6000; //占空比50%7 ?* z7 Y* i4 ^# q
TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,6 p; `4 Q5 u' D3 l" B
//增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,+ f: i9 k) V2 f& a; E( o" k4 X
//OUTMOD_7与之相反- `9 l( T# S( o W
TA1CCR2=3000; //占空比25%- }$ f- M$ \+ r% C
TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
, R) k! p4 R1 {, H4 ^# Z+ G //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,2 q4 E' Q: Q" }8 z" I
//OUTMOD_7与之相反/ z3 U8 Y: t% c# I: h4 @
P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2 I+ R7 h) z% `3 Q& L9 U: O
P2SEL |=BIT1+BIT4; $ L/ ` {( x( P8 L% ~' K
while(1) //无限次while循环
$ s; U' Z+ l5 [% Q* d {
) Q9 H& K7 {/ V, y0 F _NOP();
* I3 v; [: }- ?& Q/ m }
8 `2 V) r0 `* k3 P} |
|