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:
----------------------------------------------------------------------
Les agradezco su ayuda. ...
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. ...