Errores al compilar en MPLAB X

Hola compañeros, quisiera un poco de su ayuda ya que eh tenido muchos problemas al intentar compilar un programa en MPLAB les dejo mi código fuente y los errores que se muestran al intentar compilar:

Código:
            __CONFIG _CONFIG1, _XT_OSC & _WDT_OFF & _LVP_OFF & _CPD_OFF & _CP_OFF & _BOR_OFF & _PWRTE_ON & _FCMEN_OFF & _IESO_OFF
            LIST    P=16F877A        ; se cambio la pic 
            INCLUDE <P16F877A.INC> ; PIC16F887.INC
    
       CBLOCK 0x20
           bcdDecenas
        bcdUnidades
        contador
        cronos
        peaton
        destVerde
        segundo
    ENDC

    ORG     0 ; El programa comienza después del vector de interrupción por lo que en cero (vector de reset y encendido) se pone un GOTO INICIO.
     goto     Inicio
     ORG     4                    ;vector de interrupción
    goto    rutinaInterrupcion

    #DEFINE     Latido             PORTB, 7 
    #DEFINE        Boton            TRISB,0
    #DEFINE        EntradaBoton    ANSELH,0
     
    inversorSemaforo    EQU        b\'00000010\'
    dos        EQU        .2
    cinco    EQU        .5
    nueve    EQU        .9
    veinte    EQU        .10
    ;            leds semaforos
    ;                          xxPSPAVR    
    pareVerde          EQU     b\'00001010\'
      pareAmarillo     EQU     b\'00101100\'
    pareRojo        EQU     b\'00101001\'
    sigaRojo        EQU     b\'00110001\'
    cuentaVerde        EQU        b\'00001001\'

Inicio

;CONFIGURA PUERTOS B, A y D                
    bcf        STATUS,RP1
    bsf        STATUS,RP0             ; Pone a 1 el bit 5 del STATUS. Acceso al Banco 1.
    clrf    TRISB
    clrf    TRISD
    clrf    TRISC                ; pon a ceros TRISB. Todas las líneas del Puerto B se configuran como salidas.             ; habilita B0 como entrada para interrupción
    clrf    TRISA
    bsf     Boton
    bcf        STATUS,RP0    
    clrf    PORTB
    clrf    PORTC               ; el semáforo ocupa los bits B1 a B6, no se usa el puerto A
    CLRF    PORTD
    clrf    PORTA
    bsf        STATUS,RP1
    bsf        STATUS,RP0
    clrf    ANSEL
    CLRF    ANSELH
    BSF        EntradaBoton
    
    ;CONFIGURA TEMPORIZADOR
    cargaTMR0     EQU d\'256\'-d\'195\'
    prescala    EQU d\'7\'
    frec_10Hz     EQU d\'1\'
        
    bsf        STATUS,RP0        ; banco 1
    movlw     prescala


    movwf     OPTION_REG           ; PSA=0, T0SE=0, T0CS=0, PS2-PS0=prescala
    bcf        STATUS,RP0        ; banco 0
    movlw     cargaTMR0
    movwf     TMR0
    movlw     frec_10Hz
    movwf     contador
; configura INT
    bsf     OPTION_REG, INTEDG     ;INTEDG=1 detecta flanco positvo
    bcf     INTCON,    T0IF           ;borra bandera de TMR0
    bsf     INTCON, T0IE         ;habilita TMR0 
    bcf     INTCON, INTF           ;borra bandera de INT


    bsf     INTCON,INTE            ; habilita INT
    bsf     INTCON, GIE            ;habilita todas las interrupciones
    bcf        STATUS,RP1
    bcf        STATUS,RP0
    clrf    peaton

IniciaSemaforo
    bcf     INTCON, INTF
    movlw    cuentaVerde
    movwf    destVerde
    MOVLW    pareVerde
    movwf    PORTA
    CALL    Retardo_20s
    call    Retardo_5s

verde
    btfsc    peaton,0
    goto    DestelloVerde
    goto    verde

DestelloVerde
    movlw     inversorSemaforo
    xorwf     PORTA,F
    CALL    Retardo_200ms
    call    Retardo_50ms
    decfsz    destVerde,f
    goto    DestelloVerde
    goto    SemaforoPeaton

SemaforoPeaton                 ;inicia el conteo en 25    
    MOVLW    pareAmarillo
    movwf    PORTA
    call    Retardo_5s
    MOVLW    sigaRojo
    movwf    PORTA
    MOVLW    dos
    CALL    BIN_a_BCD
    MOVWF    bcdDecenas
    MOVLW    cinco
    CALL    BIN_a_BCD
    MOVWF    bcdUnidades

Enciende
    CLRF    PORTD
    CALL    Tiempos    
    DECFSZ    bcdUnidades
    goto    Enciende
    goto    Decremento

Decremento
    CALL    Tiempos
    MOVLW    nueve
    CALL    BIN_a_BCD
    MOVWF    bcdUnidades
    ;call    Tiempos
    call     Cambio
    DECFSZ    bcdDecenas
    goto    Enciende

Cero
    call    Tiempos    
    movlw     b\'00010000\'

    xorwf     PORTA,F
    DECFSZ    bcdUnidades
    goto    Cero
    call    Tiempos
    clrf    PORTD
    CLRF    PORTC


    
movlw    pareRojo
    movwf    PORTA
    call    Retardo_5s
    bcf        peaton,0
    goto    IniciaSemaforo
    
;********FIN DEL PROGRAMA PRINCIPAL*****

rutinaInterrupcion
    CBLOCK
        respaldoW
        respaldoSTATUS
        esperaAjuste
    ENDC

    movwf     respaldoW          ;respalda W
    swapf     respaldoW, F     ; invierte nibbles en respaldoW
    swapf     STATUS, W      ;invierte los nibbles de STATUS y guarda el resultado en W, SIN AFECTAR STATUS


    movwf     respaldoSTATUS  ;respalda STATUS, (los nibbles de STATUS están invertidos)
    btfss     INTCON, T0IF       ; verifica si la interrupción fue por TMR0
    goto     rutinaINT

rutinaTMR0
    movlw    cargaTMR0
    movwf    TMR0
    movlw    d\'250\'
    movwf    esperaAjuste

ajustaTiempo
    bcf        STATUS,Z
    decfsz    esperaAjuste
    goto    ajustaTiempo
    decfsz    contador,F
    goto    finTMR0
;invierte bit del latido
    movlw     b\'10000000\'
    xorwf     PORTB,F           ;invierte B7
    btfss    Latido
    incf    cronos
    movlw     frec_10Hz
    movwf     contador

finTMR0
    bcf     INTCON,T0IF
    goto finInterrupcion
;fin de rutina del TIMER
rutinaINT
    call     Retardo_20ms
    bsf        peaton,0
    bsf        PORTA,5 
    bcf     INTCON, INTF
finInterrupcion                        ;restablece W y STATUS
    swapf     respaldoSTATUS, W     ; re-invierte los nibbles y recupera el respaldo correcto de STATUS en W
    movwf     STATUS                ; restablece STATUS
    swapf     respaldoW, W        ; restablece W
    retfie

Tiempos
    movlw    veinte
    call    BIN_a_BCD
    MOVWF    segundo
TA
    CLRF    PORTD

    BSF        PORTD,1
    clrf    W
    MOVF    bcdUnidades,w
    call    Numero_a_7Segmentos
    movwf    PORTC
    CALL    Retardo_100ms
    ;CALL    Retardo_20ms
    ;CALL    Retardo_20ms    
    CLRF    PORTD
    BSF        PORTD,0
    clrf    W
    MOVF    bcdDecenas,w
    call    Numero_a_7Segmentos
    movwf    PORTC


    CALL    Retardo_100ms
    ;CALL    Retardo_20ms
    ;CALL    Retardo_20ms
    DECFSZ    segundo
    goto    TA
    return
    
Cambio
    movlw    .1
    call    BIN_a_BCD
    MOVWF    segundo
TB
    CLRF    PORTD
    BSF        PORTD,1
    clrf    W
    MOVF    bcdUnidades,w
    call    Numero_a_7Segmentos
    movwf    PORTC
    CLRF    PORTD
    BSF        PORTD,0
    clrf    W
    MOVF    bcdDecenas,w
    call    Numero_a_7Segmentos
    movwf    PORTC
    DECFSZ    segundo
    goto    TB
    return

include <DISPLAY_7S.INC>
include <BIN_BCD.INC>
include    <RETARDOS.INC>
;fin de interrupción 
    END                ; Fin del programa.
----------------------------------------------------------------------
Código:
Debug build of project `C:\\Users\\PC-PUMA\\Documents\\Proyectos\\Proyect.mcp\' started.
Language tool versions: MPASMWIN.exe v5.30.01, mplink.exe v4.30.01
Preprocessor symbol `__DEBUG\' is defined.
Sat May 30 02:28:18 2015
----------------------------------------------------------------------
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\\Program Files\\Microchip\\MPASM Suite\\MPASMWIN.exe" /q /p16F877A "Control.asm" /l"Control.lst" /e"Control.err" /o"Control.o" /d__DEBUG=1
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 2 : Symbol not previously defined (_CONFIG1)
Error[108]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 2 : Illegal character (,)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 25 : Found label after column 1. (inversorSemaforo)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 26 : Found label after column 1. (dos)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 27 : Found label after column 1. (cinco)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 28 : Found label after column 1. (nueve)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 29 : Found label after column 1. (veinte)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 32 : Found label after column 1. (pareVerde)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 33 : Found label after column 1. (pareAmarillo)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 34 : Found label after column 1. (pareRojo)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 35 : Found label after column 1. (sigaRojo)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 36 : Found label after column 1. (cuentaVerde)
Message[302] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 43 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 44 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 45 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 46 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 47 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 55 : Symbol not previously defined (ANSEL)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 56 : Symbol not previously defined (ANSELH)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 57 : Symbol not previously defined (ANSELH)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 60 : Found label after column 1. (cargaTMR0)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 61 : Found label after column 1. (prescala)
Warning[207] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 62 : Found label after column 1. (frec_10Hz)
Message[302] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 68 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Message[302] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 75 : Register in operand not in bank 0.  Ensure that bank bits are correct.
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 93 : Symbol not previously defined (Retardo_20s)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 94 : Symbol not previously defined (Retardo_5s)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 104 : Symbol not previously defined (Retardo_200ms)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 105 : Symbol not previously defined (Retardo_50ms)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 113 : Symbol not previously defined (Retardo_5s)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 117 : Symbol not previously defined (BIN_a_BCD)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 120 : Symbol not previously defined (BIN_a_BCD)
Message[305] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 126 : Using default destination of 1 (file).
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 133 : Symbol not previously defined (BIN_a_BCD)
Message[305] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 137 : Using default destination of 1 (file).
Message[305] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 145 : Using default destination of 1 (file).
Warning[203] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 153 : Found opcode in column 1. (movlw)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 155 : Symbol not previously defined (Retardo_5s)
Message[305] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 185 : Using default destination of 1 (file).
Message[305] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 193 : Using default destination of 1 (file).
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 202 : Symbol not previously defined (Retardo_20ms)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 214 : Symbol not previously defined (BIN_a_BCD)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 222 : Symbol not previously defined (Numero_a_7Segmentos)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 224 : Symbol not previously defined (Retardo_100ms)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 231 : Symbol not previously defined (Numero_a_7Segmentos)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 235 : Symbol not previously defined (Retardo_100ms)
Message[305] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 238 : Using default destination of 1 (file).
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 244 : Symbol not previously defined (BIN_a_BCD)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 251 : Symbol not previously defined (Numero_a_7Segmentos)
Error[113]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 257 : Symbol not previously defined (Numero_a_7Segmentos)
Message[305] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 259 : Using default destination of 1 (file).
Warning[205] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 263 : Found directive in column 1. (include)
Error[105]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 263 : Cannot open file (Include File "DISPLAY_7S.INC" not found)
Warning[205] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 264 : Found directive in column 1. (include)
Error[105]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 264 : Cannot open file (Include File "BIN_BCD.INC" not found)
Warning[205] C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 265 : Found directive in column 1. (include)
Error[105]   C:\\USERS\\PC-PUMA\\DOCUMENTS\\PROYECTOS\\CONTROL.ASM 265 : Cannot open file (Include File "RETARDOS.INC" not found)
Halting build on first failure as requested.
----------------------------------------------------------------------
Debug build of project `C:\\Users\\PC-PUMA\\Documents\\Proyectos\\Proyect.mcp\' failed.
Language tool versions: MPASMWIN.exe v5.30.01, mplink.exe v4.30.01
Preprocessor symbol `__DEBUG\' is defined.
Sat May 30 02:28:21 2015
----------------------------------------------------------------------
BUILD FAILED



Les agradezco su ayuda. ...
 
Si tienes la descripción del error y que lo causa, ¿ Por que no los vas solucionando ?.
Por lo menos para hacer la lista mas pequeña.
 
Revisa _CONFIG , me parece que lleva 2 guiones bajos,no recuerdo la sintaxis "__CONFIG"
Después del mentado "CONFIG" pusiste " , " en vez de "&".

List
Include
CONFIG

Van en ese orden.

Código:
	LIST		P = 16F877A
	INCLUDE		<P16F877A.INC>

 
	__CONFIG	_XT_OSC&_WDT_OFF&_PWRTE_OFF&_BODEN_OFF&_LVP_OFF&_CPD_OFF&_WRT_OFF&_DEBUG_OFF&_CP_ALL

Saludos!
 
buen día me disculpan si no esto en el foro correcto, pues estoy trabajando con ccs compiler la versión 4.05 si no mal recuerdo.
pero ahora al pasar la codificación a una versión mas moderna en el fuse me sale un error

*** Error 111 "J:\Sofia_1\main.h" Line 12(7,81): Unknown keyword in #FUSES "WRT_50%"

tiene idea cual es el remplazo de WRT_50% para la nueva versión 5.04
 
Hola Muchas gracias d@rkbytes funciono, yo estoy usando el PIC16f877a y antes en la versión 4 la sintaxis era WRT_50% para proteger el 50% de la memoria . Ahora en la version 5 es WRT_100 me imagino que sera la totalidad ?
la verdad no c si tiene idea me orientas por fa
 
Haz una prueba colocando un fuse por vez, compila y lee el archivo hex para ver que bit fue modificado en la palabra de configuración.
 
Ok voy hacer la prueba y te comento, pero la verdad yo no se leer el archivo .hex cuando aprenda te digo, espero que me tome poco tiempo. Si tiene una pagina por hay donde pueda aprender te lo agradezco
 
Usa el programa WinPic800 para leer los archivos hex.

Al abrir un archivo, debes ir a esta ventana en donde están los bits de la palabra de configuración.
WinPic800 - Ventana Config.jpg

En la sección - WRT - podrás ver que bit es modificado y a que parte de sección de memoria pertenece.
 
Hola.
Soy nuevo en el tema de micontroladores y estamos usando MPLAB para su programación.
El problema que se me presenta, es que al momento de copilar el programa me abre la librería de retardos y no me deja correr el programa.
 
Buenas tardes! Necesito ayuda con MPLAB. Al darle a ensamblar el código me aparece un error que no entiendo. Pensaba que era del código y probé a cambiar el micro y el código en sí, pero el error persiste. Copio el código que he usado como ejemplo y el error que me aparece:
LIST P=PIC16F84A
#include <p16f84a.inc>

ORG 0x00
GOTO INICIO
ORG 0x05

INICIO
BSF STATUS,RP0
CLRF TRISA
BCF STATUS,RP0

BUCLE
BSF PORTA,RA0
GOTO BUCLE
END

Y al ensamblar me aparece:
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'C:/Users/carlos/Desktop/Ingenier�a electr�nica/Micros PIC/xzcvxdcv.X'
make -f nbproject/Makefile-default.mk dist/default/production/xzcvxdcv.X.production.hex
make[2]: Entering directory 'C:/Users/carlos/Desktop/Ingenier�a electr�nica/Micros PIC/xzcvxdcv.X'
"C:\Program Files (x86)\Microchip\MPLABX\v4.01\mpasmx\mpasmx.exe" -q -p16f84a -l"build/default/production/newAsmTemplate.lst" -e"build/default/production/newAsmTemplate.err" -o"build/default/production/newAsmTemplate.o" "newAsmTemplate.asm"
nbproject/Makefile-default.mk:107: recipe for target 'build/default/production/newAsmTemplate.o' failed
make[2]: Leaving directory 'C:/Users/carlos/Desktop/Ingenier�a electr�nica/Micros PIC/xzcvxdcv.X'
nbproject/Makefile-default.mk:90: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/Users/carlos/Desktop/Ingenier�a electr�nica/Micros PIC/xzcvxdcv.X'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make[2]: *** [build/default/production/newAsmTemplate.o] Error -1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 552ms)

He probado a reinstalar el entorno MPLAB, pero sigue igual. Espero que podáis ayudarme. Gracias!
 
A ver...

He arrancado MPLAB, he creado un proyecto nuevo, marcando el procesador PIC16F84A y el ensamblador MPASMWIN (v5.63) [/opt/microchip/mplabx/v3.10/mpasmx] como herramienta de desarrollo.

En la pantalla de edición, he creado un archivo nuevo, y dentro he escrito
PHP:
    LIST P=PIC16F84A
    include <p16f84a.inc>

    ORG 0x00
    GOTO INICIO
        
    ORG 0x05
INICIO:
    BSF STATUS,RP0
    CLRF TRISA
    BCF STATUS,RP0

BUCLE:
    BSF PORTA,RA0
    GOTO BUCLE

    END
Le doy al botón de compilar proyecto, y sin problemas.
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory '/home/explorer/Proyectos/Electronica/PIC/Prueba.X'
make -f nbproject/Makefile-default.mk dist/default/debug/Prueba.X.debug.cof
make[2]: Entering directory '/home/explorer/Proyectos/Electronica/PIC/Prueba.X'
"/opt/microchip/mplabx/v3.10/mpasmx/mpasmx" -d__DEBUG -d__MPLAB_DEBUGGER_SIMULATOR=1 -q -p16f84a -u -l\"build/default/debug/prueba.lst\" -e\"build/default/debug/prueba.err\" -o\"build/default/debug/prueba.o\" \"prueba.asm\"
Message[302] /home/explorer/Proyectos/Electronica/PIC/Prueba.X/prueba.asm 14 : Register in operand not in bank 0. Ensure that bank bits are correct.
"/opt/microchip/mplabx/v3.10/mpasmx/mplink" -p16f84a -w -x -u_DEBUG -z__ICD2RAM=1 -m"dist/default/debug/Prueba.X.debug.map" -z__MPLAB_BUILD=1 -z__MPLAB_DEBUG=1 -z__MPLAB_DEBUGGER_SIMULATOR=1 -odist/default/debug/Prueba.X.debug.cof build/default/debug/prueba.o
MPLINK 5.08, LINKER
Device Database Version 1.26
Copyright (c) 1998-2011 Microchip Technology Inc.
Errors : 0

make[2]: Leaving directory '/home/explorer/Proyectos/Electronica/PIC/Prueba.X'
make[1]: Leaving directory '/home/explorer/Proyectos/Electronica/PIC/Prueba.X'

BUILD SUCCESSFUL (total time: 220ms)
Loading symbols from /home/explorer/Proyectos/Electronica/PIC/Prueba.X/dist/default/debug/Prueba.X.debug.cof...
Loading code from /home/explorer/Proyectos/Electronica/PIC/Prueba.X/dist/default/debug/Prueba.X.debug.cof...
Loading completed
Bueno... aparece un aviso que dice que CRLF TRISA no está en el banco 0, así que hay que pasarlo al 1. El cambiar de banco es algo que depende del tipo del procesador, y de ahí tenemos que cambiar los bits del registro de estado con cuidado... y eso es un rollo. Es mucho mejor que lo haga el propio ensamblador, usando la directiva banksel:
PHP:
    LIST P=PIC16F84A
    include <p16f84a.inc>
    
    errorlevel  -302		; Turn off banking message

    org 0x00
        GOTO INICIO
    
    org 0x05
INICIO:
    banksel TRISA
        CLRF TRISA

    banksel PORTA
BUCLE:
        BSF PORTA,RA0
        GOTO BUCLE

    END
Y ahora ya sale sin advertencias.

Prueba de esta manera, y nos lo cuentas. Podría ser algo tan tonto como que estás usando rutas de archivos con letras acentuadas (Ingeniería Electrónica).
 
Última edición por un moderador:
Nada, sigue en las mismas. He probado usando la orden banksel para moverme entre los dos bancos de memoria y me sigue dando los mismos errores. También el proyecto lo he colocado en la carpeta que viene por defecto al crear el mismo. Ya no se por qué puede ser. Copio otra vez los errores que me salen:
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory 'C:/Users/carlos/MPLABXProjects/zcsdc.X'
make -f nbproject/Makefile-default.mk dist/default/production/zcsdc.X.production.hex
make[2]: Entering directory 'C:/Users/carlos/MPLABXProjects/zcsdc.X'
make[2]: *** [build/default/production/newAsmTemplate.o] Error -1
"C:\Program Files (x86)\Microchip\MPLABX\v3.65\mpasmx\mpasmx.exe" -q -p16f84a -l"build/default/production/newAsmTemplate.lst" -e"build/default/production/newAsmTemplate.err" -o"build/default/production/newAsmTemplate.o" "newAsmTemplate.asm"
nbproject/Makefile-default.mk:107: recipe for target 'build/default/production/newAsmTemplate.o' failed
make[2]: Leaving directory 'C:/Users/carlos/MPLABXProjects/zcsdc.X'
nbproject/Makefile-default.mk:90: recipe for target '.build-conf' failed
make[1]: Leaving directory 'C:/Users/carlos/MPLABXProjects/zcsdc.X'
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed

BUILD FAILED (exit value 2, total time: 414ms)
 
Solo aparece un error -1 y un error 2, que no aparecen en el manual del ensamblador que acompaña a la versión 3.10 del MPLAB que tengo instalado.

Lo que... estoy viendo... es que estás en Windows... y que el paso de argumentos a mpasmx.exe se hace con '-':

"C:\Program Files (x86)\Microchip\MPLABX\v3.65\mpasmx\mpasmx.exe" -q -p16f84a

cuando... en el manual pone que en Windows el paso de argumentos se debe hacer con '/':

"C:\Program Files (x86)\Microchip\MPLABX\v3.65\mpasmx\mpasmx.exe" /q /p16f84a

Humm... voy a instalarme el 4.01 en mi Linux, a ver si trae información más moderna.
 
No me ha dado problema alguno. Y la documentación del ensamblador es el mismo del año 2013.

En algún foro veo que el poner el errorlevel -302 reduce los mensajes de error, pero lo que te sale a ti es lo mínimo. Es muy raro que no salga nada más.

Una posibilidad sería ver si existe algún log, o ejecutar el comando de ensamblado desde la línea de comandos, para ver si sale alguna información más.
 
Buenos días! Perdón por haber estado desconectado un tiempo. He formateado el PC en el que uso MPLAB, y al instalarlo y probar un código no me daba problema. Sin embargo al instalar el entorno de programación de microvision de la empresa Keil y tratar de ensamblar un proyecto en MPLAB me daba los errores que daba antes. Supongo que se tratará de algún tipo de "solape" entre los dos entornos de programación. Gracias por la ayuda!
 
Atrás
Arriba