Realice el siguiente codigo en un pic 16f877
#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8)
#include <LCD.C>
void main()
{
int16 lectura;
lcd_init();
Do {
lectura=getchar();
if(lectura==0x00){
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx esperando ");
lcd_gotoxy(1,2);
printf(lcd_putc," ");
output_b(lectura);}
else if (lectura<=0x01){
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx Recibiendo AL ");
lcd_gotoxy(1,2);
printf(lcd_putc,"PUERTA ABIERTA ");
output_b(lectura);}
else if (lectura<=0x03){
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx Recibiendo AL ");
lcd_gotoxy(1,2);
printf(lcd_putc,"FALLA FUSIBLE ");
output_b(lectura);}
else if (lectura<=0x07){
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx Recibiendo AL ");
lcd_gotoxy(1,2);
printf(lcd_putc,"MAQ. EN OPERACION ");
output_b(lectura);}
else if (lectura<=0x0F){
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx Recibiendo AL ");
lcd_gotoxy(1,2);
printf(lcd_putc,"MAQ. BLOQUEADA ");
output_b(lectura);}
else if (lectura<=0x1F){
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx Recibiendo AL ");
lcd_gotoxy(1,2);
printf(lcd_putc,"FALLA DE C.F.E. ");
output_b(lectura);}
else if (lectura<=0x3F){
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx Recibiendo AL ");
lcd_gotoxy(1,2);
printf(lcd_putc,"FALLA RECTIFICADOR ");
output_b(lectura);}
else if (lectura<=0x7F){
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx Recibiendo AL ");
lcd_gotoxy(1,2);
printf(lcd_putc,"FALLA + RECTIFICADOR ");
output_b(lectura);}
else if (lectura<=0xFF){
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx Recibiendo AL ");
lcd_gotoxy(1,2);
printf(lcd_putc,"ALTA TEMPERATURA ");
output_b(lectura);}
}While(1);
}
Cuando lo conecto hasta que no le doy Click en el Master Clear no me imprime las señales que le mando
Siempre que quiero saber lo que sucede devo de darle Master Clear
Lo que no entiendo es por que no me respeta el Do While