PIC18F4550 y LCD con cristal de 20MHZ

#1
Hola

Estoy haciendo un proyecto escolar y he estado teniendo problemas con el PIC18F4550 debido a que cuando utilizo un LCD con un cristal de 4MHZ este funciona correctamente, pero al utilizar un cristal de 20 MHZ o mayor para utilizar la conexión USB, el LCD no muestra la información correctamente, ya que no muestra algunos caracteres, por ejemplo en vez de mostrar Hola Mundo, muestra algo como "H la m ndo" espero que alguien pueda ayudarme puesto que ya tengo tiempo y no he podido resolver este problema.

Gracias de antemano.
 
#2
has modificado la velocidad en el proyecto?? Que compilador usas?? A mi me paso algo parecido y era por olvido al modificar la velocidad de la nueva frecuencia.

En el 4550 puedes usar el PLL con un cristal de 4Mhz y poner la velocidad del USB a 48Mhz y la velocidad del micro de 16Mhz a 48Mhz
 
#4
#include <18F4550.h>
#FUSES HS,NOWDT
#USE delay(clock=20000000)
#include <math.h>
#include <lcd.c>

Variables

void main(){

lcd_init();

setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
set_timer1(15536);

enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);

while(1){

*/Operaciones algebráicas*/

printf(lcd_putc,"\fAltura=%1.4f",Altura);
printf(lcd_putc,"\nAzimut=%1.4f",Azimut);


}
}

#INTERRUPCION TIMER1 CADA 10 ms
{
set_timer1(15536);
Contador
}
 
Última edición:
#5
ese error que te da significa que el dispositivo esta ocupado mientras intentas acceder a el. El problema puede ser porque necesite un delay entre escritura y escritura, prueba a poner delays entre las escrituras.

Aun asi parece que te da problemas en una misma frase, por lo cual parece fallo de la funcion de escribir en el lcd.
 
Arriba