;***************************************************************************
;PROGRAMA DE SECUENCIADOR DE 6 CANALES DE EFECTOS
;PARA UNA CHAPA PATENTE ( MATRICULA ) DE UN AUTO TUNING
;TODOPIC - SEPTIEMBRE 2010
;***************************************************************************
list p=16f628a
#include p16f628a.inc
errorlevel -302,-307
CBLOCK 20h
tiempo
temp
CONTA
TEMPORAL
endc
__CONFIG _INTOSC_OSC_NOCLKOUT & _PWRTE_ON & _WDT_OFF & _CP_ON & _MCLRE_OFF & _BOREN_ON & _LVP_OFF & _DATA_CP_ON
movlw .7
movwf CMCON
CLRF CONTA
bsf STATUS,RP0
movlw B'00000000' ;PUERTOB
movwf TRISB ;como salida
movlw B'11111111'
movwf TRISA ;porta como
bcf STATUS,RP0 ;entrada
;*************************************************************************************************
INICIO INCF CONTA,F
MOVF CONTA,W
CALL letrademora
MOVWF PORTB
BCF PORTB,0
BCF PORTB,1
ANDLW B'00000011' ;SELECCION DE 4 TIEMPOS DE DEMORA
MOVWF TEMPORAL ;segun los valores , obtengo 4
ADDWF PCL,F ; demoras en los efectos
GOTO CERO
GOTO UNO
GOTO DOS
GOTO TRES
letrademora ADDWF PCL,F
RETLW B'00000000'
;-------------------------------
RETLW B'10000011'
RETLW B'11000011'
RETLW B'11100011'
RETLW B'11110011'
RETLW B'11111011'
RETLW B'11111111'
RETLW B'11111111'
RETLW B'11111111'
;--------------------------------------------
RETLW B'11111111'
RETLW B'01111111'
RETLW B'00111111'
RETLW B'00011111'
RETLW B'00001111'
RETLW B'00000111'
RETLW B'00000011'
RETLW B'00000000'
;-------------------------------
RETLW B'10000000'
RETLW B'11000000'
RETLW B'11100000'
RETLW B'11110000'
RETLW B'11111000'
RETLW B'11111100'
RETLW B'11111100'
RETLW B'11111111'
;--------------------------------------------
RETLW B'11111111'
RETLW B'01111100'
RETLW B'00111100'
RETLW B'00011100'
RETLW B'00001100'
RETLW B'00000100'
;-------------------------------
RETLW B'10000000'
RETLW B'11000000'
RETLW B'11100000'
RETLW B'11110000'
RETLW B'11111000'
RETLW B'11111100'
RETLW B'11111100'
RETLW B'11111100'
;--------------------------------------------
RETLW B'11111100'
RETLW B'01111100'
RETLW B'00111100'
RETLW B'00011100'
RETLW B'00001100'
RETLW B'00000100'
;-------------------------------
RETLW B'10000000'
RETLW B'11000000'
RETLW B'11100000'
RETLW B'11110000'
RETLW B'11111000'
RETLW B'11111100'
RETLW B'11111100'
RETLW B'11111100'
;--------------------------------------------
RETLW B'11111100'
RETLW B'01111100'
RETLW B'00111100'
RETLW B'00011100'
RETLW B'00001100'
RETLW B'00000100'
;-------------------------------
RETLW B'10000010'
RETLW B'11000010'
RETLW B'11100010'
RETLW B'11110010'
RETLW B'11111010'
RETLW B'11111111'
RETLW B'11111111'
RETLW B'11111111'
;:--------------------------------------------
RETLW B'11111111'
RETLW B'01111111'
RETLW B'00111111'
RETLW B'00011111'
RETLW B'00001111'
RETLW B'00000111'
RETLW B'00000011'
RETLW B'00000000'
;-----------------------------------------------------------------------
RETLW B'00000011'
RETLW B'11111110'
RETLW B'00000000'
RETLW B'11001110'
RETLW B'00000000'
RETLW B'10000110'
RETLW B'00000000'
RETLW B'11111110'
RETLW B'00000000'
RETLW B'11111110'
RETLW B'00000001'
RETLW B'11111110'
RETLW B'00000001'
RETLW B'11111110'
RETLW B'00000001'
RETLW B'11111110'
RETLW B'00000001'
RETLW B'11111110'
RETLW B'00000001'
;:--------------------------------------------
RETLW B'11111111'
RETLW B'01111111'
RETLW B'00111111'
RETLW B'00011111'
RETLW B'00001111'
RETLW B'00000111'
RETLW B'00000011'
RETLW B'00000000'
;----------------------------------------------
RETLW B'10000000'
RETLW B'01000000'
RETLW B'00100000'
RETLW B'00010000'
RETLW B'00001000'
RETLW B'00000110'
RETLW B'10000100'
RETLW B'01000100'
RETLW B'00100100'
RETLW B'00010100'
RETLW B'00001110'
RETLW B'10001100'
RETLW B'01001100'
RETLW B'00101100'
RETLW B'00011100'
RETLW B'00011110'
RETLW B'10011100'
RETLW B'01011100'
RETLW B'00111110'
RETLW B'10111100'
RETLW B'01111110'
RETLW B'11111111'
RETLW B'11111111'
;----------------------------------------------
RETLW B'10000001'
RETLW B'01000001'
RETLW B'00100001'
RETLW B'00010001'
RETLW B'00001001'
RETLW B'00000111'
RETLW B'10000101'
RETLW B'01000101'
RETLW B'00100101'
RETLW B'00010101'
RETLW B'00001111'
RETLW B'10001101'
RETLW B'01001101'
RETLW B'00101101'
RETLW B'00011101'
RETLW B'00011111'
RETLW B'10011101'
RETLW B'01011101'
RETLW B'00111111'
RETLW B'10111101'
RETLW B'01111111'
RETLW B'11111111'
RETLW B'11111111'
;----------------------------------------------
RETLW B'00000011'
RETLW B'11111110'
RETLW B'00000000'
RETLW B'11111110'
RETLW B'00000000'
RETLW B'11111110'
RETLW B'00000001'
RETLW B'11111110'
RETLW B'00000001'
RETLW B'11111110'
RETLW B'00000001'
RETLW B'11111110'
RETLW B'00000001'
;----------------------------------------------
RETLW B'10000001'
RETLW B'01000001'
RETLW B'00100001'
RETLW B'00010001'
RETLW B'00001001'
RETLW B'00000111'
RETLW B'10000101'
RETLW B'01000101'
RETLW B'00100101'
RETLW B'00010101'
RETLW B'00001111'
RETLW B'10001101'
RETLW B'01001101'
RETLW B'00101101'
RETLW B'00011101'
RETLW B'00011111'
RETLW B'10011101'
RETLW B'01011101'
RETLW B'00111111'
RETLW B'10111101'
RETLW B'01111111'
RETLW B'11111111'
RETLW B'11111111'
;----------------------------------------------------------------------
RETLW B'00000010'
RETLW B'00000110'
RETLW B'00001110'
RETLW B'00011110'
RETLW B'00111110'
RETLW B'01111110'
RETLW B'11111110'
RETLW B'11111110'
RETLW B'11111110'
RETLW B'01111110'
RETLW B'00111110'
RETLW B'00011110'
RETLW B'00001110'
RETLW B'00000110'
RETLW B'00000010'
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00000100'
RETLW B'00001100'
RETLW B'00011100'
RETLW B'00111100'
RETLW B'01111100'
RETLW B'11111100'
RETLW B'11111100'
RETLW B'11111100'
RETLW B'01111100'
RETLW B'00111100'
RETLW B'00011100'
RETLW B'00001100'
RETLW B'00000100'
RETLW B'00000000'
RETLW B'00000100'
RETLW B'00001100'
RETLW B'00011100'
RETLW B'00111100'
RETLW B'01111100'
RETLW B'11111100'
RETLW B'11111100'
RETLW B'11111100'
RETLW B'01111100'
RETLW B'00111100'
RETLW B'00011100'
RETLW B'00001100'
RETLW B'00000100'
RETLW B'00000000'
RETLW B'00000000'
RETLW B'00000001'
CLRF CONTA
GOTO letrademora+1
ORG 100H
;*************************************************************************************************
;-------------------------------------------------------------------
CERO MOVLW .30
CALL DEMORA
GOTO INICIO
;-------------------------------------------------------------------
UNO MOVLW .80
CALL DEMORA
GOTO INICIO
;-------------------------------------------------------------------
DOS MOVLW .150
CALL DEMORA
GOTO INICIO
;-------------------------------------------------------------------
TRES MOVLW .250
CALL DEMORA
GOTO INICIO
;-------------------------------------------------------------------
movwf PORTB
DEMORA
demora ; movlw .250
movwf tiempo
otro1 movlw .110
movwf temp
otro nop
nop
nop
nop
nop
nop
decfsz temp,f
goto otro
decfsz tiempo,f
goto otro1
return
END