PDA

نسخه کامل مشاهده نسخه کامل : >>>فوری .....مشکل این برنامه چیه (تو bascomنوشته شده)



fokoli_qaz
23-11-2007, 22:59
اقا کی میتونه مشکل این برنامه که تو bascom نوشته شده رو حل کنه این برنامه برای میکروکنترلر atmeg16 AVR نوشته شده این برنامه چشمکزن با 8 تا led است که با انتخاب هر کلید یکی از سه مدل رقص نور رو اجرا می کنه مشکل اینه که فقط برنامه اولش کار میکنه و با انتخاب کلید برنامه بعدی اجرا نمی شه

regfile = "m16def.dat"$
$crystal = 12000000
Config Portd = Output , Portb = Input
Dim A As Byte
Dim B As Byte
Loop1:
A = &HFE
Do
Portd = A
Rotate A , Left , 1
Waitms 1000
B = Pinb
If B = &HFD Then Goto Loop2
If B = &HFB Then Goto Loop3
Loop
Loop2:
A = &HAA
Do
Portd = A
Waitms 1000
toggle portD
B = Pinb
If B = &HFE Then Goto Loop1
If B = &HFB Then Goto Loop3
Loop
Loop3:
A = &HFE
Do
Portd = A
Rotate A , Right , 1
Waitms 1000
B = Pinb
If B = &HFE Then Goto Loop1
If B = &HFD Then Goto Loop2
Loop
End

برنامه پیوست شد این هم لینک دانلود

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

fokoli_qaz
24-11-2007, 08:26
آقا کسی نیست به ما جواب بده

محمد مهندس
24-11-2007, 16:36
به جای برنامه بالا از این برنامه استفاده کن صد در صد جواب می ده

regfile = "m16def.dat"$
$crystal = 12000000
dim a as byte
config portd=output
ddrb.0=0:portb.0=1 نوع اول
ddrb.1=0:portb.1=1 نوع دوم
ddrb.2=0:portb.2=1 نوع سوم
Loop1:
A = &HFE
Do
Portd = A
Rotate A , Left , 1
Waitms 1000
debounce pinb.1,0,loop2
debounce pinb.2,0,loop3
loop
Loop2:
A = &HAA
Do
Portd = A
Waitms 1000
toggle portD
debounce pinb.0,0,loop1
debounce pinb.2,0,loop3
loop
Loop3:
A = &HFE
Do
Portd = A
Rotate A , Right , 1
Waitms 1000
debounce pinb.0,0,loop1
debounce pinb.1,0,loop2
loop
end

فقط برای عمل کردن صحیح کلید ها باید آنها را تند تند فشار دهید
اگر هم بخواهی بفهمی که چرا مدارت جواب نمی ده باید بگم که فکر می کنم برای وصل کلید باید مقاومتهای بالا کننده AVR را فعال کنی برای این کار از دستورات خط پنجم ششم و هفتم استفاده کن و برای استفاده از دستور ایف می توانی بنویسی مثلا if pinb.0=0 then goto loop1 و بعد از این دستور باید end if بنویسی و بعد دستور ایف بعدی را بدی و این را هم به تو بگم که بهترین دستور برای اتصال کلید در بسکام debounce می باشد که در مثال صحیح آوردم

fokoli_qaz
03-12-2007, 14:09
دست شما درد نکنه خیلی حال دادی ولی دیر گفتی بعد از کلی کلنجار خودم همین که گفته بودی رو فهمیدم