#include <18F4550.h> //Microcontrolador utilizado PIC18F4550
//ADC
#device adc=10 //Convertidor ADC resolucion 10
//CONFIGURACIÓN
#fuses HSPLL //Alta velocidad despues de haber utilizado el prescaler
#fuses PLL5 //Divide la frecuencia de entrada entre 5, es decir 20 MHz/5= 4 MHz
#FUSES NOWDT
#fuses MCLR //Reset
//CRISTAL DE CUARZO 20MHz
#use delay(clock=48000000) //El cristal que tenemos es de 20 MHz, pero el clock efectivo que tenemos
//despues de realizar los prescaler y PLL es de 48 MHz
#include "C:x\flex_lcd420.c" //LCD
#include <math.h>
void main (){
float x;
float LM35;
while(true){
lcd_init(); //Inicializar LCD
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL); //Reloj del conversor interno
set_adc_channel(2); //Obtencion de datos entrada 1
delay_us(20);
x=read_adc();
LM35=5*x/1024.0;
lcd_putc('\f');
lcd_gotoxy(1,1);
printf(lcd_putc,"TEMP_AMB = %4.1f ", LM35);
delay_ms(1000);
}
}
setup_adc_ports(RA0_RA1_RA2_ANALOG_RA3_REF);
setup_adc(ADC_CLOCK_INTERNAL_32); //Reloj del conversor interno
while(true){
lcd_init(); //Inicializar LCD
set_adc_channel(2); //Obtencion de datos entrada 1
delay_ms(1);
x=read_adc();
LM35= 0.488*x
lcd_putc('\f');
lcd_gotoxy(1,1);
printf(lcd_putc,"TEMP_AMB = %4.1f ", LM35);
delay_ms(1000);
}Tengo una pregunta, se podria hacer de alguna manera que el LM35 trabajara en una resolucion de 8 bits, pero el microcontrolador funcionara a 10 bits (ya que otros sensores necesito que funcionen a 10 bits, y como no he hecho la etapa amplificadora pierdo muchos bits poniendolo a 10 en el LM35 y no mide correctamente con lo que me habeis dicho, y no tengo opcion de poner nada mas)para que sea mas estable puede hacer promedio y tambien usar 100nf en paralelo al pic lo mas serca posible,porque Vref+ es Vdd.
Ummm, lo de promediar puede llegar a ser peligroso si el fenómeno que se esta estudiando posee alta dinámica.
Tengo una pregunta, se podria hacer de alguna manera que el LM35 trabajara en una resolucion de 8 bits, pero el microcontrolador funcionara a 10 bits (ya que otros sensores necesito que funcionen a 10 bits, y como no he hecho la etapa amplificadora pierdo muchos bits poniendolo a 10 en el LM35 y no mide correctamente con lo que me habeis dicho, y no tengo opcion de poner nada mas)