اطلاعیه

Collapse
No announcement yet.

مشکل در کار با تایمر 1 در بسکام

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

    مشکل در کار با تایمر 1 در بسکام

    سلام دوستان
    من یه برنامه نوشتم برنامه ترموستات دیجیتاله.ترموستاتم به 4 تا رله وصله یکیش فنه و دوتاش پمپ یکیشم هیتر.اون قسمت فن مشکلی ندارم .میخوام وقتی هیتر خاموش بشه بعد چند ثانیه دو تا موتور خاموش بشن.اما هر بار با ی زمان متفاوت خاموش میشن.لطفا اگه کسی اطلاعی از اشکال برنامه داره ممنون میشم راهنماییم کنه.
    برنامم اینه:
    $regfile = "m32def.dat"
    $crystal = 1000000


    Config Lcdpin = Pin , Rs = Pind.0 , E = Pind.2 , Db4 = Pind.4 , Db5 = Pind.5 , Db6 = Pind.6 , Db7 = Pind.7
    Config Lcd = 16 * 1
    Cursor Off
    Cls


    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    Config Timer1 = Timer , Prescale = 256
    Enable Interrupts
    On Timer1 Khamosh
    .
    .
    .
    Setting_hiter:
    Minimum_temperature_high = Minimum_temperature + 4
    Minimum_temperature_low = Minimum_temperature
    If Temp < Minimum_temperature_low Then
    Set Heaters
    Set Pomp1
    Set Pomp2
    Elseif Temp > Minimum_temperature_high Then
    Reset Heaters
    Enable Timer1
    Start Timer1


    End If
    Return
    Khamosh:
    Disable Timer1
    Stop Timer1
    Timer1 = 0
    Reset Pomp1
    Reset Pomp2
    Return

    #2
    پاسخ : مشکل در کار با تایمر 1 در بسکام

    من برنامه شما رو برای چند تا led تغییر دادم و طوری نوشتم که بعد از 4 ثانیه خاموش بشن. به صورت زیر شد که انشالله جواب سوال شما رو هم داده باشم.http://up.persianscript.ir/uploads2/814b-test1.rar
    جدیدترین ویرایش توسط mojitaba; ۰۰:۲۶ ۱۳۹۵/۱۱/۱۸.
    الهم صل علی محمد و آل محمد و عجل فرجهم
    www.adaksell.com

    دیدگاه


      #3
      پاسخ : مشکل در کار با تایمر 1 در بسکام

      نوشته اصلی توسط mojitaba نمایش پست ها
      من برنامه شما رو برای چند تا led تغییر دادم و طوری نوشتم که بعد از 4 ثانیه خاموش بشن. به صورت زیر شد که انشالله جواب سوال شما رو هم داده باشم.http://up.persianscript.ir/uploads2/814b-test1.rar
      دوست عزیزم ممنونم بابت کمکی که کردی.مشکل من زمان معین نبود.فک کنم اگه timer1=0 بذارم تا 18 ثانیه حدودا میشمره.مشکل من اینه که وقتی روشن شد بعد چند ثانیه یه بار خاموش روشن میکنه اوتوماتیک.انگار وقفه فعال میشه میپره به وقفه.تو پروتئوس جواب میده اما عملی همچین مشکلی دارم.فقط یه بار بعد اینکه روشن میشه همچین مشکلی دارم.
      خود بخود ی بار وقفه اعمال میشه

      دلیل: ادغام دو پست برای جلوگیری از اسپم

      الان دوباره برنامه رو تغییر دادم.Enable Interrupts رو گذاشتم بعد از reset heaters اما یه بار وقتی هیتر و دو تا پمپ روشن میشه بعد چند ثانیه (همون مقدار تاخیر) خاموش روشن میشه .هر بار که هیتر و دوتا پمپ روشن میشه فقط یک بار این اتفاق میفته نمیدونم دلیلش چیه

      دیدگاه


        #4
        پاسخ : مشکل در کار با تایمر 1 در بسکام

        به نظر من اگر این ایراد از نرم افزار باشه ، میتونه از لحظه Startup باشه که خود میکرو پایه ها رو Init میکنه و IO ها مقدارشون قبل از تعریف مقدار پیش فرض هستش. برای من هم یک بار این اتفاق افتاده بود که من این ایراد رو با بردن Startup میکرو روی 64 میلی ثانیه برطرف کردم. (از طریق فیوز بیت ها)
        ممکن هم هست که ایراد شما نرم افزاری نباشه و سخت افزاری باشه و مثلا نیاز به یک مدار اسنابر و یا فیلتر داشته باشید .
        الهم صل علی محمد و آل محمد و عجل فرجهم
        www.adaksell.com

        دیدگاه

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