找回密码
 注册
关于网站域名变更的通知
查看: 478|回复: 2
打印 上一主题 下一主题

[代码] 单片机MSP430G2553 AD采样电压后经串口发送至PC

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-6-29 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本程序是单片机MSP430G2553
8 Y1 ?" ^8 \, [* h2 `. {                 P1.2----------------------------UCA0TXD 串口发送端6 A, v& g2 e- h
           P1.1----------------------------UCA0RXD 串口接受端
3 Q) e  E  ^3 c- t' a( Q           P1.0----------------------------红灯指示! R8 P# \$ v! S" U4 _6 ^
           P1.6----------------------------绿灯指示& M2 a7 ^8 X/ O
           P1.5----------------------------模拟电压输入
9 W* i  Y5 l6 }( K' n% U利用主辅时钟为1MHZ,串口波特率9600,1 I4 G. W+ B5 b; `4 u) Q
            波特率:1000000/9600=104
9 X# `1 {2 f! s1 [9 j                    UCA0BR0 = 104;               // 1MHz 9600
6 s9 N* \5 s2 H( P# j# G                    UCA0BR1 = 0;                 // 1MHz 9600
3 ]  J& o4 H' f4 F% a4 H  e* d, R3 M+ `- d$ X2 t
现象:
) D) c7 x& y* \* a   功能(1)看到 P1.5口输入不同的电压经AD采样后发送 8 ]# Q2 u4 H& B* M; S* {! F
   功能(2)打开电脑串口调试助手,发送区有数据待发送时,在接受区将看到相应的数据。6 P. p' Z% Z, a/ x) U' M. }
******************************************************************************/
' N' D' L" ?/ k9 y  R0 `4 }, H#include <msp430g2553.h>0 |" L9 e/ }7 B0 S" ~9 |
float adc_voltage;3 t1 `1 \$ o" a" ?" n
unsigned int k;
% E) A/ V% [* J  rvoid sys_clk_config(void)1 N! X6 q" m- ~  n# p" E# F
{
1 j4 _* c7 {! p- ?" e   //ACLK = ; MCLK = SMCLK = DCOCLK = 1.1MHZ& m  Q% Q+ f- k5 x6 S
   DCOCTL = 0;# N: g$ P4 N2 i% D
   BCSCTL1 = CALBC1_1MHZ;; T; Z1 |; q; ^* z! g( g8 O
   DCOCTL = CALDCO_1MHZ;. q9 D- Y4 p( U1 e# z
}9 Q( `* |4 b0 B( I/ u
void uart_gpio_init(void)9 w' ?* g% M& y) _( H
{/ @  M- s( h0 S' [; f
   //P1SEL |= BIT1 + BIT2;6 L7 @) x* J5 |( T* E# D, T
   //P1SEL2  |= BIT1 + BIT2;" [9 X7 Z$ ^- m5 w. }+ T
   //P1DIR |= BIT2;4 s: X. X* n  F
  P1DIR = 0xFF;                             // All P1.x outputs3 X; X% u& R$ J) F; m, ?$ R
  P1OUT = 0;                                // All P1.x reset
9 ?' ~) j5 V, x7 b$ b  P1SEL |= BIT1 + BIT2 + BIT4;              // P1.1 = RXD, P1.2=TXD
2 i3 H$ b: `  W8 g  P1SEL2 |= BIT1 + BIT2;                     // P1.4 = SMCLK, others GPIO
6 e; u# ^$ Q1 C8 L8 l( H+ _$ U1 s2 c  P2DIR = 0xFF;                             // All P2.x outputs; U0 r1 g. q2 @6 D2 a# ?
}
9 _& A% o8 n+ M% f! Q5 L5 T  Bvoid led_gpio_init(void)% z! i& r0 ~7 H5 o( H5 w( [
{
$ a& ~/ _3 V* \( j) a3 E}
* v: Z& ?( u  {- L2 Y) svoid ad_gpio_init(void): `# W7 l& m# _, W
{
$ R! M# ]/ J5 v9 ^. n}
# X- z8 O5 `$ v5 e! Y: X& q) z$ nvoid uart_config(void)
( B, U5 ]* p' O  r4 \{
* {& T$ V: t5 X; ?4 `: {# R: V/ M9 b; uUCA0CTL1 |= UCSSEL_2;
, u9 W7 J4 W% u* \) j% h: v/ m3 u) M  8 a9 u- S: l7 |3 P) @- P6 |
  UCA0BR0 = 104;                            // 1MHz 9600
" T! A2 f! J3 r/ B6 J+ W  UCA0BR1 = 0;                              // 1MHz 9600
7 Z4 [, @0 ]5 D# e- j   UCA0MCTL = UCBRS2 + UCBRS0;, {+ z0 [& n# }, E& r
   UCA0CTL1 &= ~UCSWRST;1 [/ ?* G) B2 \+ s3 E+ m. W; j
   IE2 |= UCA0RXIE;
2 W/ M5 O- {) ~( x: v8 N         # r) n4 L8 G  W
}
3 O' g, p- I# F' avoid ad_config(void)
4 G7 e9 N. x3 ^{
9 i% h. c( {$ z7 B3 T4 L   ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE;
. g) y  G2 L7 a" U: x7 `: H8 X9 p1 k! Z8 P2 i$ ^
  ADC10CTL1 = INCH_5 + CONSEQ_2 ;
* q& a( g* r; ~$ G2 n   ADC10AE0 |= 0x10;* n0 ?# d4 W8 S# x) y; ^: M3 E; p

" ~) ~" s8 Y- P$ E  ADC10CTL0 |= ENC + ADC10SC;/ _- h. Q& C8 \. \& Q: @7 _  ?3 {

( T$ ~# v  Z! {1 y% q}2 O/ |( d* D. J9 Z& ^! i
void main()6 x( T+ B3 w' h+ T# \" e8 b6 K- y4 N3 P
{
3 }* b+ E$ E9 O& r* m   WDTCTL = WDTPW + WDTHOLD;
6 Y+ Y. ]) g6 j0 K1 P. C
$ B+ A* A$ J# a0 |; K3 @( U  //sys_clk_config();
' q+ V; C( j8 N: d$ f  j
% U, M# E. w* |) _: O" J: a! w  uart_gpio_init();, d* o/ ~, s- @6 S2 S
" a- M1 i" I- W+ z
  led_gpio_init();
: f. X5 b7 S2 `$ I6 D  f% _! {( t! z' j$ [9 A
  ad_gpio_init();5 S$ p+ D2 ?1 }; Y% I+ z. w7 c

- Z/ q! U& A* b$ k$ O7 S8 U8 T' b  uart_config();
: ]/ e0 f2 o: s' ^$ H- p
; j9 ]$ y4 P1 F  I' w2 c  ad_config();( |" q' E, K. V' R3 I! u
   __bis_SR_register(GIE);
- Y' u, J+ P# n* t   while(1);
5 ^# w) E4 N4 p* O% i' G. k0 \+ M! }) b* N- _
: c2 Z5 q- M  j
}
' Y7 E( R& r+ M: A* N4 t" X#pragma vector = USCIAB0RX_VECTOR
/ {/ t2 _/ c2 o( }% T0 p6 ~: U__interrupt void USCI0RX_ISR(void)
# F( O2 M4 s4 {: ?" U2 N{) [  f4 w8 t) R- x1 E- D9 r
   while(!(IFG2 & UCA0TXIFG));
7 w' _- o, b/ {! o6 S5 E- G1 A// UCA0TXBUF =0x33 ;// UCA0RXBUF;- H$ |& \0 u) j4 t6 d3 m  p
}) `  e5 y( r& b4 S
#pragma vector  = ADC10_VECTOR
( r, N& H, [1 J& u2 _& @__interrupt void ADC10_A0_ISR(void)
2 _" ^# t& v3 R! Y# M8 M3 f{
& ~) n/ v1 j" ?7 A. f1 [; B% t6 c
9 s: r" Y3 o% Q  while(!(IFG2 & UCA0TXIFG));, T: h' E$ {/ z
   UCA0TXBUF = ((ADC10MEM*33)/1023);9 v7 {- }1 G3 [5 O4 S3 f+ b
   k = 10000;
  V9 B' D/ g1 e8 n4 z   while(k--);
) z6 s$ H" j8 D  o& A" k
7 p5 Q, m9 h6 R, {- o9 y& V0 \}

该用户从未签到

2#
发表于 2016-6-29 15:46 | 只看该作者
学习中,谢谢分享
, M% ]. [; y& ]0 l3 L5 h/ |! ]

该用户从未签到

3#
发表于 2016-6-30 11:14 | 只看该作者
楼主辛苦了!
9 h' N4 w5 o7 j$ ?* [
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-6 13:27 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表