ايران ويج

نسخه‌ی کامل: کنترل موتور پله ای با استفاده از متلب و پورت سریال
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
من میخوام موتور پله ای با استفاده از متلب و پورت سریال کنترل کنم کد متلب رو نوشتم و این کد یک رشته رو به پورت سریل ارسال میکن که 3 بیت برای سرعت موتور یک بیت برای زاویه شروع .دو بیت برای زاویه پایان و یک بیت برای جهت پرخش هست این کد رو هم توی بسکام دارم :
کد:
$regfile = "M32def.dat"
$crystal = 11059200
$baud = 9600

Config Portb = Output

Led Alias Portd.2
Drive_b_on Alias Portd.4
Drive_a_on Alias Portd.5


Declare Sub Drive_b_r
Declare Sub Drive_b_l


Dim B As Byte
Dim S As String * 12 , Speed As String * 12 , Dr As String * 12 , My_serial As Byte
Dim My_speed As Word , My_drg As Word , Lf As String * 1



Main:


Input S , "enter your string"
Print S
If Left(s , 1) = "#" And Right(s , 1) = ":" Then
Speed = Mid(s , 1 , 2)
Dr = Mid(s , 4 , 2)
Lf = Mid(s , 6 , 1)

My_serial = Val(lf)
My_speed = Val(speed)
My_drg = Val(dr)
My_drg = My_drg / .9

End If
Select Case My_serial




Do

If Ischarwaiting() <> 0 Then Exit Do

Loop


Case 1:
Set Drive_b_on
Do
If Ischarwaiting() <> 0 Then Exit Do
Call Drive_b_l
Loop



Case 2:
Set Drive_a_on
Do
If Ischarwaiting() <> 0 Then Exit Do
Call Drive_b_r
Loop
End Select




My_serial = Waitkey()
My_serial = Asc(my_serial)

Goto Main



Sub Drive_b_l
Portb = 0
For B = 1 To My_drg
Set Portb.b
Waitms My_speed
Reset Portb.b
Waitms My_speed
Next B
End Sub






Sub Drive_b_r
Portb = 0
For B = My_drg To 1 Step -1
Set Portb.b
Waitms My_speed
Reset Portb.b
Waitms My_speed
Next B
End Sub
حالا می وام بد.نم کسی هست روش کار برنامه و مخصوصا زیربرنامه Sub Drive_b_r
یه کم توضیح بده step در اینجا چی هست؟و اینکه کدوم پایه ها باید به دو سر led وصل بشوند؟