Problema con PIC y un cristal.

Hola a todos... Un saludo...

Hace poco adquirì un PIC 16f877a y no he podido hacerlo funcionar con un cristal de 4MHZ. Cuando lo programo y lo monto, no hace absolutamente nada, sin embargo al cambiar el cristal por un circuito RC (Aun cuando le puse la instrucciòn _XT_OSC), el ciruito funciona!!!...

El programa es el siguiente:

**************************************************************
__CONFIG _WDT_OFF&_PWRTE_ON&_XT_OSC&_LVP_OFF&_CP_OFF ; Configuración para el programador

LIST p=16F877a
INCLUDE <P16F877a.INC>

ORG 0x00 ;Inicio de programa

N EQU 0x00
cont1 EQU 0x20
cont2 EQU 0x21

BCF STATUS,RP0 ; Accede a banco 0
BCF STATUS,RP1
CLRF PORTA ; Limpia PORTA
BSF STATUS,RP0 ; Accede a banco 1
CLRF TRISA ; Configura todos las patitas de PORTA como salidas
BCF STATUS,RP0 ; Regresa a banco 0

Encled
BSF PORTA,0 ; La línea RA0 de PORTA toma el valor de 1, se enciende el LED
CALL Retardo ; Llamada a la rutina de retardo
BCF PORTA,0 ; La línea RA0 de PORTA toma el valor de 0, se apaga el LED
CALL Retardo ; Llamada a la rutina de retardo
GOTO Encled ; Va a la etiqueta Encled

Retardo ; Rutina de retardo
MOVLW N
MOVWF cont1
Rep1
MOVLW N
MOVWF cont2
Rep2
DECFSZ cont2,1
GOTO Rep2
DECFSZ cont1,1
GOTO Rep1
RETURN ; Retorno a la llamada de rutina de retardo.

END ; Fin de programa

*********************************************************

Gracias por su colaboraciòn...
 
Algunas veces los cristales ya tienen incluidos los capacitores de desacoplo y otras veces no... si los estas poniendo intenta removiendolos... y viceversa....
 
Revisa que la demora que tienes, a lo mejor con 4MHz es demasiado rapido el titilar que no se puede visualizar nada.
Por lo que veo en tu programa nunca le cargas nada a N que es lo que tu usas para hacer el tiempo.
 
Última edición:
Pues en Proteus funciona bien colocando clock =4MHZ. Ademas ayer le decargue el programa a un 16f819 y si funciona. Pero con el 16f877a no me funciona. Gracias por su ayuda.
 
Atrás
Arriba