اطلاعیه

Collapse
No announcement yet.

دلیل کند بودن عملکرد میکرو و تاثیر دستور delay در کل برنامه

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

    دلیل کند بودن عملکرد میکرو و تاثیر دستور delay در کل برنامه

    سلام
    من یه پروژه ترموستات دستمه که برنامه هاش نوشته شده فقط باید تغییرات توش بدم میکرو atmega8 هست فرکانس کاری میکرو 8مگاهرتزه و کامپایلر مورد استفاده کدویژن هست و برای قطع و وصل دستگاه های متصل بهش مثل فن کوئل و ... از رله استفاده شده و در برنامه هیچ گونه تاخیری وجود نداره و فقط از تایمر یک برای مود پریودیک سیستم استفاده شده حالا من دو تا سوال دارم:
    1- با زدن کلیدهای مربوطه برای یک شدن خروجی مربوط به هریک از رله ها تصویر مربوطه بر روی lcd سریعا نمایش داده می شه اما عملکرد رله با ده ثانیه تاخیر رخ میده در حالی که هیچ تاخیری در برنامه وجود نداره دلیلش چی می تونه باشه؟
    2-یکی از تغییراتی که باید بدم اینه که دور تند و کند فن که با یک دکمه کنترل میشه رو وقتی می زنیم یک شدن رله مربوط به دور کند و یک شدن رله مربوط به دور تند با فاصله یک ثانیه اتفاق بیفته اما با نوشتن delay_ms(1000) کل سیستم کند میشه و کلیدها سریع عمل نمی کنند در حالی که این تاخیر فقط در یک حلقه if نوشته شده دلیلش چیه؟! اگر من این تاخیر رو توسط تایمر ایجاد کنم مشکل حل میشه؟
    باتشکر

    #2
    پاسخ : دلیل کند بودن عملکرد میکرو و تاثیر دستور delay در کل برنامه

    این دستور delay توی کدویژن و شبیه سازی و عمل وبسته به مقدار کریستال هستش ببین اونو چند گزاشتی ؟
    ---------
    .
    .
    ...........

    دیدگاه


      #3
      پاسخ : دلیل کند بودن عملکرد میکرو و تاثیر دستور delay در کل برنامه

      نوشته اصلی توسط mtnkh
      سلام
      من یه پروژه ترموستات دستمه که برنامه هاش نوشته شده فقط باید تغییرات توش بدم میکرو atmega8 هست فرکانس کاری میکرو 8مگاهرتزه و کامپایلر مورد استفاده کدویژن هست و برای قطع و وصل دستگاه های متصل بهش مثل فن کوئل و ... از رله استفاده شده و در برنامه هیچ گونه تاخیری وجود نداره و فقط از تایمر یک برای مود پریودیک سیستم استفاده شده حالا من دو تا سوال دارم:
      1- با زدن کلیدهای مربوطه برای یک شدن خروجی مربوط به هریک از رله ها تصویر مربوطه بر روی lcd سریعا نمایش داده می شه اما عملکرد رله با ده ثانیه تاخیر رخ میده در حالی که هیچ تاخیری در برنامه وجود نداره دلیلش چی می تونه باشه؟
      2-یکی از تغییراتی که باید بدم اینه که دور تند و کند فن که با یک دکمه کنترل میشه رو وقتی می زنیم یک شدن رله مربوط به دور کند و یک شدن رله مربوط به دور تند با فاصله یک ثانیه اتفاق بیفته اما با نوشتن delay_ms(1000) کل سیستم کند میشه و کلیدها سریع عمل نمی کنند در حالی که این تاخیر فقط در یک حلقه if نوشته شده دلیلش چیه؟! اگر من این تاخیر رو توسط تایمر ایجاد کنم مشکل حل میشه؟
      باتشکر
      میکرو عوض کن اتمگات نیم سوز شده خودم چندتاش دارم این طوری میشه!!! یا بیا پایه هات جابجا کن ! ولی میکرو عوض کن 100درصد درست می شه
      Ali Reza Tarkesh Esfahani

      Yahoo: amt_1390@yahoo.com

      دیدگاه


        #4
        پاسخ : دلیل کند بودن عملکرد میکرو و تاثیر دستور delay در کل برنامه

        سلام دوستان
        من هم یه پروژه کنترل رله و دما و ولتاژ برا یه شرکتی آماده کردم همه چیز خوب و مرتبه
        فقط تنها مشکلی که وجود داره سرعت پایین و عملکرد کند دستگاه هست
        من برا ثابت بودن ولتاژ مجبورم هربار 20 نمونه از ولتاژ نمونه گیری کنم که باعث کند شدن برنامه شده
        اصلا نمیشه بجای استفاده از دستور delay از روش دیگه ی استفاده کنیم

        دیدگاه


          #5
          پاسخ : دلیل کند بودن عملکرد میکرو و تاثیر دستور delay در کل برنامه

          کلا که به جای دستور delay می تونی از تایمر و وقفه های اون استفاده کنی اما اینم بستگی داره کجای برنامه و برای چی بخوای تاخیر استفاده کنی .
          ---------
          .
          .
          ...........

          دیدگاه

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