JecarDatha Electronics MICROCONTROLADOR 16F877A | Page 51

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