Necesito saber este microcontrolador. Tengo el siguiente código
#include "p16f887.inc"
; CONFIG1
; __config 0xEFC4
__CONFIG _CONFIG1, _FOSC_INTRC_NOCLKOUT & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_ON & _IESO_ON & _FCMEN_ON & _LVP_OFF
; CONFIG2
; __config 0xFFFF
__CONFIG _CONFIG2, _BOR4V_BOR40V & _WRT_OFF
REGISTROS UDATA 0X0020
INICIO
BANKSEL TRISA
BCF TRISA, RA0
BCF TRISA, RA1
BCF TRISA, RA2
BSF TRISB, RB0
BSF TRISB, RB1
BSF TRISB, RB2
BSF TRISB, RB3
BSF TRISB, RB4
BSF TRISB, RB5
BSF TRISB, RB6
BSF TRISB, RB7
BSF TRISA, RA3
BSF TRISA, RA4
BANKSEL ANSEL
CLRF ANSEL
BANKSEL ANSELH
CLRF ANSELH
GOTO BUCLE
BUCLE
MOVF TRISB, W
ADDWF W
MOVWF TRISA, RA3
NOP
SUBLW 7
XORWF TRISA, RA3
BTFSS TRISA, RA3
GOTO CONDICION1
GOTO CONDICION2
CONDICION1
MOVLW 1
MOVWF TRISA, RA1
END
Explico a continuación: Mi idea es hacer que PORTB sume todos los bits en alto y al sumarlo restar el total de bits (que son ocho); la resta se debe guardar en PORTA, RA3, luego XOR la resta (PORTA, RA3) con el resultado de la suma, y si es igual a uno hará una serie de condiciones
Sin embargo me aparecen una serie de errores al parecer de archivo. Mis dudas son ¿Cómo se puede definir una entrada y una Salida en este microcontrolador con MPLAB de forma correcta?
"C:\Program Files (x86)\Microchip\MPLABX\v4.05\mpasmx\mpasmx.exe" -q -p16f887 -l"build/default/production/newAsmTemplate.lst" -e"build/default/production/newAsmTemplate.err" -o"build/default/production/newAsmTemplate.o" "newAsmTemplate.asm"
Error[152] C:\USERS\ERICK\MPLABXPROJECTS\9.X\NEWASMTEMPLATE.ASM 11 : Executable code and data must be defined in an appropriate section
Error[152] C:\USERS\ERICK\MPLABXPROJECTS\9.X\NEWASMTEMPLATE.ASM 11 : Executable code and data must be defined in an appropriate section
Message[302] C:\USERS\ERICK\MPLABXPROJECTS\9.X\NEWASMTEMPLATE.ASM 12 : Register in operand not in bank 0. Ensure that bank bits are correct.
Error[152] C:\USERS\ERICK\MPLABXPROJECTS\9.X\NEWASMTEMPLATE.ASM 12 : Executable code and data must be defined in an appropriate section
Message[302] C:\USERS\ERICK\MPLABXPROJECTS\9.X\NEWASMTEMPLATE.ASM 13 : Register in operand not in bank 0. Ensure that bank bits are correct.
Error[152] C:\USERS\ERICK\MPLABXPROJECTS\9.X\NEWASMTEMPLATE.ASM 13 : Executable code and data must be defined in an appropriate section