سلام به همه ی بچه های انجمن
امیدوارم حالتون خوب باشه
میخوام با بسکام یه برنامه بنویسم که 4 تا ال ی دی را کنترل کنم به این صورت که با کیبرد بهش عدد بدی که مثلا ال ی دی شماره 3 به مدت 4 ثانیه روشن شود و بعد ال ی دی شماره 1 به مدت 1 ثانیه و .... و دکمه ی استارت رو که بزنی میکرو شروع به کار شود.
من برنامه را نوشتم فقط یه مشکل داره اونم این که بر طبق دستور پیش نمیره مثلا باید اول ال ی دی شماره 3 روشن بشه و بعد ال ی دی شماره یک میکرو اول ال ی دی شماره 1 رو روشن میکنه و بعد شماره 3 را :sad:
برنامه ی که نوشتم را میذارم اینجا (فقط باید قول بدید که نخندید ها :mrgreen: :redface
$regfile = "m16def.dat"
$crystal = 8000000
Config Kbd = Porta
Config Portb = Output
Dim A As Byte , F As Byte , E As Byte , L As Byte , R As Byte , I As Byte
Dim B As Long
Main:
B = 0
Do
A = Getkbd()
If A = 10 Then Goto Led1
If A = 11 Then Goto Led2
If A = 12 Then Goto Led3
If A = 13 Then Goto Led4
If A = 15 Then Goto Start1
If A < 10 Then
B = B * 10
B = B + A
Lcd A
Waitms 400
End If
Loop
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Led1:
Lcd "led1 "
Waitms 400
F = B
Goto Main
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Led2:
Lcd "led2 "
Waitms 400
E = B
Goto Main
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Led3:
Lcd "led3 "
Waitms 400
R = B
Goto Main
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Led4:
Lcd "led4 "
Waitms 400
L = B
Goto Main
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Start1:
If F > 0 Then
Set Portb.0
Wait F
Reset Portb.0
F = 0
End If
If E > 0 Then
Set Portb.1
Wait E
Reset Portb.1
E = 0
End If
If R > 0 Then
Set Portb.2
Wait R
Reset Portb.2
R = 0
End If
If L > 0 Then
Set Portb.3
Wait L
Reset Portb.3
L = 0
End If
If F = 0 And E = 0 And R = 0 And L = 0 Then
Cls
Goto Main
End If
End
ال ی دی ها رو هم به این صورت وصل کردم:
portb.0=led1
portb.1=led2
portb.2=lod3
portb.3=led4
کلا هر ترتیبی که بدیم باز اول ال ی دی شماره یک روشن میشه(اگه مقدار داشته باشه) بعد شماره 2 بعد 3 و بعد 4 :sad: چیکار باید بکنم که بر طبق ترتبیبی که دادم عمل کنه؟ :question:
از دوستان خواهش میکنم که کمکم کنند مرسی :rolleyes: :redface:

میخوام با بسکام یه برنامه بنویسم که 4 تا ال ی دی را کنترل کنم به این صورت که با کیبرد بهش عدد بدی که مثلا ال ی دی شماره 3 به مدت 4 ثانیه روشن شود و بعد ال ی دی شماره 1 به مدت 1 ثانیه و .... و دکمه ی استارت رو که بزنی میکرو شروع به کار شود.
من برنامه را نوشتم فقط یه مشکل داره اونم این که بر طبق دستور پیش نمیره مثلا باید اول ال ی دی شماره 3 روشن بشه و بعد ال ی دی شماره یک میکرو اول ال ی دی شماره 1 رو روشن میکنه و بعد شماره 3 را :sad:
برنامه ی که نوشتم را میذارم اینجا (فقط باید قول بدید که نخندید ها :mrgreen: :redface

$regfile = "m16def.dat"
$crystal = 8000000
Config Kbd = Porta
Config Portb = Output
Dim A As Byte , F As Byte , E As Byte , L As Byte , R As Byte , I As Byte
Dim B As Long
Main:
B = 0
Do
A = Getkbd()
If A = 10 Then Goto Led1
If A = 11 Then Goto Led2
If A = 12 Then Goto Led3
If A = 13 Then Goto Led4
If A = 15 Then Goto Start1
If A < 10 Then
B = B * 10
B = B + A
Lcd A
Waitms 400
End If
Loop
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Led1:
Lcd "led1 "
Waitms 400
F = B
Goto Main
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Led2:
Lcd "led2 "
Waitms 400
E = B
Goto Main
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Led3:
Lcd "led3 "
Waitms 400
R = B
Goto Main
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Led4:
Lcd "led4 "
Waitms 400
L = B
Goto Main
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Start1:
If F > 0 Then
Set Portb.0
Wait F
Reset Portb.0
F = 0
End If
If E > 0 Then
Set Portb.1
Wait E
Reset Portb.1
E = 0
End If
If R > 0 Then
Set Portb.2
Wait R
Reset Portb.2
R = 0
End If
If L > 0 Then
Set Portb.3
Wait L
Reset Portb.3
L = 0
End If
If F = 0 And E = 0 And R = 0 And L = 0 Then
Cls
Goto Main
End If
End
ال ی دی ها رو هم به این صورت وصل کردم:
portb.0=led1
portb.1=led2
portb.2=lod3
portb.3=led4
کلا هر ترتیبی که بدیم باز اول ال ی دی شماره یک روشن میشه(اگه مقدار داشته باشه) بعد شماره 2 بعد 3 و بعد 4 :sad: چیکار باید بکنم که بر طبق ترتبیبی که دادم عمل کنه؟ :question:
از دوستان خواهش میکنم که کمکم کنند مرسی :rolleyes: :redface:
دیدگاه