|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本程序是单片机MSP430G2553
" R6 Z. i, H5 b! t; Q+ r3 L P1.2----------------------------UCA0TXD 串口发送端
3 U3 E, T* X5 |$ E P1.1----------------------------UCA0RXD 串口接受端
$ J5 M% s2 G! x9 ?# S# } P1.0----------------------------红灯指示
3 w- V6 E' Y3 K) o7 W2 v- \ P1.6----------------------------绿灯指示! d' ?: }2 N% _9 C; A- K% m
P1.5----------------------------模拟电压输入0 K3 N/ N6 [- ]% q1 O
利用主辅时钟为1MHZ,串口波特率9600,) Z# f$ x+ l7 i) f
波特率:1000000/9600=104. j# X( v% F1 V/ X
UCA0BR0 = 104; // 1MHz 9600* W0 G' t+ R n+ Y9 U' u& V! Y* Q
UCA0BR1 = 0; // 1MHz 9600
0 x7 }: ^9 E+ j! z0 [5 {/ z+ q7 _& v+ _, k( T3 p
现象:7 P- L3 I3 [' C5 w: Z) r% c% y
功能(1)看到 P1.5口输入不同的电压经AD采样后发送 & a$ _8 h& s c* ~; [
功能(2)打开电脑串口调试助手,发送区有数据待发送时,在接受区将看到相应的数据。; T% |; S" ], j1 J) M
******************************************************************************/7 u9 d- t3 {2 _9 B# H% R& T3 Y
#include <msp430g2553.h>
8 i/ d# b2 ^3 Efloat adc_voltage;
# G6 c* l0 |0 v& q* ]" Yunsigned int k;
6 b. }6 ?; O' a$ j6 m8 y' {void sys_clk_config(void)
. I+ h3 L. O0 F' K1 V: K9 D{
! q! d6 Z0 C) @ //ACLK = ; MCLK = SMCLK = DCOCLK = 1.1MHZ0 H- S6 F9 d9 f
DCOCTL = 0;
S3 v! v: {# _0 m3 `, ?& V8 [ BCSCTL1 = CALBC1_1MHZ;
2 V5 W) p3 S6 ]( F, N ^$ m0 O DCOCTL = CALDCO_1MHZ;4 N/ O K; I X! S# ^
}
: e: }! {$ K% o# N& X8 V! Hvoid uart_gpio_init(void)0 W7 @; Y! J0 W7 g# e& o; e
{# E1 g9 V. I1 j& O) G9 f
//P1SEL |= BIT1 + BIT2;
% i, i- e% E- E& w7 r4 V Z //P1SEL2 |= BIT1 + BIT2;0 E, o* l8 S$ w7 L
//P1DIR |= BIT2;. r7 b- G) x" o
P1DIR = 0xFF; // All P1.x outputs
0 n- [! p" E/ C% x, [: a% ]0 P7 L P1OUT = 0; // All P1.x reset
5 Z* Q+ ] {3 r1 G P1SEL |= BIT1 + BIT2 + BIT4; // P1.1 = RXD, P1.2=TXD
* K0 N) T& ]! r$ K# p( ~ P1SEL2 |= BIT1 + BIT2; // P1.4 = SMCLK, others GPIO& o2 ?! A3 K7 Y* t; z/ y- u
P2DIR = 0xFF; // All P2.x outputs
! `% O& _/ h8 F! e" n0 g$ c9 Y e}
: H! V U+ [7 Y, _# {void led_gpio_init(void)
1 Z$ x3 Y/ f$ ]' j) [+ z( \{
' Z+ |0 m. |" @8 P [}
/ j; `8 W8 A7 [0 F% D( Fvoid ad_gpio_init(void)
& ^6 f% m i. |& ~7 u{5 x, I. o U- F* ~& Y1 |7 g
}
. g5 ?5 O+ t3 Y2 K' B$ x, tvoid uart_config(void)
) A1 r$ ^# y+ ~' N) X{
2 f9 F* X4 m8 j m u* D7 H. ?UCA0CTL1 |= UCSSEL_2;
1 b) G+ F) `. c9 w H( y. i6 ?& l
& g9 x# G" l. ~ UCA0BR0 = 104; // 1MHz 96000 a! z3 ]$ x L& G) Z R
UCA0BR1 = 0; // 1MHz 9600
- A- D: ^' x* E: l UCA0MCTL = UCBRS2 + UCBRS0;
* T1 P$ t: ]# a" Z9 ` UCA0CTL1 &= ~UCSWRST; g$ H9 U- u" V0 s2 r
IE2 |= UCA0RXIE;* v, g6 ]6 j& y
# @3 u& x9 K" m N
}" _1 d# M5 k; d( [
void ad_config(void)
+ {+ c# R' [9 c9 u{. b3 `! m* R* r1 |$ O! J
ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE;
# x- _0 F6 h6 r8 |( Z2 t. c! X. p5 X3 v; M
ADC10CTL1 = INCH_5 + CONSEQ_2 ;
r& X; y1 h- H2 P+ }8 w/ _ ADC10AE0 |= 0x10;. A( r4 o1 Z% R7 J/ p5 _7 K
6 f" [" U% m/ [& Y9 q4 x# d4 H ADC10CTL0 |= ENC + ADC10SC;
- i0 j0 z6 t9 D$ W+ [% s, h" J* a; w w9 H
}
& Z: p. z8 x1 n/ Ivoid main()
7 W: `; [2 @% F' L- |6 I7 l{$ y m P! M) @" c6 y* M
WDTCTL = WDTPW + WDTHOLD;2 P5 z* A: _2 T" ?
. [. {* o$ ]3 _8 S6 k
//sys_clk_config();8 m3 S1 `6 V% }: e! [
* ]3 _+ C6 r% @5 ~
uart_gpio_init();
& w0 z/ q0 ~; E0 p* g( E& z( o- D4 p! y! j3 c* S
led_gpio_init();
" ^. z- P3 M9 t2 e( B/ w* @4 J: r7 s: d
ad_gpio_init();8 B% f. g3 X# J1 V5 h# q3 h
4 k4 L- _) `/ e$ F0 H) ?& |6 A
uart_config();
$ P2 l# L/ \' H6 u1 O* S0 R2 Y% ]7 o, ?* c
ad_config();! t: g( M! S+ s" @ R0 ^& S
__bis_SR_register(GIE);
/ ?. ~. h/ d Z. u: { while(1);
, j/ k6 Q* E3 G" s, B
/ P$ ?9 f; t) [( a6 ^8 I- j* n2 R$ N7 q$ t6 F
}: M/ w ]( ]" f: ^8 ]8 j4 `
#pragma vector = USCIAB0RX_VECTOR* ]; {& I" L5 z; q( ~
__interrupt void USCI0RX_ISR(void)
2 Y t( U, b6 B) k/ B' I( v9 i U& C{% Y& f2 X2 s& k$ g. q, I+ \
while(!(IFG2 & UCA0TXIFG));
' n4 U5 D8 I- f4 K* F/ ?// UCA0TXBUF =0x33 ;// UCA0RXBUF;
5 {3 m- x; H/ N4 M& E/ I- v}
3 R: Q+ J0 a( d3 `#pragma vector = ADC10_VECTOR: a. l; f# q P
__interrupt void ADC10_A0_ISR(void)( i$ g9 p8 b- i5 I* }& W
{; N( Y% N' a/ o4 O% Z% e
; {$ |6 f1 y3 ^
while(!(IFG2 & UCA0TXIFG));: I' B7 S6 R& q4 `6 `, m
UCA0TXBUF = ((ADC10MEM*33)/1023);$ l# H" H$ E. e" g/ v
k = 10000;& i0 l: Q4 L! B) G
while(k--);
1 i! u% h/ v2 {; K; \7 d' v& P" U9 J8 Y& A4 [
} |
|