اطلاعیه

Collapse
No announcement yet.

ایجاد تاخیر بوسیله ی برنامه نوسی اسمبلی برای AVR

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

    ایجاد تاخیر بوسیله ی برنامه نوسی اسمبلی برای AVR

    سلام

    دوستان کسی میتونه با اسمبلی یه برنامه ی ساده برای ایجاد تاخیر برای من بنویسه؟

    من یه متغیر Word رو بهش بدم و زیر برنامه هم به اون تعداد سیکل ماشین تاخیر ایجاد کنه

    هر کاری کردم نتونستم با دستور Waitus Var این کارو بکنم :angry:

    ممنون از همگی
    ِِDie for Life, Not Live to Die
    Freedom Fighter
    " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

    #2
    پاسخ : ایجاد تاخیر بوسیله ی برنامه نوسی اسمبلی برای AVR

    سلام.
    من با اسمبلی برا AVR کار نکردم.

    ولی میتونی با حلقه های تو در تو راحت بنویسی.در واقع ic رو سر کار بذاری.
    www.icesi.ir

    دیدگاه


      #3
      پاسخ : ایجاد تاخیر بوسیله ی برنامه نوسی اسمبلی برای AVR

      ناچارا از تایمر استفاده کردم

      بهرحال ممنون :smile:
      ِِDie for Life, Not Live to Die
      Freedom Fighter
      " ناخود گاه، هريك از ما ، از ناميرائي خود يقين دارد " . فروید

      دیدگاه


        #4
        پاسخ : ایجاد تاخیر بوسیله ی برنامه نوسی اسمبلی برای AVR

        سلام :biggrin: من تازه زبان اسمبلی را شروع کردم :read:یه سوالی داشتم

        برنامه زیر واسه ایجاد تاخیر 1ms نوشته شده : آیا روش های بهتر از این هم واسه ایجاد تاخیر هستش ؟
        کریستال 1مگا هرتز است

        کد:
        .
        .
        .
        LDI R16,00
        DELAY: CPI  R16,200
        BREQ    LOOP
        INC  R16
        RJMP  DELAY 
        LOOP:
        .
        .
        .


        يادش بخير يه وقتايي هر روز ميومدم اينجا !

        دیدگاه


          #5
          پاسخ : ایجاد تاخیر بوسیله ی برنامه نوسی اسمبلی برای AVR

          آقا میلاد کار خوبی کردید که یاد گرفتن اسمبلی را در برنامه خود قرار دادید،آ‌ در این مورد جناب کیآ‌نژاد ( طراح ) تاپکی قرار دادند که توضیحات و اطلاعات با ارزشی اونجا قرار داده شده،آ‌ پیشنهاد میآ‌کنم حتما مطالعه بفرمایید:
          http://www.eca.ir/forum2/index.php?topic=39020.0
          از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
          هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
          اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
          اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
          شاد و موفق باشید

          دیدگاه


            #6
            پاسخ : ایجاد تاخیر بوسیله ی برنامه نوسی اسمبلی برای AVR

            به نظر من ایجاد تاخیر با دستور NOP دارای دقت خوبی هست. این دستور کاری انجام نمیده ولی یه سیکل رو به خودش اختصاص میده که میتونید باهاش تاخیر بسازید!
            It's nice to be important but it's important to be nice!

            از اینکه نمی رسم جواب دوستان را بدم معذرت می خوام.

            دیدگاه


              #7
              پاسخ : ایجاد تاخیر بوسیله ی برنامه نوسی اسمبلی برای AVR

              روش ایجاد تاخیر بستگی به این دارد که تاخیر مورد نیاز نسبت به کلاک میکروکنترلر دارای چه نسبتی باشد. اگر تاخیری در حد چند سیکل مورد نیاز باشد می توانید از تکرار دستوری مانند NOP یا برخی دستورات دیگر که دارای سیکل تاخیر بیشتری هستند، استفاده کنید. از طریق ایجاد حلقه ها هم (شبیه مثالی که ذکر کرده اید)، می توانید تاخیر ایجاد کنید. یک روش دیگر برای تاخیر های طولانی تر آن است که به یک تایمر مقدار دهی کنید و بعد برای شرایط overflow یا compare آن منتظر شوید. برای تاخیرهای بسیار بزرگ که طول یک تایمر جواب نمی دهد، می توانید حلقه ای را تشکیل دهید و برای N بار سرریز شدن تایمر منتظر بمانید.
              اوژن: به معنای افکننده و شکست دهنده است
              دانایی، توانایی است-Knowledge is POWER
              برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
              وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
              قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
              اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
              ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

              دیدگاه

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