desktop

Ayuda con PIC 16f84. No prende.

Tengo un problema con un proyecto de la escuela.
Lo que pasa es que el maestro me paso un proyecto "Semáforo" y la placa donde lo corremos si lo corre, pero en esa misma placa pongo un programa hecho por mí y con ayuda del maestro por eso de los tiempo pero no lo corre. En el quemador a la hora de cargarlo, me dice que hace falta la palabra de configuración; no se si tenga que ver en algo.
Les adjunto el código fuente del proyecto y la captura de pantalla.
De antemano gracias por la ayuda. :)
Código:
LIST	P=16F84
#INCLUDE	P16F84.INC
_config_WDT_OFF_cp_off_xt_osc
	
CONTA1  EQU 0CH
CONTA2	EQU 0DH
CONTA3	EQU 0EH	
	
	ORG	00H
	BSF     STATUS,RP0
	MOVLW	0FH
	MOVWF	PORTA
	MOVLW	00H
	MOVWF	PORTB
	BCF     STATUS,RP0
CERO	MOVLW	81H
	MOVWF	PORTB
	MOVLW	.05
	CALL	         TIEMPO
	MOVLW	42H
	MOVWF	PORTB
	MOVLW	.05
	CALL	        TIEMPO
COMP1 BTFSS	PORTA,2
	GOTO	        SIGUE
	GOTO	         DOS
SIGUE MOVLW	24H
	MOVWF	PORTB
	MOVLW	.05
	CALL	         TIEMPO
	MOVLW	18H
	MOVWF	PORTB
	MOVLW	.05
	CALL	         TIEMPO
	MOVLW	24H
	MOVWF	PORTB
	MOVLW	.05
	CALL	        TIEMPO
	BTFSS	PORTA,1
	GOTO	         SIGUE2
	GOTO	         UNO
SIGUE2 MOVLW	42H
	MOVWF	PORTB
	MOVLW	.05
	CALL	         TIEMPO
	BTFSS	PORTA,3
	GOTO 	CERO
	GOTO 	TRES
UNO	MOVLW	1H
	MOVWF	PORTB
	MOVLW	.05
	CALL   	 TIEMPO
	MOVLW	2H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	BTFSS	PORTA,2
	GOTO	       SIGUE3
	GOTO	         DOS
SIGUE3  MOVLW	4H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	MOVLW	8H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	MOVLW	10H
	MOVWF	PORTB
	MOVLW	.05
	CALL	         TIEMPO
	MOVLW	20H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	MOVLW	40H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	MOVLW	80H	
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	BTFSS	PORTA,3
	GOTO  	SIGUE4
	GOTO 	TRES
SIGUE4 MOVLW	40H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	MOVLW	40H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	MOVLW	20H	
	MOVWF	PORTB
	MOVLW	.05
	CALL	        TIEMPO
	MOVLW	10H
	MOVWF	PORTB
	MOVLW	.05
	CALL	        TIEMPO
	MOVLW	8H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	MOVLW	4H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	MOVLW	2H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	MOVLW	1H	
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	BTFSS	PORTA,0
	GOTO	        UNO
	GOTO 	CERO
DOS	MOVLW	55H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	BTFSS	PORTA,1
	GOTO	        SIGUE5
	GOTO 	UNO
SIGUE5 MOVLW	0AAH
	MOVWF	PORTB
	MOVLW	.05
	CALL	        TIEMPO
	BTFSS	PORTA,3
	GOTO	         IMG1
	GOTO 	TRES
IMG1	BTFSS	PORTA,0
	GOTO 	DOS
	GOTO 	CERO
TRES	MOVLW	0FFH
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	BTFSS	PORTA,0
	GOTO 	SIGUE6
	GOTO 	CERO
SIGUE6 MOVLW	00H
	MOVWF	PORTB
	MOVLW	.05
	CALL  	TIEMPO
	BTFSS	PORTA,1
	GOTO 	MAX2
	GOTO 	UNO
MAX2	BTFSS	PORTA,2
	GOTO 	TRES
	GOTO 	DOS

TIEMPO MOVWF	CONTA3
LOOP3 MOVLW	.130
	  MOVWF	CONTA2
LOOP2 MOVLW	0FFH
	  MOVWF	CONTA1
LOOP1  DECFSZ	CONTA2,F
	GOTO        LOOP1
	DECFSZ	CONTA2,F
	GOTO 	LOOP2
	DECFSZ	CONTA3
	GOTO 	LOOP3
	RETURN
	
	END
Adjunto la imagen.
Sinconfiguracion_zpsd65e5f34.jpg
...
 
Última edición:
"_config_WDT_OFF_cp_off_xt_osc" ??

deberia ser asi:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

bueno eso tengo entendido.
segun la sintaxis, en el MPLAB help/ topics/Language tools/MPASM Assembler
busca la directiva __config

bueno en todo caso:

Sinconfiguracion_zpsd65e5f34.jpg


desde el MPLAB:
ASI+EN+MPLAB.jpg


esto para que puedas programar desde el mismo MPLAB
 
Muchas gracias BKAR
Corregí esta línea "__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC"
Y ya prendió!!
Ahora solo queda revisar el programa porque se queda pegado en la primer instrucción! :S
 
Atrás
Arriba