rem ********************************************************************* rem * programma om regelaar aan te sturen * rem * Pin 0 IC 7 = Serial uit * rem * Pin 1 IC 6 = led * rem * Pin 2 IC 5 = * rem * Pin 3 IC 4 = Button in * rem * Pin 4 IC 3 = servo (regelaar) aansturing * rem * Pin 5 IC 2 = Serial in * rem ********************************************************************* symbol motor_min = 75 'rem minimale motor waarde rem default settings rem eerse is motor waarde 2e is tijd x 3 seconde eeprom 0,(168,96) main: 'rem start programma servo 4,motor_min 'rem motor uit gosub Toets If b4 = 4 then goto Para 'rem ga naar parameters Motor: setint %00001000,%00001000 'rem set interrupt voor button for b0 = 1 to 15 'rem wacht 15 seconde high 1 'rem Laat led knipperen Pause 200 low 1 Pause 800 next b0 read 0,b2 'rem lees motor waarde in b2 servopos 4,b2 'rem motor aan read 1,b3 'rem lees tijd waarde in b3 for b4 = 1 to b3 pause 3000 'rem wacht tijd waarde 3 seconde next b4 For b0 = 1 to 5 high 1 'rem zet led aan pause 500 'rem wacht 0,5 seconde low 1 'rem zet led uit pause 500 'rem wacht 0,5 seconde Next b0 let w2 = 1000 goto ledknip Para: 'rem parameter programma let b2 = 0 Para1: gosub Toets If b4 = 4 then goto para3 'rem ga naar parameter 3 let b2 = b2 + 1 max 4 'rem verhoog parameter b2 met 1 for b3 = 1 to b2 'rem knipper parameter keuze high 1 Pause 200 low 1 Pause 400 next b3 goto Para1: para3: 'rem parameter read 0,b0 'rem Lees motor waarde read 1,b1 'rem Lees tijd waarde branch b2,(err,Tmin,Tplus,Mmin,Mplus) 'rem spring naar parameter goto err Tmin: 'rem Loop tijd minder programma gosub Toets If b4 = 4 then goto klaar 'rem ga naar klaar loop tijd let b1 = b1 - 1 min 2 'rem verlaag b1 met 1 goto Tmin Tplus: 'rem Loop tijd meer programma gosub Toets If b4 = 4 then goto klaar 'rem ga naar klaar loop tijd let b1 = b1 + 1 max 254 'rem verhoog b1 met 1 goto Tplus Mmin: gosub Toets If b4 = 4 then goto klaar 'rem ga naar klaar motor let b0 = b0 - 1 min 75 'rem verlaag b0 met 1 servopos 4,b0 'rem motor aansturen goto Mmin Mplus: gosub Toets If b4 = 4 then goto klaar 'rem ga naar klaar motor let b0 = b0 + 1 max 200 'rem verhoog b0 met 1 servopos 4,b0 'rem motor aansturen goto Mplus klaar: write 0,b0 'schrijf motor weg write 1,b1 'schrijf loop tijd weg sertxd(#b0,"D",#b1,cr,lf) 'rem motor, tijd The baud rate is fixed at 4800,n,8,1 let w2 = 600 'rem Kipper tijd goto ledknip interrupt: err: let w2 = 100 'rem Kipper tijd ledknip: setint %00000000,%00000000 'rem set interrupt uit lp: servopos 4,motor_min 'rem stop motor high 1 'rem Laat led knipperen Pause w2 'rem en blijf hangen low 1 Pause w2 goto lp rem ********************************************************************* rem * Leest toets van pin 3 in * rem * B4 = toets waarde * rem * 1 = korter dan 1 seconde ingedrukt * rem * 4 = Langer dan 4 seconde ingedrukt * rem * 0 = buiten bereik * rem * B5 = wordt gebruikt * rem ********************************************************************* Toets: let b5=0 if pin3 = 0 then Toets rem wacht op toets tel1: let b4 = 1 let b5 = b5 + 1 rem verhoog tijd teller pause 100 if pin3 = 1 then goto tel1 if b5 < 10 then goto sec1 rem De toets is korter dan 1 seconde ingedrukt if b5 > 40 then goto sec4 rem de toets is langer dan 4 seconde ingedrukt goto err rem buiten bereik sec4: let b4 = 4 rem de toets is langer dan 4 seconde ingedrukt sec1: return