Que tal, tengo un problema con un programa en 16f877a, es la primera vez que lo uso. He notado que el pic funciona lento, ya que cuando escribe un texto en el lcd se puede notar como se escribe caracter por caracter. Por ejemplo el retardo que tengo ahi en el codigo es de 500ms, sin embargo dura como 10seg. Cual creen que sea el problema.
El cristal que le pongo es de 4Mhz y hace lo mismo con uno de 12Mhz.
Por cierto, como informacion adicional: lo mismo me pasa en ensamblador pero peor, ahi nisiquera escribe el mensaje en el LCD solo lo inicializa. Una instruccion en ensamblador a 4Mhz se ejecuta en 1uS normalmente, sin embargo con el osciloscopio pude ver que cada instruccion se ejecuta en 25uS.
Ah y algo que me sorprendio, cuando alimento el circuito aunque no le ponga el cristal al PIC funciona igual que si se lo pusiera. ¿como esta eso?. este micro no tiene oscilador interno que yo sepa.
Donde estoy cometiendo el error?
ESTE ES EL CODIGO:
#include<16f877.h>
#fuses nowdt
#fuses noput
#fuses noprotect
#fuses xt
#use delay (clock=4000000)
#include <flex_lcd.c>
void main()
{
lcd_init();
lcd_gotoxy(1,1);
printf(lcd_putc," FCE-BUAP ");
delay_ms(500);
lcd_gotoxy(1,1);
printf(lcd_putc," ELECTRONICA ");
}