;------ if routine
movlw .1
movwf MAX
_IF movf MAX,w
sublw .1
bnz _FALSE
_TRUE ;CODE BODY HERE!
_FALSE ;FAILED IF TEST
PROCESSOR 16F84
#include <p16f84a.inc>
__CONFIG _CP_OFF &_WDT_OFF &_PWRTE_OFF &_XT_OSC
;*****Set up the Constants****
COUNT1 equ 30h
COUNT2 equ 31h
COUNT3 equ 32h
COUNT4 equ 33h
COUNT5 equ 34h
COUNT6 equ 35h
COUNT7 equ 36h
COUNT8 equ 37h
COUNT9 equ 38h
COUNT10 equ 39h
COUNT11 equ 40h
COUNT12 equ 41h
Extra equ 42h
org 0x00
goto Main
Main
bsf 03h,5
movlw 00h
movwf TRISB
movlw 03h
movwf TRISA
bcf 03h,5
movlw 0x80
movwf PORTB
movlw 0x00
movwf PORTA
movlw 0x00
movwf Extra
Call Settingcounters
Waiting
Btfsc PORTA,1
Call Lightson
goto Waiting
Lightsoff movlw 0x00
movwf PORTA
Return
Lightson movlw 0x4
movwf PORTA
Call Loop1
Return
Loop1 Btfsc PORTA,1
Nop
decfsz COUNT1,1
goto Loop1
movlw 0xC8
movwf COUNT1
decfsz COUNT2,1
goto Loop1
movlw 0x64
movwf COUNT2
decfsz COUNT3,1
goto Loop1
movlw 0x0A
movwf COUNT3
decfsz COUNT4,1
goto Loop1
movlw 0x3C
movwf COUNT4
call Warningon
Return
Warningon movlw 0Ch
movwf PORTA
Call Loop2
Return
Loop2 Btfsc PORTA,1
Call Lightson
decfsz COUNT6,1
goto Loop2
movlw 0xC8
movwf COUNT6
decfsz COUNT7,1
goto Loop2
movlw 0x64
movwf COUNT7
decfsz COUNT8,1
goto Loop2
movlw 0x0A
movwf COUNT8
decfsz COUNT9,1
goto Loop2
movlw 0x3C
movwf COUNT9
Return
Settingcounters movlw 0xC8
movwf COUNT1
movlw 0x64
movwf COUNT2
movlw 0x0A
movwf COUNT3
movlw 0x3C
movwf COUNT4
movlw 0xFF
movwf COUNT5
movlw 0xC8
movwf COUNT6
movlw 0x64
movwf COUNT7
movlw 0x0A
movwf COUNT8
movlw 0x3C
movwf COUNT9
movlw 0xC8
movwf COUNT10
movlw 0x64
movwf COUNT11
movlw 0x14
movwf COUNT12
Return
end
movlw 0x00
movwf PORTA
movlw 0x00
movwf Extra
cblock 0x30
COUNT1,COUNT2,COUNT3,COUNT4,COUNT5,COUNT6,COUNT7,COUNT8,COUNT9,COUNT10,COUNT11,COUNT12,Extra
endc
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?