Hola:
llevo un buen rato averiguando porque no me muestra en la LCD el mensaje. Es simplemente una prueba de funcionamiento del LCD. Lo del PWM es porque incluye la visualizacion en el LCD.
#include <16f877a.h>
#device adc=10
#fuses XT,NOWDT,NOPROTECT,NOLVP,NOPUT,NOCPD
#use delay(clock=8000000)
//#include <lcd.c>
#include <flex_lcd.c>
#define LCD_DB4 PIN_D4
#define LCD_DB5 PIN_D5
#define LCD_DB6 PIN_D6
#define LCD_DB7 PIN_D7
#use fast_io(c)
#define LCD_RS PIN_B7
#define LCD_RW PIN_B5
#define LCD_E PIN_B6
void main(void){
int dato;
int16 ciclo_trabajo;
set_tris_c(0x00);
setup_adc_ports(all_analog);
setup_adc(adc_clock_internal);
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_16,255,1);
//set_pwm1_duty(CCP_OFF);
lcd_init();
while(1){
lcd_setcursor(1,0);
dato=200;
printf(lcd_putc,"El valor es: %u Hz",dato);
set_adc_channel(0);
delay_us(20);
ciclo_trabajo=read_adc();
set_pwm1_duty(ciclo_trabajo);
}
}
Un saludo
aitor