|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "MSP430x14x.h". ~; ^# [+ M- s" c( y. y# ?
#define uint unsigned int- Q. I5 ?0 X6 Y
#define uchar unsigned char( N$ T/ Y2 ]/ Y p
void delayms(uint ms)5 Q& d ~$ p9 t4 d- g0 }! P, i; p+ s
{$ t$ b; o5 e3 j, I7 I5 x
uchar i;8 |. B- y6 {) X
while(ms--)
3 c- ~7 m$ O! S: f ], ^ for(i=110;i>0;i--);- _$ [, @: G" O
}) T3 r0 L' f+ E: j0 f
void DSC_Init()- M( s" }& _1 F5 e! k# O9 F
{
' W' b, }. Z9 t BCSCTL1&=~XT2OFF; `3 L# l/ P. ~1 ^ q
BCSCTL2|=SELM_2+DIVM_0;3 Y3 N3 z3 I! m
do: _. B1 v- n1 G9 C" c$ z
{% U4 @. Q7 ^; M& h* p
IFG1&=~OFIFG;+ v V1 O2 ?. B/ A6 `0 ?+ d. k. s
delayms(8);! L* S& x4 p4 a: l' y
}* K4 r9 F8 e, G3 @ k- v6 A
while(IFG1&OFIFG);7 B6 E( k5 A& q" o
}
3 m' A5 C( B- A& Rvoid PWMA_TA_Init()
% B2 V0 b5 P! Y# q9 u{2 H* I8 Q- D( k s$ D/ z$ }- ~
TACTL|=TASSEL_1+ID_0+MC_1+TACLR;
9 D/ V w5 A& h& Q$ y TACCTL1|=OUTMOD_7;/ i0 n9 _) ~0 i1 W0 @9 \
TACCTL2|=OUTMOD_7;
4 Q( C4 e' h: j2 A4 y0 N- Z TACCR0=10000;2 s2 T. d f3 a" S1 H; R* f! I
TACCR1=5000;8 P3 ]: |2 Y( \/ M
TACCR2=100;
. P* L( x9 s" i3 |}
! y- m ?9 y. J0 Tvoid PWMA_IO_Init()
+ c6 k, n' b: y0 d. u( G{+ r" A4 Z! h1 @( }2 G; b8 X" x
P1DIR|=BIT0+BIT2+BIT3+BIT5+BIT6+BIT7;
e' I0 l" q, Q! a& ]# W: g P2DIR|=BIT2+BIT3+BIT4;
/ e. Q2 v/ r; W, I N4 L P1SEL|=BIT1+BIT2+BIT3+BIT5+BIT6+BIT7;
. G7 h7 r n: T9 Y3 V& j P2SEL|=BIT2+BIT3+BIT4;1 H. o; S/ S ^; G8 {
}
* h# ]( y6 x. Qvoid PWMB_IO_Init()4 q" d* o2 _5 E( Z0 f- {. W6 C
{6 ]( a3 d! b& f2 E
P4DIR|=BIT1;
, U4 e8 F5 N' C9 Q5 h% G P4SEL|=BIT1;2 t) y$ j& A+ `# Q5 Q: S
}
& {7 n3 U& `! I* D2 lvoid PWMB_TB_Init()$ U4 u; {. Y u4 j
{" M p" \# [1 m
TBCTL|=TBCLGRP_3+CNTL_0+TBSSEL_1+ID_0+MC_1+TBCLR;: X7 H% }% ^8 I: J9 }2 h$ a+ a
TBCCR0=10000;
$ @& K( r# v5 l. Y" p9 L" ~$ ` TBCCTL1|=OUTMOD_7;
! i7 H4 \. e q' |. i& _ TBCCR2=100;
- X$ I& Z# {3 N! h* ]3 \) k TBCCTL2|=OUTMOD_7;' c3 b2 C. Y' u: }2 Z' Y
TBCCR2=200; ~ D' u- P( B, Z
TBCCTL3|=OUTMOD_7;5 u. J7 } |0 N ~
TBCCR3=400;
. ]' J& Q+ k3 S5 ~ TBCCTL4|=OUTMOD_7;: g0 s) y% ~6 [5 f
TBCCR4=1000;% ]% y6 v1 t7 J' N% q. G$ E
TBCCTL5|=OUTMOD_7;
! r7 O% S) D5 j# N0 g0 H TBCCR5=2000;1 ~! D: n5 I/ ` u( T. l$ p2 G
TBCCTL6|=OUTMOD_7;
! e8 j, g6 G. U TBCCR6=5000;& v3 u! ]2 X7 C( c+ x9 }( ~
}6 Z: M" _# ^% q/ K; u9 [' }8 |
void main( void )
; b3 S, r7 ^4 |1 }- c( Q{- E# K( |/ M" d) ?% Y, c4 }- d- g" C& l
// Stop watchdog timer to prevent time out reset
% R2 |* J9 f) P& p$ l WDTCTL = WDTPW + WDTHOLD;
3 x- @. A3 b- Y4 N7 w1 C1 `% a9 P DSC_Init();# F( v, w0 s6 F# T& f4 ?7 D
PWMA_IO_Init();
O! Q2 a" G) m) D' O- k! x// PWMB_IO_Init();
0 k3 s) m. N7 |7 s* ?" \ PWMA_TA_Init();& C7 Z0 C% w# r$ J( N4 ]; ~5 z
// PWMB_TB_Init();
Q/ h- i: r9 p, l6 @* I) L while(1);: k, a0 z) B2 O( e# `. _& [7 z
}
2 I4 e2 y6 k& L2 m; C! r3 k |
|