PDA

View Full Version : alittle delay help please



trying
- 29th December 2005, 01:34
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

trying
- 2nd January 2006, 02:12
I guess I was not even close
Happy new year to all