;
; º º
; º _\\|//_ BALIZAS DESTELLANTES PARA LED º
; º (` o-o ') º
; º------ooO-(_)-Ooo----------------------------------------------------º
; º º
; º www.todopic.com.ar º
; º .oooO Oooo. º
; º ( ) ( ) º
; º_____\ (_______) /___________________________________________________º
; º \_) (_/
; 17/08/2010 - GENERACION DE DESTELLOS PARA LED - SIMIL BALIZA POLICIA
list p=16f628a
#include p16f628a.inc
errorlevel -302,-307
CBLOCK 20h
temp
tempo
PEPE
COCO
endc
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _BODEN_ON & _LVP_OFF & _MCLRE_ON
movlw .7
movwf CMCON
bsf STATUS,RP0
movlw B'00000000' ;PUERTOB
movwf TRISB ;como salida
movwf TRISA
bcf STATUS,RP0
;********************* PROGRAMA PRINCIPAL **************************
BALIZAS CALL BALIZA1
CALL BALIZA2
CALL BALIZA1
CALL BALIZA3
CALL BALIZA2
CALL BALIZA2
CALL BALIZA2
CALL BALIZA1
CALL BALIZA3
CALL BALIZA2
CALL BALIZA3
GOTO BALIZAS
;********************************************************************
BALIZA1 MOVLW .6
MOVWF COCO ;repeticiones del efecto
BALIZAI MOVLW .5
MOVWF PEPE
MOVLW B'11100000'
MOVWF PORTB
MOVLW .9 ;tiempo de encendido en milisegundos
CALL DEMORA
CLRF PORTB
MOVWF .12 ;tiempo de apagado en milisegundos
CALL DEMORA
DECFSZ PEPE,F
GOTO BALIZAI+2
BALIZAD MOVLW .5
MOVWF PEPE
MOVLW B'00011100'
MOVWF PORTB
MOVLW .9 ;tiempo de encendido en milisegundos
CALL DEMORA
CLRF PORTB
MOVWF .12 ;tiempo de apagado en milisegundos
CALL DEMORA
DECFSZ PEPE,F
GOTO BALIZAD+2
DECFSZ COCO,F
GOTO BALIZAI
RETURN
;*************************************************
BALIZA2 MOVLW B'11100000'
MOVWF PORTB
MOVLW .15
CALL DEMORA
CLRF PORTB
MOVWF .12
CALL DEMORA
MOVLW B'00011100'
MOVWF PORTB
MOVLW .15
CALL DEMORA
CLRF PORTB
MOVWF .12
CALL DEMORA
MOVLW B'11100000'
MOVWF PORTB
MOVLW .15
CALL DEMORA
CLRF PORTB
MOVWF .12
CALL DEMORA
MOVLW B'00011100'
MOVWF PORTB
MOVLW .15
CALL DEMORA
CLRF PORTB
MOVWF .12
CALL DEMORA
MOVLW B'11100000'
MOVWF PORTB
MOVLW .15
CALL DEMORA
CLRF PORTB
MOVWF .12
CALL DEMORA
MOVLW B'00011100'
MOVWF PORTB
MOVLW .15
CALL DEMORA
CLRF PORTB
MOVWF .12
CALL DEMORA
MOVLW B'11100000'
MOVWF PORTB
MOVLW .15
CALL DEMORA
CLRF PORTB
MOVWF .12
CALL DEMORA
MOVLW B'00011100'
MOVWF PORTB
MOVLW .15
CALL DEMORA
CLRF PORTB
MOVWF .12
CALL DEMORA
RETURN
;********************************************************
BALIZA3 MOVLW .4
MOVWF COCO
MOVLW .5
MOVWF PEPE
MOVLW B'11111100'
MOVWF PORTB
MOVLW .9
CALL DEMORA
CLRF PORTB
MOVWF .12
CALL DEMORA
DECFSZ PEPE,F
GOTO BALIZA3+4
CLRF PORTB
MOVLW .150
CALL DEMORA
DECFSZ COCO,F
GOTO BALIZA3+2
RETURN
;******************************************************************************
DEMORA movwf tempo ;en tempo, se carga el tiempo en milisegundos
otro1 movlw .110
movwf temp
otro nop
nop
nop
clrwdt
nop
nop
decfsz temp,f
goto otro
decfsz tempo,f
goto otro1
return
;****************************************************************************
END