|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "MSP430x14x.h"
' P- N: S' R* r* g1 @) N9 f#define uint unsigned int
. j: E2 G; `7 d' |# z/ ]* ~#define uchar unsigned char
; w. K. }- n# A& Yvoid delayms(uint ms); Y' T. k3 t6 C) y; ^# U
{
# l6 {9 A. O+ g+ \5 c8 g) H uchar i;7 c2 e% u N5 |% S3 p0 u
while(ms--)
' Q7 w- u, v% q/ b for(i=110;i>0;i--);3 O! P) H8 ?* [" j0 F& V0 b0 R
}
& z$ O. l; ^. a& v) `" Xvoid DSC_Init()
. B- c6 I. H+ H/ w, P q{
0 X9 R1 Q* @+ d6 s: j BCSCTL1&=~XT2OFF;+ f$ W8 K! K* _' q7 ~& ]/ ^
BCSCTL2|=SELM_2+DIVM_0;% `* W# Y& V# E8 G& {. s
do& A' H$ {; d9 \
{' @1 F& i* p% t0 u$ D
IFG1&=~OFIFG;) r2 i3 W+ _; j. d
delayms(8);
6 I# d" H( f2 L* {: o# s }
( ^- p; B2 u# B' e; l4 U- } while(IFG1&OFIFG);
8 P" @2 M" I7 I0 e2 D' u* @}
% {" u$ I/ G* }/ S% z) ~void PWMA_TA_Init()% G$ T/ h' ?- p) [
{
9 L* D7 C1 U+ u5 K a& g* D TACTL|=TASSEL_1+ID_0+MC_1+TACLR;
8 h0 ~3 X6 t9 @) Y* f# \$ n TACCTL1|=OUTMOD_7;
2 T, K q. U8 t7 O' w& a TACCTL2|=OUTMOD_7;8 O9 @( _! Y* w1 A0 `5 I
TACCR0=10000;3 t8 W$ @ F! o
TACCR1=5000;' C: i/ \) I3 T7 z
TACCR2=100; ^, V M0 k& t0 g
}0 _ A8 k% |' v0 K6 ^6 y* z
void PWMA_IO_Init()
. W, S. [' O; n' ^{8 l" d1 s+ r3 w0 F
P1DIR|=BIT0+BIT2+BIT3+BIT5+BIT6+BIT7;
$ _/ B t* i6 H, q0 n: i P2DIR|=BIT2+BIT3+BIT4;6 T' S" j8 Y( H' e3 Z! a/ g
P1SEL|=BIT1+BIT2+BIT3+BIT5+BIT6+BIT7;5 x) G9 D$ i- u$ f+ u1 S
P2SEL|=BIT2+BIT3+BIT4;5 |- k9 G: v( ]
}% ^' J, p8 A) V! w
void PWMB_IO_Init()& C/ T$ q$ J; F: r' R
{
6 w. ?: j, \& E* D& J) Y, ~6 q P4DIR|=BIT1;7 A, G$ e) A* S# n
P4SEL|=BIT1;2 J% l% ]/ C! f2 K) m: P' q
}
4 [( G' \+ W' y, Y: @void PWMB_TB_Init()
: J" x; [; c$ o" D/ {- Z. G{( l E. J& R4 i/ Q4 r# f
TBCTL|=TBCLGRP_3+CNTL_0+TBSSEL_1+ID_0+MC_1+TBCLR;$ }* M) _' y! n" `
TBCCR0=10000;, @; ^; o# q2 c
TBCCTL1|=OUTMOD_7;; s t: N, U4 k; r
TBCCR2=100;3 V1 F; ? x, B, |: M5 N1 X+ @
TBCCTL2|=OUTMOD_7;; v5 g* o; V# A
TBCCR2=200;
3 D3 w+ |; Z* D1 j ^% J5 Y TBCCTL3|=OUTMOD_7;
4 p1 m2 b- l9 e: A& h5 \4 B TBCCR3=400;
& v) m C) Z" E4 Y0 ]* C TBCCTL4|=OUTMOD_7;4 t6 a K0 s) W3 A
TBCCR4=1000;
, U; e N h0 O( _5 i9 e TBCCTL5|=OUTMOD_7; B4 x; ?& Z( U; Q! h& z8 J
TBCCR5=2000;
: x9 o$ o; | V" l9 [! s7 N TBCCTL6|=OUTMOD_7;
/ l- t* I% u0 e- V" z TBCCR6=5000;! m) [/ x% u2 O; e3 E/ f
}
7 ^& S' @. q( f$ u" Zvoid main( void )
: I5 E6 `1 e6 d7 z* Z% ~{
# _+ f0 C7 q& B0 E // Stop watchdog timer to prevent time out reset
0 [# r) j; C0 J/ y WDTCTL = WDTPW + WDTHOLD;
! t! y$ p9 M- U- p0 v v: t DSC_Init();
) @4 u9 n( ]4 R9 O3 w PWMA_IO_Init();' F/ {( |4 O0 T/ D* {
// PWMB_IO_Init();
3 e/ M q8 S) a5 L8 ?# z PWMA_TA_Init();
. g+ R. X6 N% f3 r. t1 A5 E// PWMB_TB_Init();! e2 y; B& C9 i0 y* [& b5 ?/ B
while(1);: r! y6 d' X+ b3 F* V
}
8 X) y5 p4 z2 ]3 O$ E |
|