|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "MSP430x14x.h"
. R' b2 U) k* n#define uint unsigned int
X! E" b. J4 {9 X#define uchar unsigned char1 J( R+ k8 c$ O! l% t1 g0 E/ M
void delayms(uint ms)) [& t$ N/ N% ]9 @+ m9 h" X+ @0 K
{ a: o. L8 Z8 {; I- p
uchar i;
( w! r! x5 Q' A+ T9 x- h while(ms--)
8 s. y7 b7 P$ E for(i=110;i>0;i--);& s8 G8 R/ n' ]- p
}
3 ~- `. K# Y m' p0 v0 m( D+ Y5 Qvoid DSC_Init()- m1 n8 y0 x' }) X2 ^
{
) R) `, K6 o+ m8 }) Q/ g BCSCTL1&=~XT2OFF;2 m7 S, F4 W5 t* B; x
BCSCTL2|=SELM_2+DIVM_0;( v! I2 L0 T8 _7 Z+ ] r3 _
do
' J: K, l! o6 U8 a3 W n {
% ]9 w; y! A, |3 X5 f4 m% E IFG1&=~OFIFG;
' [. I0 {" H8 ?0 C delayms(8);! ?+ P6 L, x- Z0 p% ]/ ?* C3 R
}
( y7 F) W0 I" d while(IFG1&OFIFG);* ~/ |% ^8 g, }0 N! V0 S
}
8 Q" O; W4 v( \0 h( b- Avoid PWMA_TA_Init()
# a# o/ D% n T$ ?. L2 Z{
9 }6 H$ u( H' {: m2 p6 g TACTL|=TASSEL_1+ID_0+MC_1+TACLR;
* B7 l' \7 }1 R1 @( y6 B- O1 Y TACCTL1|=OUTMOD_7;1 U/ M1 O% Z( q6 t6 J+ \( \
TACCTL2|=OUTMOD_7;
3 ?7 s; m S' J- w, l$ G+ X& V TACCR0=10000;1 S! s. \6 w4 l- W" N
TACCR1=5000;6 D& b9 O0 f7 C% W% o
TACCR2=100;6 S4 T% C) v) `) ~; T: Z, D. m
}
0 Y$ B: c) g% b& q5 u+ Vvoid PWMA_IO_Init()
( v3 W/ ]" A0 M4 e{( l" J/ w0 Q. @/ h
P1DIR|=BIT0+BIT2+BIT3+BIT5+BIT6+BIT7;
L+ s" q s" f/ u P2DIR|=BIT2+BIT3+BIT4;
- T) s# u* H4 f P1SEL|=BIT1+BIT2+BIT3+BIT5+BIT6+BIT7;
$ S0 e- o) M/ `6 z P2SEL|=BIT2+BIT3+BIT4;& c! ^6 Q6 P- s: s: M
}
/ \! K! R( r6 R6 M% m# svoid PWMB_IO_Init()
/ H2 Z! l- l* L/ H2 r/ Z{" Q' ?. h8 f9 C2 \% {( Q
P4DIR|=BIT1;4 V) M0 h: \+ x9 ?/ Z- b% {3 a
P4SEL|=BIT1;" X# b+ f$ [: o$ Q+ |/ ~
}
* h; M; r9 `0 p. I4 Z8 |+ Yvoid PWMB_TB_Init()4 C! z f# a2 {7 _
{
) J. i2 \* L: b) R- T# i7 c TBCTL|=TBCLGRP_3+CNTL_0+TBSSEL_1+ID_0+MC_1+TBCLR;
5 W0 _( R/ Y- \2 F8 } TBCCR0=10000;
% X- q2 ]: }8 v* E+ E4 G r TBCCTL1|=OUTMOD_7;
9 i& ?" @$ C; j0 Y" h1 @ TBCCR2=100;
0 j" F" ?- b4 V& ~ TBCCTL2|=OUTMOD_7;
* B- R' J1 y- w8 W0 c6 G TBCCR2=200;
( j6 ]4 m$ I7 S+ F TBCCTL3|=OUTMOD_7;
) P3 X! {2 v, h8 Q( x5 ?, p TBCCR3=400;8 |9 _1 Q m9 f5 Z; A$ b0 R
TBCCTL4|=OUTMOD_7;; z1 l! e+ J$ x7 m4 E& d S T0 f
TBCCR4=1000;
* s% Z7 y7 }$ G. E, G' b TBCCTL5|=OUTMOD_7;
1 p0 ?1 j" j" f TBCCR5=2000;- c! e; I* _, B7 @4 u* L9 f
TBCCTL6|=OUTMOD_7;4 m# P1 J5 j) R1 [1 d( r
TBCCR6=5000;: [9 D" W; R! S* {" }
}
7 {9 `* D* l* M8 ?0 T) t* Ovoid main( void ). a# C. S1 e+ L/ w
{) n. i( i# M/ O! p) i
// Stop watchdog timer to prevent time out reset
( t/ S/ Y3 d% }) \/ p9 y WDTCTL = WDTPW + WDTHOLD;0 O' D& }$ H9 \2 D8 _% y
DSC_Init();
% w4 E( h& W5 x0 A* j PWMA_IO_Init();/ X2 o1 }, Q; s( l- @
// PWMB_IO_Init();
6 d; L0 f. Z- R PWMA_TA_Init();
2 J- _8 D% n- B- b7 w// PWMB_TB_Init();' F0 B# T, H l, D
while(1);' O' u t/ S* ~' ]; j/ J
}# U2 P M. a. K" U9 y# Z: c! [7 q( l; x
|
|