|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "MSP430x14x.h"3 P4 _$ J2 k/ ~
#define uint unsigned int
+ ?5 Z7 x, C8 I2 N0 B7 ~% P#define uchar unsigned char
I L" }. L8 V. W6 C6 f6 [/ {void delayms(uint ms)
4 M+ ?" Q- f7 J4 M% {6 v{
* H2 [& w! @% s( ~* _ uchar i;! V$ | s- \& i8 v( X
while(ms--)
9 \/ o) X% {+ a `! ^7 l8 ~ for(i=110;i>0;i--);! m5 f `" r' ^! a& o1 S1 R
}$ N6 X3 k& |! m$ R+ G
void DSC_Init()
7 D, A, o1 k* V/ ^: A7 G2 \{1 k, P/ N/ Q) J6 H5 `/ q% k1 b
BCSCTL1&=~XT2OFF;
- j) o5 B8 |, o* T* K+ P3 t& B7 i5 S1 A BCSCTL2|=SELM_2+DIVM_0;
" x0 D+ ~, l5 m6 @2 W% I; \& K# ^ do# T( M6 a; F9 |; O
{+ {) `0 @9 T7 }% @
IFG1&=~OFIFG;
' B* Z% K8 K# [ delayms(8);( t0 B9 _: T& D7 e" e2 m I
}
/ `( X& |! ~- a& ~, t2 s while(IFG1&OFIFG);
0 s. y1 q, N) r9 _1 D% k}% g B% b2 f3 X0 K' K& x
void PWMA_TA_Init()
: K: c! q( E4 i A/ E1 e2 D{; m: k6 f1 S( x+ T# @
TACTL|=TASSEL_1+ID_0+MC_1+TACLR;7 y; i2 N8 i- v( ^1 r4 q; c
TACCTL1|=OUTMOD_7;" y0 X9 T/ T7 u8 r7 [0 J4 N
TACCTL2|=OUTMOD_7;
1 m% I( i9 g- y" C5 F0 h) [ TACCR0=10000;
# G+ u( H% G4 ?4 S9 L TACCR1=5000;
& Z8 t9 h5 N# O" u" k- M6 P TACCR2=100;
; i: g3 B, `+ E: G}$ J% X' `" s- i% a! q, O( o
void PWMA_IO_Init()4 P; l/ p" O( p1 p" t
{& r, j" t" C$ B% @
P1DIR|=BIT0+BIT2+BIT3+BIT5+BIT6+BIT7;0 ~- Y _6 m+ O
P2DIR|=BIT2+BIT3+BIT4;
! [7 k" X, \1 N/ T% i, C P1SEL|=BIT1+BIT2+BIT3+BIT5+BIT6+BIT7;
6 k- d0 p( q, K+ v r P2SEL|=BIT2+BIT3+BIT4;( H: Q# P8 v, T& X/ N% j$ v
}
* m h! Q( p+ M6 Z, q( Vvoid PWMB_IO_Init()
) W4 @ a, K9 N/ z; W( }9 z{
5 t2 m8 l, G6 I; F/ t P4DIR|=BIT1;( C1 F" C. w( H( V* R
P4SEL|=BIT1;
) ]. E8 g2 F# S8 b2 g; q0 {}) B0 j% T* d9 f( c2 J; x) P
void PWMB_TB_Init()$ E3 i* s2 E+ D8 ]6 ?4 G5 [
{
1 [1 i6 m: M0 `, a. U( b. e; e0 N/ L' @ TBCTL|=TBCLGRP_3+CNTL_0+TBSSEL_1+ID_0+MC_1+TBCLR;. j' E; t8 C% B* v
TBCCR0=10000;
7 o8 g" h; | O8 W8 I8 X+ o TBCCTL1|=OUTMOD_7;& f `+ K% a0 t+ O5 J
TBCCR2=100;
8 e; r; C0 D! X% f TBCCTL2|=OUTMOD_7;* t2 f `" k+ L. f J. |
TBCCR2=200;
0 C0 F4 c3 t- i, m TBCCTL3|=OUTMOD_7;' {; B( g B, L/ H; V$ T4 p$ y3 p, ^! @
TBCCR3=400;
9 x7 Z/ ] x5 I; V9 \) X TBCCTL4|=OUTMOD_7;5 m* G- m9 t! f1 ^
TBCCR4=1000;0 n1 M, L2 t3 p8 J5 I f
TBCCTL5|=OUTMOD_7;( {/ X* L( q2 u* j8 w/ t
TBCCR5=2000;
1 p- R' r0 h1 S( ?/ ^3 h TBCCTL6|=OUTMOD_7;
7 i d( T& y# w6 a; I- h TBCCR6=5000;
/ _ [6 g" X. L1 q% Y9 J& a2 g}
; u" v& E: e) H+ X6 Z% \/ Wvoid main( void )
! k% O6 K; L; i9 I5 X{
/ S4 Z2 y1 I7 K, }! s. V6 v ` // Stop watchdog timer to prevent time out reset
5 J# t3 j/ `% h WDTCTL = WDTPW + WDTHOLD;
( `+ z2 A$ z/ a) f) _( ] j DSC_Init();( s2 T6 L8 w% a3 Q2 J" e( j
PWMA_IO_Init();( I& }" j/ G% C+ Z- D4 p( {
// PWMB_IO_Init();
. K/ F5 q2 R! q) ] PWMA_TA_Init();4 S* @) x% ^- i2 E3 p4 P& o: i' W
// PWMB_TB_Init();
8 x+ C% J# n: H8 a; G3 d& h while(1);
- Q4 P2 j8 b: @! A! i9 }/ P- o4 G}
8 y# f/ @9 g& u, G" N( K& ~: H |
|