اطلاعیه

Collapse
No announcement yet.

اشکال در محاسبه زمان و delay_ms

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

    اشکال در محاسبه زمان و delay_ms

    وقتی یک میکروکنترلر مثلا ATTiny13A رو برنامه ریزی می کنیم و بعضی جا ها از تابع delay_ms استفاده می کنم ، موقع شبیه سازی با پروتئوس درست و دقیق کار می کنه ولی وقتی روی AVR پروگرام میشه ! تقریبا زمان 20 برابر می شه مثلا زمان روشن موندن یک LED به جای یک ثانیه نزدیک به 20 تا 30 ثانیه روشن می مونه ! چطور میشه این مشکل رو حل کرد؟ :redface:

    #2
    پاسخ : اشکال در محاسبه زمان و delay_ms

    3 جا ممکنه اشتباه صورت گرفته باشه!
    1-اگه کریستال خارجی استفاده می کنی ؛کریستال درست استفاده نکردی و مثلاً به جای کریستال 8 از کریستال 1 استفاده می کنی که تقریبا زمان 8 برابر میشه
    2-از کریسال داخلی استفاده کردی که بسیار دقت پایینی داره اما نه 20 برابر!
    3-فیوز بیتهات درست تنظیم نیست.که اینم نهابتش میشه 8 برابر.


    البته اگه از اینتراپت خارجی استفاده می کنی که به ای ای دی مربوطه حتما چک کن که زیاد این مشکل بره من پیش اومده که نویز وارد میشده.

    اسمم بابا برقيه مي دونين کارم چيه دلم مي خواد همه جا که با کمک شما
    مصرف برق کم بشه تا برقمون قطع نشه
    مصرف بي رويه کار خيلي بديه موقع پخش کارتون برق تلويزيون
    اگه يه دفعه بره حوصله مون سر مي ره
    هرگز نشه فراموش لامپ اضافي خاموش

    دیدگاه


      #3
      پاسخ : اشکال در محاسبه زمان و delay_ms

      از اوسیلاتور داخلی استفاده کردم ، ولی واقعا زمانش خیلی زیاد شده ، مثلا وقتی بیت شماره 0 از PORTB رو high می کنم و از delay_ms استفاده می کنم ، دیگه میره با برف سال دیگه دور بعدی حلقه شروع بشه!

      دیدگاه


        #4
        پاسخ : اشکال در محاسبه زمان و delay_ms

        نوشته اصلی توسط nakisa.amarello
        از اوسیلاتور داخلی استفاده کردم ، ولی واقعا زمانش خیلی زیاد شده ، مثلا وقتی بیت شماره 0 از PORTB رو high می کنم و از delay_ms استفاده می کنم ، دیگه میره با برف سال دیگه دور بعدی حلقه شروع بشه!
        سلام
        با توجه به توضیحات مشکل فقط از فیوز بیت است
        :job:
        قنديل، تنديس قطره هايي است كه تسليم جاذبه زمين نشدند. "چگوآرا"

        دیدگاه


          #5
          پاسخ : اشکال در محاسبه زمان و delay_ms

          فیوزبیت ها رو چطور تنظیم کردین و برای چه فرکانسی برنامه رو تولید کردین؟

          دیدگاه


            #6
            پاسخ : اشکال در محاسبه زمان و delay_ms

            سلام. دوست عزیز فیوز بیت هاتو تنظیم کن اگه بلد نیستی تنظیم کنی برو توی برنامه فرکانس کاریتو ببین که چند تنظیم کردی بعد برو اون قسمتی که میخوای برنامه رو پروگرم کنی از قسمت fuse فرکانسی که توی برنامت نوشتی رو انتخاب کن و پروگرم کن تا فیوزبیت تنظیم بشه بعد برنامه اصلیتو پروگرم کن. اگه نتونستی و علاقه داری زود زمان دقیق رو ببینی میتونی از atmega 8 یا 16 یا 32 استفاده کنی و فرکانستو توی برنامه روی 1mhz بزاری. موفق باشی دوست عزیز :bye :biggrin: :nerd:

            دیدگاه


              #7
              پاسخ : اشکال در محاسبه زمان و delay_ms

              در حالت پیشفرض فکر می کنم میکروهای avr روی 1 مگاهرتز داخلی تنظیم شده اند در سخت افزار واقعی!
              حال اگر پیکربندی نرم افزاری مثلا در پنجره کدویزارد کدویژن مقدار 8 مگاهرتز داخلی بزاری و موقع پروگرم کردن در پنجره after build تیک CKSEL0 و CKSEL1 و CKSEL3 رو بزاری و میکرو رو پروگرام کنی! سپس در پروتئوس با راست کلیک روی میکرو در قسمت فیوزبیت مقدار داخلی و 8 رو انتخاب کنی حتما مقدار تاخیر شبیه سازی شده با واقعی یکسان خواهد بود! :nerd:
              آنچه كه باعث موفقيت انسان ها مي شود سخت كوشي است و نه نخبه بودن! Porsche 911 Turbo S 181.000 $ USD
              جناب سعدی فرموده بودند: "بر احوال ان مرد باید گریست _ که دخلش بود نوزده، خرجش بیست!"
              که اگه الان بود باید میگفت: "بود حال و احوال آن مرد زار _ که دخلش ریال است ، خرجش دلار :|"
              http://www.eca.ir/forum2/index.php?topic=80472.msg489565#msg489565
              http://www.eca.ir/forum2/index.php?topic=82242.msg501926#msg501926

              دیدگاه

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