exemplo codigo AD

Software e Hardware para uC Texas

Moderadores: andre_luis, 51

exemplo codigo AD

Mensagempor denis neves » 06 Mar 2009 17:28

tudo bem galera,

eu estou começando a programar o msp430 e ainda não adquiri o livro do fabio pereira.Eu estou fazendo um projeto onde eu tenho que ler um LM35 e de acordo com a temperatura e fazer uma barra de leds acenderem. A parte dos leds ta tranquilo, mas eu não estou conseguindo fazer a parte da conversão.

Eu estou usando a entrada A0 e tenção de referencia interna !!!

sera que alguem poderia de passar (se não or muito encomodo) um programinha exemplo para eu fazer a leitura da tenção do LM35.

Muito obrigado.

Denis
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16

Mensagempor alessandro » 11 Mar 2009 10:00

Qual o modelo do MSP430 que esta usando? Você esta usando linguagem C?

Alessandro
Alessandro
Avatar do usuário
alessandro
Byte
 
Mensagens: 278
Registrado em: 12 Out 2006 19:32

Mensagempor denis neves » 11 Mar 2009 13:10

Olá Alessandro,

eu estou usando o msp430F149, estou usando o IAR e programando em C !!!

Valeuuuu...

Denis.
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16

Mensagempor alessandro » 11 Mar 2009 15:27

Veja se ajuda, a aplicação foi feita para MSP430F1232, mas você consegue usar no seu.

//******************************************************************************
// MSP-FET430P120 Demo - ADC10, Sample A0, AVcc Ref, Set P1.0 if > 0.5*AVcc
//
// Description: A single sample is made on A0 with reference to AVcc.
// Software sets ADC10SC to start sample and conversion - ADC10SC
// automatically cleared at EOC. ADC10 internal oscillator times sample (16x)
// and conversion. In Mainloop MSP430 waits in LPM0 to save power until ADC10
// conversion complete, ADC10_ISR will force exit from LPM0 in Mainloop on
// reti. If A0 > 0.5*AVcc, P1.0 set, else reset.
// //* MSP430F1232 or MSP430F1132 Device Required *//
//
// MSP430F1232
// -----------------
// /|\| XIN|-
// | | |
// --|RST XOUT|-
// | |
// >---|A0 P1.0|-->LED
//
// M. Buccini
// Texas Instruments Inc.
// Feb 2005
// Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.21A
//******************************************************************************


#include <msp430x14x.h>

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled
ADC10AE |= 0x01; // P2.0 ADC option select
P1DIR |= 0x01; // Set P1.0 to output direction

for ( ; ; )
{
ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
_BIS_SR(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit
if (ADC10MEM < 0x1FF)
P1OUT &= ~0x01; // Clear P1.0 LED off
else
P1OUT |= 0x01; // Set P1.0 LED on
}
}

// ADC10 interrupt service routine
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR (void)
{
_BIC_SR_IRQ(CPUOFF); // Clear CPUOFF bit from 0(SR)
}

Alessandro
Alessandro
Avatar do usuário
alessandro
Byte
 
Mensagens: 278
Registrado em: 12 Out 2006 19:32

Mensagempor denis neves » 11 Mar 2009 15:50

Beleza Alessandro,

vou tentar adaptar o codigo para o msp que estou usando, se eu tiver alguma duvida ou resultado eu posto aqui !!!

Muito obrigado,

Denis.
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16

Mensagempor alessandro » 11 Mar 2009 16:21

Note que já alterei o arquivo do modelo do MSP no início para o que esta usando, desta forma, cole no compilador IAR, compile e debug.

Alessandro
Alessandro
Avatar do usuário
alessandro
Byte
 
Mensagens: 278
Registrado em: 12 Out 2006 19:32

Mensagempor denis neves » 16 Mar 2009 15:28

Fala Alessandro,

eu mudei o programinha para o msp que estou usando (AD 12bits) mas ainda não consegui fazer funcionar.

Me tira uma duvida, quando eu uso referência interna eu ainda tenho que fazer algum tipo de hardware externo ???

Eu estou usando um lm35 na entrada A1 (Pin P6.1) e setando o conversor como referencia interna de 2.5V, ai se o valor do sensor for 1/4 do valor de referencia eu acendo um LED no pino P2.1. Com o multimetro eu vejo o valor na entrada do ad mas o led não acende !!!

vc tem alguma ideia do que seja ???

desculpe a ignorancia,

Obrigado.

Denis.
HEY HO LET'S GO !!!
denis neves
Byte
 
Mensagens: 117
Registrado em: 25 Jul 2007 17:16


Voltar para Texas

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x