اطلاعیه

Collapse
No announcement yet.

مشکل با مگا 8

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل با مگا 8

    من یه برنامه ساده برای مگا 8 نوشتم . من از این برنامه و سخت افزار انتظار داشتم که از 0 تا 1000000 رو تو کمتر از 1 ثانیه شمارش کنه. ولی در عمل 50 ثانیه زمان برد .می خواستم بدونم اشکال کار کجاست و من چطور می تونم به سرعت مورد نظر برسم. (فیوزبیت RC داخلی رو روی 8MHz گذاشتم)
    $regfile "m8def.dat"
    $crystal = 8000000
    Dim B As Single
    Do
    Incr B
    Loop Until B = 1000000
    Home
    Lcd B
    End

    #2
    پاسخ : مشکل با مگا 8

    تو محیط شبیه سازی که چک نکردی؟
    مطمئنی برنامه رو عملی چک کردی؟(چون پیکره بندی LCD رو ننوشتی این طور حدس زدم)

    دیدگاه


      #3
      پاسخ : مشکل با مگا 8

      سلام
      در قسمت فیوز بیتها قسمت clock عدد1111 را انتخاب کن مطمئن باش جواب میگیری من هم این مشکل رو داشتم برطرف شد

      دیدگاه


        #4
        پاسخ : مشکل با مگا 8

        نوشته اصلی توسط hamed_online62
        تو محیط شبیه سازی که چک نکردی؟
        مطمئنی برنامه رو عملی چک کردی؟(چون پیکره بندی LCD رو ننوشتی این طور حدس زدم)
        LCD رو ، رو خود کامپایلر پیکره بندی کردم واسه همین دیگه لازم نیست دستوراتش تو برنامه نوشته بشه .

        دیدگاه


          #5
          پاسخ : مشکل با مگا 8

          نوشته اصلی توسط hamed30ya
          سلام
          در قسمت فیوز بیتها قسمت clock عدد1111 را انتخاب کن مطمئن باش جواب میگیری من هم این مشکل رو داشتم برطرف شد
          همونطور که گفتم کریستال رو از قسمت فیوزبیت ها رو 8 مگاهرتز گذاشتم و این 50 ثانیه مربوط به فرکانس 8 مگاهرتز هستش. تو فرکانس های پایین یه چند دقیقه ای طول می کشه!!!

          دیدگاه


            #6
            پاسخ : مشکل با مگا 8

            من برای یک اوسیلاتور توی با فرکانس 16 mHz حداکثر تونستم 1,6آ‌ mHz تولید کنم . چون بیسیک زبون سطح بالا هست سرعت رو پایین میاره . چون برای انجام هر دستور بجای 1 یا 2 سیکل تعداد بیشتری که از عددش بی اطلاعم نیاز داره ، برای همین نمیتونه اون قدرت واقعی رو به شما بده . درضمن مسائل دیگه ای هم مطرح هست که مجال گفتنش نیست .

            ولی اگر میخواهی به حداکثر سرعت برسی باید از assembly استفاده کنی
            فتو بلاگ من
            کاردستی ها :
            روبات شطرنج باز ( یادگار دوران جوانی )
            فارسی نویسی مستقیم در نمایشگر های گرافیکی
            کتابچه خود آموز زبان توصیف سخت افزار Verilog

            دیدگاه


              #7
              پاسخ : مشکل با مگا 8

              نوشته اصلی توسط shankimout
              من برای یک اوسیلاتور توی با فرکانس 16 mHz حداکثر تونستم 1,6آ‌ mHz تولید کنم . چون بیسیک زبون سطح بالا هست سرعت رو پایین میاره . چون برای انجام هر دستور بجای 1 یا 2 سیکل تعداد بیشتری که از عددش بی اطلاعم نیاز داره ، برای همین نمیتونه اون قدرت واقعی رو به شما بده . درضمن مسائل دیگه ای هم مطرح هست که مجال گفتنش نیست .

              ولی اگر میخواهی به حداکثر سرعت برسی باید از assembly استفاده کنی
              من دو سه سال پیش assembly رو برای 8051 به صورت سطحی مطالعه کردم ولی کار عملی باهاش انجام ندادم و الان هیچی یادم نیست اگه امکانش هست یه کمی در این مورد توضیح بدین (assembly برای AVR) و همین برنامه رو به زبان اسمبلی بنویسید و توضیح بدین.
              با تشکر

              دیدگاه

              لطفا صبر کنید...
              X