Moderadores: andre_luis, 51, guest2003, Renie
#include<16f877a.h>
#device ADC=10
#fuses NOWDT,NOPROTECT,PUT,NOLVP,HS
#use delay(clock=4000000)
#include<flex_lcd.c>
void main()
{
signed int32 analog;
float result;
set_tris_a(0b11111111);
set_tris_c(0b00000000);
set_tris_d(0b00000000);
output_a(0x00);
output_c(0x00);
output_d(0x00);
lcd_init();
setup_ADC_ports(RA0_analog); //configurA pino_a0 para conversão AD
setup_adc(adc_clock_internal); //configurar o clock interno para o AD
set_adc_CHANNEL(0);
while(1)
{
analog=(int32)READ_ADC();
result=(float)(analog*0.488);
printf(lcd_putc, " \f TEMP %0.2f C ",result,);
delay_ms(10);
}
}
alex1000 escreveu:Um problema surgiu colocando-se o LM35 ao A0 do Pic16F877a, a tensão que aparece no A0 é (no máximo) 1.5 V.
Olhando-se o datasheet do LM35 que ele trabalha de 2v a 4V, indicando de
-55 a 150°. Retirando-se o LM do circuito e aumentando e diminuindo a temperatura a sua volta ele apresenta estas tensões no Vout.
Parece que o Pic está impedindo-o de apresentar esta tensão.
Antes que perguntem isto ocorreu em outros pinos também.
Alguem tem alguma solução?
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante