JecarDatha Electronics MICROCONTROLADOR 16F877A | Page 55

PROGRAMACION

#include <16f877a.h>

#device adc=10

#fuses hs,nowdt,noprotect

#use delay (clock=20 Mhz)

#include <lcd.c>//Libreria para LCD

#use standard_io(D)

float x;

float y;

float z;

void main()

{

lcd_init();

setup_adc(adc_clock_internal);

setup_adc_ports(RA0_ANALOG);

lcd_gotoxy(1,1);

printf(lcd_putc," TERMOMETRO ");

lcd_gotoxy(1,2);

printf(lcd_putc,"DIGITAL CON LM35");

delay_ms(1000);

while(true)

{

set_adc_channel(0);

delay_us(20);

x=read_adc();

y=(5.0*x)/1023;

z=y*100;

lcd_gotoxy(1,1);

printf(lcd_putc," TEMPERATURA ");

lcd_gotoxy(1,2);

printf(lcd_putc,"ACTUAL= %01.2g oC",z);

if (z==0)

{

output_low(pin_b0);

output_low(pin_b1);

}

if(z>0&&z<=20)

{

output_high(pin_b0);

output_low(pin_b1);

}

if(z>20&&z<=30)

{

output_high(pin_b0);

output_high(pin_b1);

}

}

}

52