|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "MSP430x14x.h"
8 D, ~9 a* Y3 q# w' L1 C#define uint unsigned int, g/ U$ f+ G& L# u( j
#define uchar unsigned char
' r+ z* s `2 T Rvoid delayms(uint ms)
8 B9 `) Q' Z e1 \# o( b{/ Y$ U0 w) f2 o- |- t, F
uchar i;5 @& Q' A% Y8 a" t1 K. W- m3 b
while(ms--)
6 [2 w3 N+ k; E0 d. z& S1 T for(i=110;i>0;i--);
( Y9 L; z: M- j}
\0 x" O1 I. t. R6 _% evoid DSC_Init()
5 v: O- F# u, W8 @4 o& i9 K{
/ L1 h: c: ]) H) M- ~) }! C- D1 f$ q BCSCTL1&=~XT2OFF;
: R5 O0 i- A6 `% L) Z4 M9 I BCSCTL2|=SELM_2+DIVM_0;
4 U4 _% R' z! s1 J- J M- o/ c do0 @) ^4 a' W* d8 P) y
{
1 I# U7 ~ k/ p) t. g0 t" t& } IFG1&=~OFIFG;! Y- \: ]/ P' U+ ~7 [
delayms(8);
5 ]3 d( y7 X- W! ~. F3 { }1 O# j$ Y. O3 Q5 N2 n
while(IFG1&OFIFG);+ |( f" j1 ]1 ~- |1 C
}0 ~/ b' q5 @- M" O/ W
void PWMA_TA_Init()
: {) A1 W" z% C' } q( _{0 ~. a& I4 p* {, r' [# F- l/ ~- ~% w
TACTL|=TASSEL_1+ID_0+MC_1+TACLR;; i2 i; k% y5 |1 F& t( F
TACCTL1|=OUTMOD_7;
$ J0 l9 L. `4 ~5 b% q/ ?9 A TACCTL2|=OUTMOD_7;
* H. T( g& p9 B+ s. A0 Y5 E TACCR0=10000;- x7 j/ w7 b( ^ |% b9 N0 w
TACCR1=5000;6 e; K5 R8 ]' C7 j0 y
TACCR2=100;
2 x! Q# A( D. n: E3 {% X1 S7 V}
8 D: N" \6 W, G( ?! ]void PWMA_IO_Init()% ~, u/ G O" }1 l o% X
{
2 S& |9 D; B+ e6 Q4 w P1DIR|=BIT0+BIT2+BIT3+BIT5+BIT6+BIT7;! I& S- Y! P% O9 G* X
P2DIR|=BIT2+BIT3+BIT4;
, ?- Q' F% ~/ f P1SEL|=BIT1+BIT2+BIT3+BIT5+BIT6+BIT7;
( W5 \ P, }4 P, ~; j P2SEL|=BIT2+BIT3+BIT4;
- M8 q O6 r8 Q* `# N}
8 O4 K/ m7 C' I& T7 Q0 [* u' _$ \void PWMB_IO_Init()
0 {6 A0 ~4 Y& m, I{. L4 M" v3 d. b' V2 B5 d. ~! _
P4DIR|=BIT1;& @( w ` m8 ^: K. ]
P4SEL|=BIT1;
5 V# |* C h" r4 }4 C. |}# D# Q( ~6 o0 z/ k6 B9 P
void PWMB_TB_Init()1 i* W: Q; r3 }
{
1 s& \) v9 K% }4 r8 R. v; d N1 t TBCTL|=TBCLGRP_3+CNTL_0+TBSSEL_1+ID_0+MC_1+TBCLR;
+ b7 F3 F7 l$ \$ S$ b+ B. b" L( N TBCCR0=10000;0 [3 C/ H7 r( y
TBCCTL1|=OUTMOD_7;
( X& |7 @, \5 t TBCCR2=100;: d: B2 u( o8 W
TBCCTL2|=OUTMOD_7;
& f- P& i$ k) Z" g9 [/ D& b TBCCR2=200;8 a6 h. ~1 a: ?% i4 m. Y
TBCCTL3|=OUTMOD_7;& k5 ~; I- }: n. `# H
TBCCR3=400;$ {% Q u C% g6 S6 @1 c: `
TBCCTL4|=OUTMOD_7;6 m0 M4 ]) V! f% c3 o, [
TBCCR4=1000;
9 N# N9 K; P) g TBCCTL5|=OUTMOD_7;
7 W5 a2 P+ P1 a TBCCR5=2000;* Z( F' V( X) { A5 W5 S' I
TBCCTL6|=OUTMOD_7;
; J7 S7 V5 ~+ n* v6 S TBCCR6=5000;) Q {( x; {8 O7 E- y/ y9 }; v: ` i
}
8 ?: ^4 T) \) K9 O' b$ s9 v2 kvoid main( void )
# N$ C \& h! n+ W& ]{
0 `2 D" S' V2 I2 I! Y5 A; ? // Stop watchdog timer to prevent time out reset. n/ e- J- Y8 H6 z! L3 c
WDTCTL = WDTPW + WDTHOLD;% @/ M! I% {+ W- Q
DSC_Init();: @" y6 K0 L. I; m0 q
PWMA_IO_Init();1 D5 u( L1 ]$ a3 ]3 g. S5 A( B
// PWMB_IO_Init();
6 Z, f1 b' d; d! o/ [) _ PWMA_TA_Init();
( ?' U) V( m7 K" J6 C// PWMB_TB_Init();7 \+ b1 O {% W; I2 a! Q6 E
while(1);
4 W4 J* j# V3 |6 M- c}
9 B& i7 [9 `' f2 j |
|