need a little help on doing this please
in the code below at TIM: A var depending on IF or how many time I push a button (in 10 sec.) it will change the delay time at REST:
@ DEVICE pic12F629
@ DEVICE pic12F629, INTRC_OSC_NOCLKOUT
@ DEVICE pic12F629, WDT_ON
@ DEVICE pic12F629, MCLR_OFF
@ DEVICE pic12F629, CPD_OFF
@ DEVICE pic12F629, BOD_OFF
@ DEVICE pic12F629, PWRT_ON
@ DEVICE pic12F629, PROTECT_OFF
DEFINE OSC 4
Pause 10000 'DELAY TO LET STABILIZE AFTER POWER UP
TRISIO = %00011100 'MAKE GPO.2,.3,.4 INPUTS
OPTION_REG.7 = 0 'GPO .0 & .2 DIGITAL
WPU = 255 'WEAK PULL UPS ON ALL PINS
CMCON = 7 'TURN ALL WEAK PULL UPS ON
SYMBOL ORG = GPIO.0 ' PIN 7
SYMBOL RED = GPIO.1 ' PIN 6
SYMBOL PIR = GPIO.2 ' PIN 5
SYMBOL LED = GPIO.5 ' PIN 2
SYMBOL DLY = GPIO.4 ' PIN 3
ORG= 0
RED = 0
LED = 0
DLY=0
LED=1 'POWER UP OK
Pause 3000
LED= 0
TIM: ' BUTTON TO CHANGE THE DELAY
A VAR WORD
For A = 0 TO 10000 '10 SEC. TO PUSH BUTTON
Pause 1
IF DLY = 0 Then
LED = 1
Pause 1000 'LED ON FOR 1 SEC.
LED = 0
EndIF
Next A
Sleep 40 'LET PIR WARM UP
LED = 1
Pause 350
LED = 0
Pause 350
LED = 1
Pause 350
LED = 0
Pause 350
LED = 1
Pause 350
LED = 0
'LED FLASH READY FOR WALK TEST
WALKTEST:
B VAR WORD
For B = 0 TO 20000 ' 20 SEC. WALK TEST
Pause 1
IF PIR = 0 Then
LED = 1
Pause 3000 'LED ON FOR 3 SEC EACH TIME PIR IS TRIPPED
LED = 0
EndIF
Next B
READY 'WALK TEST OVER
LED=1
Pause 250
LED=0
Pause 250
LED=1
Pause 250
LED=0
Pause 250
LED= 1
Pause 250
LED = 0
Pause 5000 '5 SEC. TO GET OUT OF THE WAY
LED=1
Pause 1500
LED=0
MAIN
OPTION_REG=$0
ON INTERRUPT GoTo SHAKE 'WHEN PIR TRIPS SHAKE
INTCON=$90 'RESET ALL INTERUPTS
REFRESH:
Sleep 3600
ORG=1
Pause 1000
ORG=0
GoTo REFRESH
Disable
SHAKE:
ORG = 1
Pause 2000
RED = 1
Pause 3000
RED = 0
Pause 15000
ORG = 0
INTCON.4=0 'DISABLE INTERRUPT GPIO.2
Disable
REST: 'VAR DELAY FROM BUTTON PUSH
'NO DELAY IF BUTTON WAS NOT PUSHED
'Sleep 300 '5MIN DELAY IF PUSHED 1 TIME
'Sleep 600 '10 MIN DELAY IF PUSHED 2 TIMES
'Sleep 900 '15 MIN DELAY IF PUSHED 3 TIMES
GoTo MAIN
Enable
thanks
Bookmarks