statementlist les 5 nst


Device 16F628A          ; chipke zijne naam
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE                   ; alle in en uitgangen zijn digitaal


Symbol AAN    = 0        ; geinverteerd aan (aan gnd)
Symbol UIT    = 1        ; geinverteerd uit (aan gnd)
Symbol timer = 3000    ; 3 seconden
; uitgangen
Symbol cila    = PORTA. 0 ; cilinder a monostabiel
Symbol cilb    = PORTA. 1 ; cilinder b monostabiel

;ingangen
Symbol start= PORTB. 0 ; start
Symbol a0    = PORTB. 1 ; signaalgever a0
Symbol a1    = PORTB. 2 ; signaalgever a1
Symbol b0   = PORTB. 3 ; signaalgever b0
Symbol b1   = PORTB. 4 ; signaalgever b1
Symbol nst  = PORTB. 6 ; signaalgever nst verbreker
;            ____O_____
;       RA2-I          I-RA1
;       RA3-I          I-RA0
;       RA4-I          I-RA7
;       RA5-I          I-RA6
;       GND-I          I-Vcc
;       RB0-I          I-RB7
;       RB1-I          I-RB6
;       RB2-I          I-RB5
;       RB3-I__________I-RB4
;       
; variabelen declareren
Dim stap As Byte ; geheugen 8 bits
PORTB_PULLUPS On       ; interne weerstanden aan voor schakelen naar gnd
Clear                  ; wis ram geheugen
; start waarde geheugen

prog:
stap=5        ; geheugen

;
;  Besturings formule start, A uit B uit A in B in (monostabiel)
;


While nst = AAN            ; loop

If stap=5 And a0 = AAN And b0 = AAN And start =AAN Then
High cila
stap=10
EndIf


If stap=10 And a1 = AAN Then
High cilb
stap=15
EndIf

If stap=15 And b1=AAN Then
Low cila
stap=20
EndIf

If stap=20 And a0=AAN Then
Low cilb
stap=25
EndIf

If stap=25 And b0=AAN And a0=AAN Then
stap =5
EndIf

 Wend   
                 ; einde loop 
       While nst = UIT
If a1 = AAN Then
Low cila
Else Low cilb
EndIf

DelayMS 50

If b1 = AAN Then
Low cilb
EndIf
       Wend

DelayMS 50 ; dender
GoTo prog
End