processor 16f628a
include <p16f628a.inc>
__config _HS_OSC & _WDT_OFF & _PWRTE_OFF & _CP_OFF
errorlevel -302
cblock 0x20
Gpr0
Gprl
Gpr3
mlp
endc
Uno:
banksel TRISB
clrf TRISB ; all output
banksel PORTB
clrf PORTB ; all low
DOS:
movlw d'10'
movwf Gpr0
call Table
movwf PORTB
call One_sec
incf Gpr0,f
movf Gpr0,w
sublw d'16'
btfss 03h,2
Goto DOS
goto Uno
One_sec:
call ms ;delay for 1 second
call ms
call ms
call ms
return
One_min;
movlw d'60' ;delay 1min
movwf Gprl
mloop:
call One_sec
decfsz Gprl,f
goto mloop
Return
mc:
movlw d'250'
ms:
movwf Gpr3
Mlp:
movlw d'248'
call mc
nop
decfsz Gpr3,f
Goto mlp
return
Table
ANDLW H'0f'
ADDWF PCL,F
RETLW H'4e'
RETLW H'c0'
RETLW H'47'
RETLW H'86'
RETLW H'07'
RETLW H'87'
RETLW H'06'
RETLW H'a4'
RETLW H'30'
RETLW H'c7'
RETLW H'09'
RETLW H'88'
RETLW H'03'
RETLW H'92'
RETLW H'79'
RETLW H'f9'
END