|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "MSP430x14x.h"
( q1 x3 S& q: } X4 x( Z5 h#define uint unsigned int) N9 T) D! |) w, d
#define uchar unsigned char
; T' z: ^$ s8 P9 a: t& J% Wvoid delayms(uint ms)& X7 b$ G: W! O, m; u! {
{& r: v6 ~& w% Y; a* s. D- h" U
uchar i;
1 i- u/ v6 o3 v' L0 } while(ms--), M( d% [/ A# m* D2 W
for(i=110;i>0;i--);
6 g6 x2 m7 n) H2 t$ ?$ p6 q/ n6 Y4 u}7 h6 I1 v! S3 i" O
void DSC_Init()
1 p. y$ u! O6 s/ Q{
: K& M0 A! L4 y2 J+ H6 q; d0 ? f BCSCTL1&=~XT2OFF;. B7 M8 D& M0 f9 t& q
BCSCTL2|=SELM_2+DIVM_0;
% I0 H' R s' C. n2 r, O do
/ y1 S& q6 S/ g; W4 ^ {+ j; J* v5 k Q
IFG1&=~OFIFG;) a" x( R6 e% j: A4 U- c7 V$ ]
delayms(8); _) f# P7 I9 F" a9 Y8 w
}7 S* p* w2 ^$ A
while(IFG1&OFIFG);/ O% d# B6 G3 \0 q/ h) U% c
}6 [' G$ Y8 u* \: n9 \1 w
void PWMA_TA_Init()/ H9 w1 A; d6 H
{2 j' e! A3 R! `4 C H
TACTL|=TASSEL_1+ID_0+MC_1+TACLR;8 [2 c" _1 F$ c- O' ~
TACCTL1|=OUTMOD_7; c( u- s& U9 s, z% X/ P
TACCTL2|=OUTMOD_7;& k2 M; i6 v0 B. G4 y/ J
TACCR0=10000;
$ i5 [1 t7 K# l( m1 \/ b; k1 W$ ?& } TACCR1=5000;
6 o7 o* r( N# { X$ h: v5 }9 t: L9 P TACCR2=100;" X% |$ T' M* ^
}
& A7 c' }0 r6 c2 w5 C% e! X3 Cvoid PWMA_IO_Init()
( L- U5 D$ ^/ C4 B- t{$ j, A. t8 I# X# I: X; D9 V/ {
P1DIR|=BIT0+BIT2+BIT3+BIT5+BIT6+BIT7;' F5 ^7 ^' [/ t! q# `5 Q6 m
P2DIR|=BIT2+BIT3+BIT4;
: u% e. @- \; l) Z9 R P1SEL|=BIT1+BIT2+BIT3+BIT5+BIT6+BIT7;
) t2 q4 ^+ }4 L" s P2SEL|=BIT2+BIT3+BIT4;- h3 U/ ]: m( a7 ~0 D! G0 W
}" K' J/ ~, [6 E- J
void PWMB_IO_Init()! U6 v4 \. C/ `; b2 u
{
C' ]+ M+ n; I9 P, Y P4DIR|=BIT1;
( r( [0 L( P! h0 B P4SEL|=BIT1;" R' ?. A0 P% a/ ?6 }/ y; }& v5 a
}0 T0 `# H I5 X: @$ Y+ p0 }4 P
void PWMB_TB_Init()
2 E$ P N! M2 z0 U- t{
) Q6 c4 W- j8 {6 }# C1 i TBCTL|=TBCLGRP_3+CNTL_0+TBSSEL_1+ID_0+MC_1+TBCLR;) H6 D# J' N1 j7 ]8 e
TBCCR0=10000;
# \5 c9 m* \1 R6 i: Z, w TBCCTL1|=OUTMOD_7;
- c* R; N8 J1 C5 s TBCCR2=100;
, _( t: N2 ]/ u- b( q! e TBCCTL2|=OUTMOD_7;( e9 q( D; w+ x: s
TBCCR2=200;
, X: D( \5 o; N( G0 Z TBCCTL3|=OUTMOD_7;
- N, n9 @5 H1 W e0 F: @& \& y TBCCR3=400;
4 N G( _7 w# j; E1 h TBCCTL4|=OUTMOD_7;1 ~, \; Z+ H: A$ w+ U
TBCCR4=1000;
! J5 q z- S- G6 D# b4 v TBCCTL5|=OUTMOD_7;( I8 ?6 }7 A6 n& ~
TBCCR5=2000;
8 Q6 r" c5 ]( D) e2 S/ w- H TBCCTL6|=OUTMOD_7;" y- H1 a( K" z+ y0 Z8 o& W8 S
TBCCR6=5000;$ _ |6 G5 O& o
}
% Y# I$ {' {/ W& |' |4 Tvoid main( void )
: e) ]1 N& i2 a7 @# g4 w6 [{- V1 |( m, G3 _0 Q+ u3 J: }
// Stop watchdog timer to prevent time out reset
_5 K9 _3 \9 f0 M: g WDTCTL = WDTPW + WDTHOLD;# j8 N% }+ G. r4 C+ b. z2 q4 f
DSC_Init();6 I2 {4 @; w3 a
PWMA_IO_Init();
. y! z) m+ K$ R2 K$ ]9 A' U0 |* |// PWMB_IO_Init();
3 G w; u# R$ D' a* r9 { PWMA_TA_Init();
/ u: n5 O/ L! N) U) ?" \0 r( w// PWMB_TB_Init();. D- K7 N; B: I8 G6 t9 D2 }
while(1);8 D7 G+ D. a5 y
}
. j9 o0 ^2 a8 g. T+ {* _ |
|