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...
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...