24-05-2010, 08:40
|
|
|
חבר מתאריך: 28.05.09
הודעות: 11
|
|
מנוע צעד
שלום רב
ברצוני לכתוב תוכנית בV.B או C++ (לא ממש משנה)
התוכנית מיועדת לשני מנועי צעד שמחוברים למפתח מקבילי(LPT)
אך התוכנית יודעת להזיז רק מנוע אחד ,את השני אני לא יודע כיצד להפעיל ,כלומר איך סידרה של מספרים צריך לתת לו כדי שיזוז
ועוד דבר אחד.בניתי משדר ומקלט למנוע הגעתי למסקנה שכדי להזיז אותם יש צורך בפעולה לוגית כול שהיא
לדוגמא:
קוד PHP:
dim a as integer num1=inp(&h378) a=num1 or 1 a=num1 and &hEF
הבסר :לכל מנוע יש סידרה בינארית להפעלה :
0000
0001
0010
וכו
וגם למוע השני .אך השאלה שלי איך אני משלב את זה בתוכנית
להלן התוכנית המקורית
קוד PHP:
Dim A, B, C Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value_ As Integer) Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Form_Load() Out &H378, &H0 C = 7.5 Timer1.Enabled = False End Sub Private Sub Timer1_Timer() A = Val(Text1.Text) / C If A > B Then B = B + 1 If A < B Then B = B - 1 Phase = B Mod 4 If Phase = 0 Then Out &H378, 3 If Phase = 1 Then Out &H378, 6 If Phase = 2 Then Out &H378, 12 If Phase = 3 Then Out &H378, 9 Line1.Y2 = Line1.Y1 + Sin(B * C * 3.14 / 180) * 1200 Line1.X2 = Line1.X1 + Cos(B * C * 3.14 / 180) * 1200 Label2.Caption = B * C If Abs(A - B) < 1 Then Timer1.Enabled = False End Sub
|