سلام
توضیحات پروژه :
یک برد داریم که ورودی پالس یک دستگاه رو میخونه و اون رو به صورت اعشار در دو رقم صحیح و دو رقم اعشار در می آورد و در ادامه این برد به چهار استپ موتور اتصال دارد و هر استپ موتور به یک زنجیر اتصال دارد که روی هر زنجیر اعداد 0 تا 9 حک شده حال دستگاه به این صورت کار می کند ابتدا وقتی دستگاه روشن می شود موتور ها حرکت می کنند و به یک نقطه برخورد کرده و بعد یکم برعکس می چرخند و روی نقطه 0 صفر قرار می گیرند در ادامه پالس وارد شده و یک عدد اعشاری چهار رقمی می دهد و موتورها به ترتیب حرکت کرده و روی عدد مربوطه قرار می گیرند در پایان یک جک عمل کرده آن عدد را روی جنس مربوطه حک می کند تا اینجا برنامه نویسی من مشکلی نداشته و برد و دستگاه من درست کار می کند . مشکل من در ادامه کار است دیگر قرار نیست موتور ها حرکت کنند و روی صفر قرار بگیرند بلکه باید با ورود ÷الس بعدی و عدد اعشار دیگر برنامه خود تشخیص داده و موتور ها رو بر روی عدد مورد نظر قرار دهد مثال در پالس اول عدد اعشار 14/25 رو نشان می دهد حرکت موتور ها مشکلی ندارد با select case ان را انجام دادم و روی عدد مورد نظر قرار گرفت در پالس دوم عدد مربوطه مثلا 25/50 شد حال موتور ها بدین صورت باید حرکت کنند عدد 1 به 2 تبدیل شده پس موتور مربوطه به مقدار یک عدد جلو می رود و به ترتیب اعداد دیگر هم همین طور باید کنترل شوند .
من برنامه مربوطه را قرار می دهم لطفا اگر کسی می تواند کمک کند حتی اگر ایده هم دارید برای من بنویسید .
$regfile = "m128def.dat"
$crystal = 8000000
$baud = 9600
Config Timer1 = Counter , Edge = Falling , Capture Edge = Rising , Noise Cancel = 0
Config Porta = Output
Config Portb = Output
Config Portc = Output
Config Portd = Output
Config Portf = Output
Config Porte = Output
Config Pind.5 = Input
Config Portd.7 = Output
Config Portd.4 = Input
Config Portd.6 = Input
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porte.4 , Db5 = Porte.5 , Db6 = Porte.6 , Db7 = Porte.7 , E = Portb.7 , Rs = Portb.6
Dim A1 As Word
Dim A2 As Single
Dim A3 As String * 1
Dim A4 As Single
Dim A5 As Word
Dim A6 As Word
Dim A7 As String * 10
Dim A8 As String * 10
Dim A9 As String * 10
Dim A10 As String * 10
Dim A11 As Word
Dim A12 As Byte
Dim A13 As Single
Dim A14 As Single
Dim A15 As Word
Dim T1 As String * 10
Dim T2 As String * 10
Dim T3 As String * 10
Dim T4 As String * 10
Dim A16 As String * 10
Dim T As String * 10
Dim D1 As Byte , I As Byte , C As Byte , X As Byte
Dim D2 As Byte , I1 As Byte , C1 As Byte , X1 As Byte
Dim D3 As Byte
Dim D4 As Byte
Dim O As Byte
Dim Kl As Byte
Do
Goto Mahdi
Kardan:
Enable Interrupts
On Icp1 Q1
Goto Main
Loop
End 'end program
Mahdi:
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portb = C
Waitms 20
Next
Incr X
Loop Until Pind.5 = 1
Waitms 200
X = 0
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next I
Incr X
Loop Until X = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portd = C
Waitms 20
Next
Incr X
Loop Until Pind.5 = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next I
Incr X
Loop Until X = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portc = C
Waitms 20
Next
Incr X
Loop Until Pind.5 = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next I
Incr X
Loop Until X = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table1)
Porta = C
Waitms 20
Next
Incr X
Loop Until Pind.5 = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next I
Incr X
Loop Until X = 1
X = 0
Waitms 200
Goto Kardan
Main:
Counter1 = 0
Do
If Pind.4 = 1 Then
Enable Icp1
Elseif Pind.4 = 0 Then
Disable Capture1
If Portd.6 <> 0 Then
Print A1
Lcd A1
Waitms 100
End If
End If
Loop
Q1:
A1 = Capture1
Print A1
Lcd A1 ; " Palse"
Counter1 = 0
A2 = A1 / 40
A3 = Fusing(a2 , "##.###"
A4 = Val(a3)
A5 = A4 * 1000
A6 = A5 + 1
A7 = Str(a6)
A8 = Format(a7 , "00.000"
A9 = Right(a8 , 3)
A10 = Left(a8 , 2)
A11 = Val(a9)
A12 = Val(a10)
Select Case A11
Case 0 To 124 :
A11 = 00
Case 125 To 374 :
A11 = 25
Case 375 To 624:
A11 = 50
Case 625 To 874 :
A11 = 75
Case 875 To 999 :
A11 = 00
Incr A12
End Select
A13 = A11 / 100
A14 = A12 + A13
Locate 2 , 1
Lcd A14
A15 = A14 * 100
A16 = Str(a15)
T = Format(a16 , "0000"
Locate 2 , 8
Lcd T
T1 = Mid(t , 4 , 1)
T2 = Mid(t , 3 , 1)
T3 = Mid(t , 2 , 1)
T4 = Mid(t , 1 , 1)
D1 = Val(t1)
D2 = Val(t2)
D3 = Val(t3)
D4 = Val(t4)
Select Case D4
Case 1 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 4
X = 0
Case 2 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 9
X = 0
Case 3 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 13
X = 0
Case 4 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 18
X = 0
Case 5 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 22
X = 0
Case 6 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 26
X = 0
Case 7 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 30
X = 0
Case 8 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 34
X = 0
Case 9 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 38
X = 0
End Select
Select Case D3
Case 1 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 4
X = 0
Case 2 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 9
X = 0
Case 3 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 13
X = 0
Case 4 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 18
X = 0
Case 5 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 22
X = 0
Case 6 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 26
X = 0
Case 7 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 30
X = 0
Case 8 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 34
X = 0
Case 9 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 38
X = 0
End Select
Select Case D2
Case 1 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 4
X = 0
Case 2 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 9
X = 0
Case 3 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 13
X = 0
Case 4 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 18
X = 0
Case 5 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 22
X = 0
Case 6 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 26
X = 0
Case 7 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 30
X = 0
Case 8 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 34
X = 0
Case 9 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 38
X = 0
End Select
Select Case D1
Case 1 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 4
X = 0
Case 2 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 9
X = 0
Case 3 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 13
X = 0
Case 4 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 18
X = 0
Case 5 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 22
X = 0
Case 6 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 26
X = 0
Case 7 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 30
X = 0
Case 8 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 34
X = 0
Case 9 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 38
X = 0
End Select
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portf = C
Waitms 5
Next
Incr X
Loop Until X = 7
X = 0
Waitms 300
Set Portd.7
Waitms 200
Reset Portd.7
Cls
Goto Mahdi
Return
Table1:
Data &B00000001 , &B00000010 , &B00000100 , &B00001000
Table2:
Data &B00001000 , &B00000100 , &B00000010 , &B00000001
توضیحات پروژه :
یک برد داریم که ورودی پالس یک دستگاه رو میخونه و اون رو به صورت اعشار در دو رقم صحیح و دو رقم اعشار در می آورد و در ادامه این برد به چهار استپ موتور اتصال دارد و هر استپ موتور به یک زنجیر اتصال دارد که روی هر زنجیر اعداد 0 تا 9 حک شده حال دستگاه به این صورت کار می کند ابتدا وقتی دستگاه روشن می شود موتور ها حرکت می کنند و به یک نقطه برخورد کرده و بعد یکم برعکس می چرخند و روی نقطه 0 صفر قرار می گیرند در ادامه پالس وارد شده و یک عدد اعشاری چهار رقمی می دهد و موتورها به ترتیب حرکت کرده و روی عدد مربوطه قرار می گیرند در پایان یک جک عمل کرده آن عدد را روی جنس مربوطه حک می کند تا اینجا برنامه نویسی من مشکلی نداشته و برد و دستگاه من درست کار می کند . مشکل من در ادامه کار است دیگر قرار نیست موتور ها حرکت کنند و روی صفر قرار بگیرند بلکه باید با ورود ÷الس بعدی و عدد اعشار دیگر برنامه خود تشخیص داده و موتور ها رو بر روی عدد مورد نظر قرار دهد مثال در پالس اول عدد اعشار 14/25 رو نشان می دهد حرکت موتور ها مشکلی ندارد با select case ان را انجام دادم و روی عدد مورد نظر قرار گرفت در پالس دوم عدد مربوطه مثلا 25/50 شد حال موتور ها بدین صورت باید حرکت کنند عدد 1 به 2 تبدیل شده پس موتور مربوطه به مقدار یک عدد جلو می رود و به ترتیب اعداد دیگر هم همین طور باید کنترل شوند .
من برنامه مربوطه را قرار می دهم لطفا اگر کسی می تواند کمک کند حتی اگر ایده هم دارید برای من بنویسید .
$regfile = "m128def.dat"
$crystal = 8000000
$baud = 9600
Config Timer1 = Counter , Edge = Falling , Capture Edge = Rising , Noise Cancel = 0
Config Porta = Output
Config Portb = Output
Config Portc = Output
Config Portd = Output
Config Portf = Output
Config Porte = Output
Config Pind.5 = Input
Config Portd.7 = Output
Config Portd.4 = Input
Config Portd.6 = Input
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Porte.4 , Db5 = Porte.5 , Db6 = Porte.6 , Db7 = Porte.7 , E = Portb.7 , Rs = Portb.6
Dim A1 As Word
Dim A2 As Single
Dim A3 As String * 1
Dim A4 As Single
Dim A5 As Word
Dim A6 As Word
Dim A7 As String * 10
Dim A8 As String * 10
Dim A9 As String * 10
Dim A10 As String * 10
Dim A11 As Word
Dim A12 As Byte
Dim A13 As Single
Dim A14 As Single
Dim A15 As Word
Dim T1 As String * 10
Dim T2 As String * 10
Dim T3 As String * 10
Dim T4 As String * 10
Dim A16 As String * 10
Dim T As String * 10
Dim D1 As Byte , I As Byte , C As Byte , X As Byte
Dim D2 As Byte , I1 As Byte , C1 As Byte , X1 As Byte
Dim D3 As Byte
Dim D4 As Byte
Dim O As Byte
Dim Kl As Byte
Do
Goto Mahdi
Kardan:
Enable Interrupts
On Icp1 Q1
Goto Main
Loop
End 'end program
Mahdi:
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portb = C
Waitms 20
Next
Incr X
Loop Until Pind.5 = 1
Waitms 200
X = 0
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next I
Incr X
Loop Until X = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portd = C
Waitms 20
Next
Incr X
Loop Until Pind.5 = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next I
Incr X
Loop Until X = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portc = C
Waitms 20
Next
Incr X
Loop Until Pind.5 = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next I
Incr X
Loop Until X = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table1)
Porta = C
Waitms 20
Next
Incr X
Loop Until Pind.5 = 1
X = 0
Waitms 200
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next I
Incr X
Loop Until X = 1
X = 0
Waitms 200
Goto Kardan
Main:
Counter1 = 0
Do
If Pind.4 = 1 Then
Enable Icp1
Elseif Pind.4 = 0 Then
Disable Capture1
If Portd.6 <> 0 Then
Print A1
Lcd A1
Waitms 100
End If
End If
Loop
Q1:
A1 = Capture1
Print A1
Lcd A1 ; " Palse"
Counter1 = 0
A2 = A1 / 40
A3 = Fusing(a2 , "##.###"

A4 = Val(a3)
A5 = A4 * 1000
A6 = A5 + 1
A7 = Str(a6)
A8 = Format(a7 , "00.000"

A9 = Right(a8 , 3)
A10 = Left(a8 , 2)
A11 = Val(a9)
A12 = Val(a10)
Select Case A11
Case 0 To 124 :
A11 = 00
Case 125 To 374 :
A11 = 25
Case 375 To 624:
A11 = 50
Case 625 To 874 :
A11 = 75
Case 875 To 999 :
A11 = 00
Incr A12
End Select
A13 = A11 / 100
A14 = A12 + A13
Locate 2 , 1
Lcd A14
A15 = A14 * 100
A16 = Str(a15)
T = Format(a16 , "0000"

Locate 2 , 8
Lcd T
T1 = Mid(t , 4 , 1)
T2 = Mid(t , 3 , 1)
T3 = Mid(t , 2 , 1)
T4 = Mid(t , 1 , 1)
D1 = Val(t1)
D2 = Val(t2)
D3 = Val(t3)
D4 = Val(t4)
Select Case D4
Case 1 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 4
X = 0
Case 2 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 9
X = 0
Case 3 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 13
X = 0
Case 4 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 18
X = 0
Case 5 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 22
X = 0
Case 6 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 26
X = 0
Case 7 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 30
X = 0
Case 8 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 34
X = 0
Case 9 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portb = C
Waitms 20
Next
Incr X
Loop Until X = 38
X = 0
End Select
Select Case D3
Case 1 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 4
X = 0
Case 2 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 9
X = 0
Case 3 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 13
X = 0
Case 4 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 18
X = 0
Case 5 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 22
X = 0
Case 6 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 26
X = 0
Case 7 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 30
X = 0
Case 8 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 34
X = 0
Case 9 :
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portd = C
Waitms 20
Next
Incr X
Loop Until X = 38
X = 0
End Select
Select Case D2
Case 1 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 4
X = 0
Case 2 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 9
X = 0
Case 3 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 13
X = 0
Case 4 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 18
X = 0
Case 5 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 22
X = 0
Case 6 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 26
X = 0
Case 7 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 30
X = 0
Case 8 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 34
X = 0
Case 9 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Portc = C
Waitms 20
Next
Incr X
Loop Until X = 38
X = 0
End Select
Select Case D1
Case 1 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 4
X = 0
Case 2 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 9
X = 0
Case 3 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 13
X = 0
Case 4 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 18
X = 0
Case 5 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 22
X = 0
Case 6 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 26
X = 0
Case 7 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 30
X = 0
Case 8 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 34
X = 0
Case 9 :
Do
For I = 0 To 3
C = Lookup(i , Table2)
Porta = C
Waitms 20
Next
Incr X
Loop Until X = 38
X = 0
End Select
Do
For I = 0 To 3
C = Lookup(i , Table1)
Portf = C
Waitms 5
Next
Incr X
Loop Until X = 7
X = 0
Waitms 300
Set Portd.7
Waitms 200
Reset Portd.7
Cls
Goto Mahdi
Return
Table1:
Data &B00000001 , &B00000010 , &B00000100 , &B00001000
Table2:
Data &B00001000 , &B00000100 , &B00000010 , &B00000001
دیدگاه