PROGRAMACION
#include <16f877a.h>
#device adc=10
#fuses hs,nowdt,noprotect
#use delay (clock=8 Mhz)
#include <lcd.c>//Libreria para LCD
#use standard_io(D)
float x;
float y;
float z;
void main()
{
// set_tris_a(0b111111);
lcd_init();
setup_adc(adc_clock_internal);
setup_adc_ports(all_analog);
while(true)
{
set_adc_channel(0);
delay_us(20);
x=read_adc();
y=(5.00)/1023;
z=y*x;
lcd_gotoxy(1,1);
printf(lcd_putc"VOLTAJE = %1.2f",z);
if (z==0)
{
output_low(pin_b0);
output_low(pin_b1);
output_low(pin_b2);
output_low(pin_b3);
output_low(pin_b4);
}
if(z>0&&z<=1)
{
output_high(pin_b0);
output_low(pin_b1);
output_low(pin_b2);
output_low(pin_b3);
output_low(pin_b4);
}
if(z>1&&z<=2)
{
output_high(pin_b0);
output_high(pin_b1);
output_low(pin_b2);
output_low(pin_b3);
output_low(pin_b4);
}
if(z>2&&z<=3)
{
output_high(pin_b0);
output_high(pin_b1);
output_high(pin_b2);
output_low(pin_b3);
output_low(pin_b4);
}
if(z>3&&z<=4)
{
output_high(pin_b0);
output_high(pin_b1);
output_high(pin_b2);
output_high(pin_b3);
output_low(pin_b4);
}
if(z>4&&z<=5)
{
output_high(pin_b0);
output_high(pin_b1);
output_high(pin_b2);
output_high(pin_b3);
output_high(pin_b4);
}
else
{
output_low(pin_b4);
}
}
}
48