PROGRAMACION
#include <16F877a.h>
#device *=16 //definimos el dispositivo de medicion
#device adc=10 //llamamos el adcon1 registros adresh y adresl
#fuses hs,nowdt,noprotect
#use delay (clock= 4 MHZ)
#include <lcd.c>//Libreria para LCD
#use standard_io(D)
int16 x;
float y;
void main()
{
lcd_init();
setup_timer_2(T2_DIV_BY_16,255,1); //configuracion del timer 2 y postcaler
setup_ccp1(ccp_pwm); //configuracion modo pwm
setup_adc(adc_clock_internal);
setup_adc_ports(RA0_ANALOG);
while(true)
{
set_adc_channel(0);
delay_us(20);
x=read_adc();
y=(x*100.0)/1023.0;
set_pwm1_duty(x);
lcd_gotoxy(1,1);
printf(lcd_putc,"VALOR= %4Lu\n",x);
printf(lcd_putc,"DC= %1.1f",y);
}
}
54