اطلاعیه

Collapse
No announcement yet.

چگونگی تنظیم تایمر برای زمان 10 میکرو ثانیه

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

    چگونگی تنظیم تایمر برای زمان 10 میکرو ثانیه

    سلام.

    آقا من میکروم اتمگا 32 هستش با کریستال خارجی 12 مگاهرتز. میخوام زمان 10 میکرو ثانیه رو با تایمر صفر ایجاد کنم و پس از سرریز شدن یه سرویس وقفه برم و یه کاری رو انجام بدم.حالا 2 تا سوال دارم:

    1- فرمول محاسبه این زمان چجوری؟

    2- بعد از سر ریز شدن تایمر و رفتن به اینتراپت من یه زمانی میخوام برای انجام دادن کارها. باید تایمر اونجا غیر فعال کنم؟ و دوباره تو برنامه اصلی فعال کنم؟

    ممنون

    #2
    پاسخ : چگونگی تنظیم تایمر برای زمان 10 میکرو ثانیه

    نوشته اصلی توسط babak_9051
    سلام.

    آقا من میکروم اتمگا 32 هستش با کریستال خارجی 12 مگاهرتز. میخوام زمان 10 میکرو ثانیه رو با تایمر صفر ایجاد کنم و پس از سرریز شدن یه سرویس وقفه برم و یه کاری رو انجام بدم.حالا 2 تا سوال دارم:

    1- فرمول محاسبه این زمان چجوری؟

    2- بعد از سر ریز شدن تایمر و رفتن به اینتراپت من یه زمانی میخوام برای انجام دادن کارها. باید تایمر اونجا غیر فعال کنم؟ و دوباره تو برنامه اصلی فعال کنم؟

    ممنون

    :cry:

    دیدگاه


      #3
      پاسخ : چگونگی تنظیم تایمر برای زمان 10 میکرو ثانیه

      سلام
      دنبال فرمول نگردین یه روش ساده
      من چون خودم با bascom کار می کنم توضیح می دم
      مثلا تایمر 0 رو در نظر داشته باشین

      CONFIG TIMER0 = TIMER , PRESCALE= 1|8|64|256|1024

      PRESCALE می گه که تایمر یا چه کسری از فرکانس میکرو کار کنه اگر شما بدین 1 یعنی دقیقا با خود فرکانس میکرو کار می کنه و اگر دو باشه یعنی به ازای هر دو پالس میکرو کار می کنه(یا نصف فرکانس میکرو)

      حالا مثال شما

      اگر prescale رو 1 بگیریم یعنی هر 83 نانو ثانیه یه عدد به مقدار تایمر اضافه می کنه حالا ببینیم 10 میکرو ثانیه باید چقدر تایمر بشماره

      [img]http://latex.codecogs.com/gif.latex?\frac{10*10^{-6}}{83*10^{-9}}\simeq%20120[/img]

      پس شما عدد تایمر رو 120 در نظر می گیرین

      به وقفه تایمر که پرش می کنین تایمر اونجا متوقف هست و بعد از دستور return شروع به کار می کنه
      هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

      دیدگاه


        #4
        پاسخ : چگونگی تنظیم تایمر برای زمان 10 میکرو ثانیه

        سلام _ من دارم تو ATMEGA 8 داخل نرم افزار بسکام از تایمر استفاده میکنم که تو یک زمان مشخص به زیر برنامش بره.میخواستم بدونم که اگه تو برنامه اصلی از دستور WAIT استفاده کنم آیا این دستور باعث میشه که میکرو برای زمان WAIT هیچ کاری انجام نده دیگه درسته؟ با این حال آیا تایمر هم دیگه نمیشمره _ یعنی تایمر هم به اندازه ی WAIT صبر میکنه و هیچ کاری انجام نمیده؟؟؟؟؟؟؟؟؟
        ندانستن عیب نیست نپرسیدن عیب است.

        دیدگاه


          #5
          پاسخ : چگونگی تنظیم تایمر برای زمان 10 میکرو ثانیه

          نوشته اصلی توسط hzohani
          سلام _ من دارم تو ATMEGA 8 داخل نرم افزار بسکام از تایمر استفاده میکنم که تو یک زمان مشخص به زیر برنامش بره.میخواستم بدونم که اگه تو برنامه اصلی از دستور WAIT استفاده کنم آیا این دستور باعث میشه که میکرو برای زمان WAIT هیچ کاری انجام نده دیگه درسته؟ با این حال آیا تایمر هم دیگه نمیشمره _ یعنی تایمر هم به اندازه ی WAIT صبر میکنه و هیچ کاری انجام نمیده؟؟؟؟؟؟؟؟؟
          سلام دوست من
          نه اون طوری که فکر می کنی نیست اگه داخل روتین تایمر waiit بزارید به همون اندازه صبر می کنه ولی تایمر همچنان در حال شمارش هستش فقط برنامه ای که انجا نوشتید متوققف می شه
          در ضمن اصلا درست نیست از wait داخل روتین تایمر استفاده کنید ( این کارو نکن پسرم )
          معجزه اين است که هرچه داشته هايت را بيشتر با ديگران سهيم شوي،داراتر مي شوي (لئونارد نيموي)
          اگر مغزانسان،چنان ساده مي بود که ما از آن سر در مي آورديم،هنوز چنان احمق بوديم که هيچ از آن سر در نمي آورديم!
          آموزش Modelsim

          دیدگاه


            #6
            پاسخ : چگونگی تنظیم تایمر برای زمان 10 میکرو ث&#157

            نوشته اصلی توسط skiboy
            سلام دوست من
            نه اون طوری که فکر می کنی نیست اگه داخل روتین تایمر waiit بزارید به همون اندازه صبر می کنه ولی تایمر همچنان در حال شمارش هستش فقط برنامه ای که انجا نوشتید متوققف می شه
            در ضمن اصلا درست نیست از wait داخل روتین تایمر استفاده کنید ( این کارو نکن پسرم )
            سلام مجدد_مرسی_راستشو بخواین برنامه ساعته_که تو زیر برنامه از wait استفاده میکنم _ میخوام واسه تنظیماتش از کلید استفاده کنم نمیدونم چرا از debounce که استفاده میکنم بعدش lable که میزارم نمیره تو لیبل _ واسه همین مجبورم از if و به دنبالش از wait استفاده کنم _ ببخشیدا ولی من روتین نمیدونم چیه؟ :sad:
            ندانستن عیب نیست نپرسیدن عیب است.

            دیدگاه


              #7
              پاسخ : پاسخ : چگونگی تنظیم تایمر برای زمان 10 میکرو ث

              نوشته اصلی توسط hzohani
              سلام مجدد_مرسی_راستشو بخواین برنامه ساعته_که تو زیر برنامه از wait استفاده میکنم _ میخوام واسه تنظیماتش از کلید استفاده کنم نمیدونم چرا از debounce که استفاده میکنم بعدش lable که میزارم نمیره تو لیبل _ واسه همین مجبورم از if و به دنبالش از wait استفاده کنم _ ببخشیدا ولی من روتین نمیدونم چیه؟ :sad:
              منظورم از روتین همون زیر برنامه مربوط به تایمر شما بود لطفا برنامه را به صورت کامل قرار دهید تا بشود نظر داد
              معجزه اين است که هرچه داشته هايت را بيشتر با ديگران سهيم شوي،داراتر مي شوي (لئونارد نيموي)
              اگر مغزانسان،چنان ساده مي بود که ما از آن سر در مي آورديم،هنوز چنان احمق بوديم که هيچ از آن سر در نمي آورديم!
              آموزش Modelsim

              دیدگاه

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