
Originally Posted by
fratello
I think this is my worst project

No arguments here. 
I guess it's the language barrier.
I've built the circuit you described, and am using the following program ...
As far as I can tell, it does exactly what you want it to do.
Code:
@ DEVICE PIC12F675, intrc_osc_noclkout, wdt_OFF, pwrt_on, mclr_off, bod_off
DEFINE OSC 4
DEFINE ADC_BITS 10
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50
CMCON = 7
OPTION_REG = %10000110
TRISIO = %00011110
ANSEL = %00011000
ADCON0 = %10001101
adval var Word
vt var word
but1 var gpio.3
but2 var gpio.2
rel1 var gpio.5
rel2 var gpio.0
main:
rel1=0
rel2=0
btn1:
if but1=1 and rel2=0 then
high rel1
pause 20
while but1=1
call check
wend
pause 20
while but1 = 0
call check
if rel1=0 then
GOTO Btn1PressDone
; pause 10
endif
wend
LOW rel1
while but1=1
wend
pause 20
endif
Btn1PressDone:
btn2:
if but2=1 and rel1=0 then
high rel2
pause 20
while but2=1
call check
wend
pause 20
while but2 = 0
call check
if rel2 = 0 then
GOTO Btn2PressDone
; pause 10
endif
wend
low rel2
while but2=1
wend
pause 20
endif
Btn2PressDone:
GOTO MAIN
check:
adcin 3, adval
vt=adval * 5000
vt=div32 1023
if vt > 1250 then
gpio.0=0
gpio.5=0
endif
return
end
Bookmarks