با سلام خدمت دوستان عزیز من چند وقت که رو ی دو پورت میکرو دارم کار می کنم و لی تا بحال نتوانستم شرط دو پورت رو روی میکرو انجام بدم اگر دستان می تونند من رو کممک کنند منون می شم
این برنامه مقدماتی
$regfile = "m32def.dat"
$crystal = 8000000
Config Porta = Input
'Config Portd = Input
Config Portb = Output تا اینجا برنامه معرفی میکر و کریستال کاری آن و پرت های ورودی و خروجی
Porta = &B00000000
'Portd = &B00000000 تو این قسمت برنامه پورت ها رو اول برنامه صفر کردیم
Portb = &B00000000
'............................................ .......................
Dim A0 As Byte
Dim D0 As Byte
Dim A As Byte
Dim D As Byte
Dim Da As Byte حالاتو این قسمت بر نامه متغیر تعریف کردیم
A = 0
D = 0
A0=0
D0=0 حالا کفتم متغیر ها در اول برنامه صفر باشه
Do
D0 = Pind
A0 = Pina
A = A0
D = D0 حالا کفتم پوت AوD اعدادشون رو تو یک متغیر بریزن
If A = 16 Then Gosub A2 (((((( مشکل از اینجا شروع میشه این شرط من اجرا می شه و لی بقیه نمی دو نم چرا اجرا نمی شه تو قسمت مجازی بسکام آزمایش کردم هنجا جواب می ده ولی در عمل جواب نمی ده)))))((B00010000))))
If D= 4 Then Gosub A1 این شرط هم اجرا نمی شه اصلا اگر شرط ما برای دو پورت باشه اجرا نخواهد شد نمی دو نم منظور من به شرط پایینی هم است (((( B00000100))))
If A = 0 And D = 1 Then Gosub A1 این هم وضعیت این دو پورت پورت D (((( B00000001)))) این هم وضعیت پورت A (((( B00000000))))
Loop
End
A1:
'Print "a1"
'Print A
'Print D
Portb = &B00001100
Return
A2:
'Print "a2"
Portb = &B00001010
'Print A
'Print D
Return
A3:
'Print "a3"
Portb = &B00010010
'Print A
'Print D
Return
A11:
'Print "a11"
Portb = &B00001000
'Print A
'Print D
Return
A33:
'Print "a33"
'Print A
'Print D
Portb = &B00000010
Return
l
فقت مشکل من این هست که چرا شرطهایی که کفتم برقرار نمی شه
منون از اساتید بزرگوار در این سایت
این برنامه مقدماتی
$regfile = "m32def.dat"
$crystal = 8000000
Config Porta = Input
'Config Portd = Input
Config Portb = Output تا اینجا برنامه معرفی میکر و کریستال کاری آن و پرت های ورودی و خروجی
Porta = &B00000000
'Portd = &B00000000 تو این قسمت برنامه پورت ها رو اول برنامه صفر کردیم
Portb = &B00000000
'............................................ .......................
Dim A0 As Byte
Dim D0 As Byte
Dim A As Byte
Dim D As Byte
Dim Da As Byte حالاتو این قسمت بر نامه متغیر تعریف کردیم
A = 0
D = 0
A0=0
D0=0 حالا کفتم متغیر ها در اول برنامه صفر باشه
Do
D0 = Pind
A0 = Pina
A = A0
D = D0 حالا کفتم پوت AوD اعدادشون رو تو یک متغیر بریزن
If A = 16 Then Gosub A2 (((((( مشکل از اینجا شروع میشه این شرط من اجرا می شه و لی بقیه نمی دو نم چرا اجرا نمی شه تو قسمت مجازی بسکام آزمایش کردم هنجا جواب می ده ولی در عمل جواب نمی ده)))))((B00010000))))
If D= 4 Then Gosub A1 این شرط هم اجرا نمی شه اصلا اگر شرط ما برای دو پورت باشه اجرا نخواهد شد نمی دو نم منظور من به شرط پایینی هم است (((( B00000100))))
If A = 0 And D = 1 Then Gosub A1 این هم وضعیت این دو پورت پورت D (((( B00000001)))) این هم وضعیت پورت A (((( B00000000))))
Loop
End
A1:
'Print "a1"
'Print A
'Print D
Portb = &B00001100
Return
A2:
'Print "a2"
Portb = &B00001010
'Print A
'Print D
Return
A3:
'Print "a3"
Portb = &B00010010
'Print A
'Print D
Return
A11:
'Print "a11"
Portb = &B00001000
'Print A
'Print D
Return
A33:
'Print "a33"
'Print A
'Print D
Portb = &B00000010
Return
l
فقت مشکل من این هست که چرا شرطهایی که کفتم برقرار نمی شه
منون از اساتید بزرگوار در این سایت
دیدگاه