If Irany < 0 Then Gosub Csokkenes
If Irany < 1 Then Gosub Novekedes <- ide mindig belép!
Ha Irany < 0 akkor is!
Kód: Egész kijelölése
Irany Alias Portb.5
Akkor:
If Irany = 0 Then Gosub Csokkenes
If Irany = 1 Then Gosub Novekedes
Legyen!
Csokkenes
Temp = Jelenposition - 1
Temp1 = Temp Mod 8
Select Case Temp1 <-Ez itt minek???
Jled = 1
Waitms 100
Gosub Lepked
Return
Novekedes
Temp = Jelenposition + 1
Temp1 = Temp Mod Temp1 8
Selec Case Temp1 <-Ez itt minek???
Bled = 1
Waitms 100
Gosub Lepked
Return
:roll: Kód: Egész kijelölése
Dim Ap As Word 'alap pozició
Dim Temp1 As Word
Dim Temp As Word
Dim Jp As Word 'jelenpozició
Ap = 1
Temp1 = 1 ’Adunk kezdőértéket
Temp = 1
Do
If Irany = 0 And Lepes = 1 Then Gosub Csokkenes
If Irany = 1 And Lepes = 1 Then Gosub Novekedes
Loop
Csokkenes
Temp = Temp - 1
If Temp < 1 then Temp = 8 End if ’Figyeljük a ciklus túllépést
Temp1 = Temp Mod 8
Gosub Lepked
Waitms 100
Ap = Ap - 1 'Mi legyen ha AP kisebb mint 1 Lesz?
Return
Novekedes
Temp = Temp + 1
If Temp > 8 then Temp = 1 End if ’Figyeljük a ciklus túllépést
Temp1 = Temp Mod 8
Gosub Lepked
Waitms 100
Ap = Ap + 1 'Mikor van végállás?
Return
Lepked
Select Case Temp1
Case 1
Portb.4 = 1
Portb.3 = 0
Portb.2 = 0
Portd.5 = 0
Case 2
Portb.4 = 1
Portb.3 = 1
Portb.2 = 0
Portd.5 = 0
Case 3
Portb.4 = 0
Portb.3 = 1
Portb.2 = 0
Portd.5 = 0
Case 4
Portb.4 = 0
Portb.3 = 1
Portb.2 = 1
Portd.5 = 0
Case 5
Portb.4 = 0
Portb.3 = 0
Portb.2 = 1
Portd.5 = 0
Case 6
Portb.4 = 0
Portb.3 = 0
Portb.2 = 1
Portd.5 = 1
Case 7
Portb.4 = 0
Portb.3 = 0
Portb.2 = 0
Portd.5 = 1
Case 8
Portb.4 = 1
Portb.3 = 0
Portb.2 = 0
Portd.5 = 1
End Select
Return
Kód: Egész kijelölése
Error : 1 Line : 66 Unknown statement [CSOKKENES] , in File : L:\CNC\CNC.BAS
Error : 242 Line : 68 Source variable does not match the target variable [ 0|8 END IF] , in File : L:\CNC\CNC.BAS
Kód: Egész kijelölése
$regfile = "ATtiny13.dat"
$crystal = 9600000
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Input
Config Portb.5 = Input
Dim A As Byte
A = 1
Figyel:
Portb.4 = 1
Portb.5 = 1
If Pinb.4 = 0 Then
If Pinb.5 = 0 Then Gosub Fel Else Gosub Le
End If
Goto Figyel
Fel:
A = A * 2
If A > 8 Then A = 1
Portb = A
Waitus 10
Return
Le:
A = A / 2
If A < 1 Then A = 8
Portb = A
Waitus 10
ReturnKód: Egész kijelölése
' Irta: kapu48
'$sim
' $regfile = "ATtiny13.dat"
$regfile = "m8def.dat"
$crystal = 9600000
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Input
Config Portb.5 = Input
Dim Sztep(8) As Byte , N As Byte , Sztep_n As Word , Vege As Word
Sztep(1) = 1 '1000
Sztep(2) = 3 '1100
Sztep(3) = 2 '0100
Sztep(4) = 6 '0110
Sztep(5) = 4 '0010
Sztep(6) = 12 '0011
Sztep(7) = 8 '0001
Sztep(8) = 9 '1001
N = 1 'Indulás kezdő helyzetből!
Sztep_n = 1
Vege = 4000 'Pálya vége
Do
Portb.4 = 1 ' Ha teszel külsö felhuzo elenállást, ez nem kel!
Portb.5 = 1
Waitms 100
If Pinb.4 = 0 Then
If Pinb.5 = 0 Then
Incr Sztep_n
If Sztep_n > Vege Then Goto Hiba
Incr N
If N > 8 Then
N = 1
End If
Else
Decr Sztep_n
If Sztep_n < 1 Then Goto Hiba
Decr N
If N < 1 Then
N = 8
End If
End If
Portb = Sztep(n)
Print "N= " ; N ; " Port= " ; Sztep(n) ; " Helyzet: " ; Sztep_n
End If
Loop
Hiba:
Portb = 0 'Motor feszültség mentesitése
Print "Utközés történt!"
Nop
End
Kód: Egész kijelölése
Getencoder:
Waitms Debouncetime
If Cha = 0 Then
If Chb = 0 Then Incr Encounter Else Decr Encounter
End If
Gifr = 64
Return