میخوام 8 تا led متصل به یک پورت m8 روبه این صورت راه اندازی کنم پین یک هر 50ms روشن و خاموش شه پین دو مستقل از پین یک هر 100ms پین سه مستقل از دو پین اول هر 150ms پین چهار مستقلا هر200ms و همین طور تا پین اخر.اگه کسی تونست این برنامه رو با بیسکام انجام بده ممنون میشم کمکم کنه.
اطلاعیه
Collapse
No announcement yet.
رقص نور عجیب
Collapse
X
-
پاسخ : رقص نور عجیب
سلام
پیشنهاد می دم این کار رو با تایمر انجام بدی . یعنی مقدار تایمر رو با استفاده از دستور های شرطی مختلفی چک کن هر کدوم که برابر مقدار مورد نظرت شد دستور داخل اون شرط اجرا بشه .
پیروز و سربلند باشید.آدمی از عالم خاکی نمی آید بدست
عالمی دیگر بباید ساخت و از نو آدمی
پردازش تصویر با FPGA از صفر تا انتها
http://www.eca.ir/forum2/index.php?topic=74299.0
-
پاسخ : رقص نور عجیب
شما باید یک تایمر رو روی 50 میلی ثانیه تنظیم کنی.
do
پس از گذشت 50 میلی ثانیه :
مقدار اولین کانتر 3 تا اضافه بشه.
مقدار کانتر دوم 4 تا اضافه بشه.
مقدار کانتر دوم 6 تا اضافه بشه.
مقدار کانتر چهارم 12 تا اضافه بشه.
هرکانتری که برابر با 12 شد پین مربوطه Toggle بشه و مقدار کانتر 0 بشه.
loopدلا یاران سه قسمند ار بدانی
زبانی اند و نانی اند و جانی
به نانی نان بده از در برانش
محبت کن به یاران زبانی
و لیکن یار جانی را به دست آر
به جانش جان بده تا می توانی
دیدگاه
-
پاسخ : رقص نور عجیب
سلام ................
نوشته اصلی توسط _آرششما باید یک تایمر رو روی 50 میلی ثانیه تنظیم کنی.
do
پس از گذشت 50 میلی ثانیه :
مقدار اولین کانتر یکی اضافه بشه.
مقدار کانتر دوم دو تا اضافه بشه
.
.
مقدار کانتر چهارم چهارتا اضافه بشه.
هرکانتری که برابر با چهار شد پین مربوطه Toggle بشه و مقدار کانتر 0 بشه.
loop
پیشنهاد منم اینه که از PWM استفاده کنید . اونم میشه .. موفق باشید .دوستان! مدتی کمتر به سایت میام ..
دیدگاه
-
پاسخ : رقص نور عجیب
نوشته اصلی توسط hamed_avrمیخوام 8 تا led متصل به یک پورت m8 روبه این صورت راه اندازی کنم پین یک هر 50ms روشن و خاموش شه پین دو مستقل از پین یک هر 100ms پین سه مستقل از دو پین اول هر 150ms  پین چهار مستقلا هر200ms و همین طور تا پین اخر.اگه کسی تونست این برنامه رو با بیسکام انجام بده ممنون میشم کمکم کنه.
من برنامه مشابه این رو دارم. ولی متاسفانه با نرم افزار code vision avr و به زبان c نوشته شده.
اگه به دردت میخوره بگو تا بذارم واست.
دیدگاه
-
پاسخ : رقص نور عجیب
نوشته اصلی توسط hamed_avrمیخوام 8 تا led متصل به یک پورت m8 روبه این صورت راه اندازی کنم پین یک هر 50ms روشن و خاموش شه پین دو مستقل از پین یک هر 100ms پین سه مستقل از دو پین اول هر 150ms پین چهار مستقلا هر200ms و همین طور تا پین اخر.اگه کسی تونست این برنامه رو با بیسکام انجام بده ممنون میشم کمکم کنه.
من با ****ام کار نکردم ولی این طور شاید بشه
شما تاخیر (delay) های 50 میلی ثانیه بده به ازای هر تاخیر پورت یک روشن و خاموش بشه وقتی دو تا تاخیر دادی پورت دو روشن و خاموش بشه وقتی سه تا تاخیر دادی پورت سه روشن و خاموش بشه و..... هر چند تا تاخیر 50 میلی ثانیه می خواهی بده بعد از ان اونا بزار در یک حلقه بی نهایتیکی میگفت خدا چرا به حرفای ما گوش نمیده گفتم
هان ای صنما،دل یک دله کن
گر سر ندهم ،وانگه گله کن
دیدگاه
-
پاسخ : رقص نور عجیب
سلام
اینو من نوشتم برای یه کار دیگه اگه کمی توش تغیر بدی (شاید هم همینجوری) بدردت بخوره :mrgreen:
$regfile = "m8def.dat"
$crystal = 8000000
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Dim E As Byte
Dim F As Byte
Dim G As Byte
A = 0
B = 0
C = 0
D = 0
E = 0
F = 0
G = 0
Config Portb = Output
Portb = &B00000000
Main:
Toggle Portb.0
If A >= 2 Then
A = 0
Toggle Portb.1
If B >= 4 Then
B = 0
Toggle Portb.2
If C >= 8 Then
C = 0
Toggle Portb.3
If D >= 16then
D = 0
Toggle Portb.4
If E >= 32 Then
E = 0
Toggle Portb.5
If F >= 64 Then
F = 0
Toggle Portb.6
If G >= 128 Then
G = 0
Toggle Portb.7
End If
End If
End If
End If
End If
End If
End If
Incr A
Incr B
Incr C
Incr D
Incr E
Incr F
Incr G
Waitms 50
Goto Main
End
پروردگارا: به من زيستني عطا کن که در لحظه مرگ بر بي ثمري لحظه اي که براي زيستن گذشته است حسرت نخورم، و مردني عطا کن که بر بيهودگيش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست ميداري
دیدگاه
-
پاسخ : رقص نور عجیب
این برنامه رو امتحان کن:
$regfile = "m8def.dat"
$crystal = 8000000
Enable Interrupts
Enable Timer1
On Timer1 Timer_routin
Timer1 = 64536
Config Timer1 = Timer , Prescale = 8
Config Portb = Output
Dim Count As Byte
Portb = 0
Do
Loop
End
Timer_routin:
Incr Count
If Count = 50 Then Toggle Portb.0
If Count = 100 Then Toggle Portb.1
If Count = 150 Then Toggle Portb.2
If Count = 200 Then Toggle Portb.3
nop
Timer1 = 64536
Count = 0
Return
دیدگاه
دیدگاه