Hola, estoy haciendo el cambio del pic16f84a al pic16f88. Para ésto quiero cargar el siguiente programa en assembler:
Ya lo probé en el 16f84a y funciona bien, pero lo he cargado varias veces en proteus con el 16f88, y no me funciona, también lo he cargado en el pic físicamente, pero obtengo el mismo resultado. Quiero utilizar éste microcontrolador empleando el oscilador interno (lo que se supone ya establecí en la palabra de configuración), pero sospecho que es ésto lo que causa la falla. Ya busqué en el datasheet y en cuanto a la palabra de configuración creo que no hay errores, pero no sé si se deban de escribir algunas líneas extra para deshabilitar las funciones extra de éste pic (comparadores, etc.). Agradecería mucho si me pudieran ayudar.
Código:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;PROGRAMA CON ENTRADAS DE (RA0 A RA4) Y SALIDAS EN (RB0 A RB4)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;CONFIGURACIÓN PARA PIC16F88
;
__CONFIG _CONFIG1, _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _MCLR_OFF & _LVP_ON & _INTRC_IO
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
LIST P=16F88
INCLUDE <P16F88.INC>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
;CÓDIGOS DE PROGRAMA
;
ORG 0X00 ; DIRECCIÓN DE INICIO DEL PROGRAMA
INICIO BSF STATUS,RP0 ; SET EN RP0 DE STATUS PARA ENTRAR AL BANCO 1
CLRF TRISB ; COLOCOAMOS CEROS EN TRISB PARA CONFIGURARLO COMO ENTRADAS
MOVLW D'255' ; CARGAMOS W CON UNOS (255 DECIMAL)
MOVWF TRISA ; MOVEMOS LOS DATOS DE W A TRISA PARA CONFIGURARLO COMO SALIDAS
BCF STATUS,RP0 ; LIMPIAMOS RP0 DE STATUS PARA ENTRAR EN EL BANCO 0
SALIDA
MOVF PORTA,0 ; CARGAMOS LOS DATOS DEL PUERTO A EN EL REGISTRO W
MOVWF PORTB ; CARGAMOS LOS DATOS DEL REGISTRO W EN EL PUERTO B (SALIDAS)
GOTO SALIDA ; ENTRAMOS EN BUCLE INFINITO CON LA ETIQUETA "SALIDA"
END ;
Última edición por un moderador: