من متوجه منظور شما از استفاده از گیت های منطقی نشدم.بالاخره با mega32 میخواید پیاده کنید یا گیت های منطقی؟
برای پیاده سازی با mega32 یه راه این میتونه باشه که یکی از تایمر ها رو روشن کنید تا بطور مداوم بشموره و سر ریز بشه و از اول بشمره و همین طور ادامه بده،هر وقت که به عدد رندوم نیاز پیدا کردید مقدار تایمر رو بخونید و با یه ضرب و تقسیم عدد رندوم رو تو اون بازه ای که مد نظرتونه بدست بیارید.
افتادگی آموز اگر طالب فیضی هرگز نخورد آب زمینی که بلند است
من متوجه منظور شما از استفاده از گیت های منطقی نشدم.بالاخره با mega32 میخواید پیاده کنید یا گیت های منطقی؟
برای پیاده سازی با mega32 یه راه این میتونه باشه که یکی از تایمر ها رو روشن کنید تا بطور مداوم بشموره و سر ریز بشه و از اول بشمره و همین طور ادامه بده،هر وقت که به عدد رندوم نیاز پیدا کردید مقدار تایمر رو بخونید و با یه ضرب و تقسیم عدد رندوم رو تو اون بازه ای که مد نظرتونه بدست بیارید.
میخوام بامگا32بسازم امابرای مثلا ضرب وجمع تابع ازAND,ORنرم افزاری استفاده کنم
درضمن عددخروجی نیز باید2رقمی باشه
سلام دوست عزیز
تابع int rand(void) یک عدد شبه تصادفی بین ۰ تا ۳۲۷۶۷ تولید میکند
وتابع void srand(int seed) یک مقدار ابتدایی را که برای تولید عدد شبه تصادفی در تابع rand به کار میرود را در اختیار میگذارد
برای کامپیوتر (و کلا هر پردازنده ای مثل میکروکنترلر )که همه چیز رو محاسبه میکنه ایجاد اعداد تصادفی واقعی یک مسئله است . در واقع کامپیوتر ها اعداد تصادفی رو هم در اصل با استفاده از فرمول و روابط بدست میارند برای همینه که شما اگه فقط از تابع rand به تنهایی استفاده کنید همواره اعداد یکسانی بهتون میده. یکی از ساده ترین روابط ایجاد عدد تصاوفی (یا شبه تصادفی)
یه همچین چیزیه :
R=(aR'+b) mod c;
که تو اون R' عدد تصادفی قبلی و R عدد تصادفی فعلی هست و عملگر mod باقیمانده رو میده. a, b ,c هم اعداد ثابت و تا اونجاییکه یادمه فرد هستند!! (تو نت تحت عنوان Randim Number Generation Algorithm سرچ کنید)
اگه برای اولین بار R'=عدد ثابت باشه دنباله ایجاد شده توسط فرمول بالایی همواره یکسانه. برای همین با یک تابع دیگه مقدار اولیه R' رو مثلا با مقدار تایمر داخلی کنترلر بار میکنند تا نقطه شروع فرمول عوض بشه و درنتیجه دنباله اعداد یکسان نباشه و یا اصطلاحا شبه رندوم باشه
اولا ازهمه داداش های گلم تشکرمیکنم که جواب من حقیر رومیدید
میخواستم ازشمادوست عزیز درخواست کنم اگه بتونیداین برنامه روتوی کدویژن بنویسیدکه فوق العاده است
شرح برنامه
بازدن یک کلیدهرباریک عدددورقمی رو روی دوتاسون سگمنت نمایش بده اگه فایل پروتیوس هم داشته باشه که خیلی خیلی عالیه چون واسه من تازه وارد کندذهن :nerd: :nerd:لازمه
پیشاپیش تشکروخداقوت
آنکس که بداند و بداند که بداند /، اسب شرف از گنبد گردون بجهاند
آنکس که بداند و نداند که بداند / ، بيدارش نماييد که بسي خفته نماند
آنکس که نداند و بداند که نداند / ، لنگان خرک خويش به مقصد برساند
آنکس که نداند و نداند که نداند / ، در جهل مرکب ابدالدهر بماند
دیدگاه