¿Que esta mal en este programa(PIC18F452?

Bien pues estoy iniciando en esto de los microcontroladores y estoy utilizando el PIC18F452 el punto es que este programa ya lo habia realizado sin el uso de tablas es decir pasando uno por uno los valores usando las instrucciones necesarias y funcionaba, el problema es que al intentar implementar las tablas el programa compila pero el resultado no es el esperado, si alguien pudiera ayudarme lo agradeceria mucho el programa es este:

;OBJETIVO: CREAR UNA SECUENCIAS DE LUCES CON 8 LED PERO TOMANDO
;LOS VALORES DESDE UNA TABLA QUE INICIA EN LA DIRECCION 1000H
;INCLUIR LAS LIBRERIAS
#INCLUDE "P18F452.INC"
LIST P=18F452
;DECLARACION DE FUSIBLES
;CONFIG_WDT_OFF_HS_OSC
__CONFIG _CONFIG1H, _HS_OSC_1H
__CONFIG _CONFIG2L, _BOR_OFF_2L & _PWRT_ON_2L
__CONFIG _CONFIG2H, _WDT_OFF_2H

;DECLARACION DE VARIABLES
TIEMPO_1 EQU 20H
TIEMPO_2 EQU 21H
TIEMPO_3 EQU 22H

;DECLARACION DE BITS

;VECTOR DE ARRANQUE
ORG 0000H
BRA INICIO
;---- P R O G R A M A P R I N C I P A L ---------------------------------------
INICIO CALL CONFIG_PTOS
MOVLW 10H
MOVWF TBLPTRH,0
ET_4 MOVLW 00H
MOVWF TBLPTRL,0

LEER_OTRO TBLRD*+
MOVLW 03H
CPFSEQ TABLAT,0
BRA ET_5
CALL DLY_3
BRA ET_4

ET_5 MOVWF TABLAT,PORTC
CALL DLY_3
BRA LEER_OTRO

;--------------------SUBRUTINAS------------------------------
CONFIG_PTOS MOVLW 00H
MOVWF TRISC,0
RETURN

DLY_3 MOVLW 30H
MOVWF TIEMPO_1,0
ET_3 MOVLW 30H
MOVWF TIEMPO_2,0
ET_2 MOVLW 30H
MOVWF TIEMPO_3,0
ET_1 DECFSZ TIEMPO_3,1,0
BRA ET_1
DECFSZ TIEMPO_2,1,0
BRA ET_2
DECFSZ TIEMPO_1,1,0
BRA ET_3
RETURN
;-------------------------------------------------------------
ORG 1000H
DB 80H,0C00H,0E00H,0F00H,0F08H,0FCH,0F0EH,0F0FH,03H

END

De cualquier forma adjunto un archivo que contiene el codigo en ASM y el archivo para el proteus.
Gracias.
 

Adjuntos

  • SECUENCIA.zip
    16.6 KB · Visitas: 14
Atrás
Arriba