TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: FRAN2023 en 28 de Julio de 2007, 22:12:50
-
Hola! He intentado crear un programa con el MPLAB y no se porque me da error, ni como arreglarlo. Si alguién sabe la manera de solucionarlo le agradeceria que me ayudara. Gracias
El programa es el siguiente:
RADIX HEX
STATUS EQU H'0003'
PORTA EQU H'0005'
PORTB EQU H'0006'
TRISA EQU H'0085'
TRISB EQU H'0086'
RP0 EQU H'0005'
Z EQU H'0002'
ORG 0x00
goto INICIO
ORG 0x05
INICIO bsf STATUS,RP0
clrf TRISB
movlw b'00000110'
movwf TRISA
bcf STATUS,RP0
clrf PORTB
clrf PORTA
BUCLE movf PORTA,W
btfss STATUS,Z
goto APAGAR
goto ENCENDER
APAGAR clrf PORTB
goto BUCLE
ENCENDER movlw 0xFF
movwf PORTB
goto BUCLE
END
y los mensajes de error son estos:
Message[302] C:\MPLAB\INTERRUPTORES.ASM 19 : Register in operand not in bank 0. Ensure that bank bits are correct.
Message[302] C:\MPLAB\INTERRUPTORES.ASM 21 : Register in operand not in bank 0. Ensure that bank bits are correct.
-
Hola FRAN2023, primero que nada no son errores, si no que son mensajes de advertencia "Message[302]"
Los mismos te están indicando que los reguistros que están citando en las conscuentes lineas de programa no se encuentran en el banco de ram "0".
Si haces click 2 veces seguidas y rapidas sobre dichos mensajes, te direcciona a la linea que presenta dicha advertencia.
Dichas instrucciones son las sentencias TRISA y TRISB
Por lo tanto y para finalizar, el "Message[302]" significa que prestes atención al seleccionar el banco de memoria ya que las instrucciones citadas no se encuentran en el banco "0"
Si deseas que dichos mensajes no se te indiquen más, puedes poner la sentencia:
ERRORLEVEL -302
inmediatamente debajo de donde defines el microcontrolador a usar, pero presta mucha atención al seguir programando de estar en el banco correcto antes de ejecutar una instrucción.
Un saludo.
Atte. CARLOS.