اطلاعیه

Collapse
No announcement yet.

حفظ مقدار پس از خاموش شدن میکرو

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

    حفظ مقدار پس از خاموش شدن میکرو

    سلام
    دوستان من می خواستم یک کانتر یک مفداری را بشماره و آن را روی lcd نشان بده و اگر میکرو خاموش شد و دوباره روشن شد از ادامه مقدار قبلی شروع به شمارش کنه. برای این کار اون متغیر را چه جوری باید تعریف کنم و چه جوری بهش دسترسی پیدا کنم من با مدویژن کار می کنم
    ممنون
    چه خوش است زر خالی که به آتش اندر آيد
    چو کند درون آتش هنر و گهرنمائی
    مگريز ای برادر تو ز شعله های آذر
    ز برای امتحان را چه شود اگر درآئی
    به خدا ترا نسوزد رخ تو چو زر فروزد
    که خليل زاده ای تو زقديم آشنائی چو خليل رو در آتش که تو خالصی و دلپاک در خيبر است برکن که علی مرتضائی.

    #2
    پاسخ : حفظ مقدار پس از خاموش شدن میکرو

    نوشته اصلی توسط bidgol
    سلام
    دوستان من می خواستم یک کانتر یک مفداری را بشماره و آن را روی lcd نشان بده و اگر میکرو خاموش شد و دوباره روشن شد از ادامه مقدار قبلی شروع به شمارش کنه. برای این کار اون متغیر را چه جوری باید تعریف کنم و چه جوری بهش دسترسی پیدا کنم من با مدویژن کار می کنم
    ممنون
    سلام ..................

    شما میتونید متغییرتون رو در حافظه ی EEprom تعریف کنید .. همونطور که خودتون هم میدونید این حافظه یه مزیت داره و اون اینکه در برابر قطع منبع هم اطلاعات رو از دست نمیده .. طریقه ی تعریفش هم میتونید به این طریق اقدام کنید ..

    eeprom int count .. الان متغییر شما اسمش count هست؛ نوعش integer هست و از نظر اشغال حافظه در eeprom داخلی میکرو قرار داره .. موفق باشید ..
    دوستان! مدتی کمتر به سایت میام ..

    دیدگاه


      #3
      پاسخ : حفظ مقدار پس از خاموش شدن میکرو

      بعد از مدت ها یه پست زدم .
      استفاده ی مستقیم از EEPROM برای کانتر صحیح نیست . (در مواردی که سرعت زیاد باشه)
      خودتون حساب کنید . مثلا اگر عدد مربوط به کانتر شما هر یک ثانیه یه بار زیاد بشه ... حدود 27 ساعت طول میکشه تا EEPROM شما از کار بیوفته (در بهترین حالت با توجه به اینکه توی دیتاشیت AVR مقدار Endurance میکرو 100000 بار تعریف شده) یعنی اگه دیتایی رو صد هزاربار توی EEPROM تغییر بدید دیگه مقدارش قابل اطمینان نیست ) ولی اگه کانتر شما سرعت پایینی داشته باشه مثلا هر ساعت یه بار زیاد شه میشه گفت تا مدت ها مشکلی پیش نمیاد .
      That`s It ...I`m out of here

      دیدگاه


        #4
        پاسخ : حفظ مقدار پس از خاموش شدن میکرو

        با تشکر از حسام و عرفان
        خب اگه از EEPROM استفاده نکنیم چی کار کنیم اگه نخواهیم هم از حافظه جانبی هم استفاده کنیم
        مثلا می تونیم یک کلید برای ذخیره عدد استفاده کنیم که یارو قبل از خاموش کردن سیستم اونا بزنه تا عدد تو EEPROM ذخیره بشه ولی مشکل اینه که با رفتن برق اطلاعات از دست می ره
        پس چرا اصلا مطرح کردم؟ oo:
        چه خوش است زر خالی که به آتش اندر آيد
        چو کند درون آتش هنر و گهرنمائی
        مگريز ای برادر تو ز شعله های آذر
        ز برای امتحان را چه شود اگر درآئی
        به خدا ترا نسوزد رخ تو چو زر فروزد
        که خليل زاده ای تو زقديم آشنائی چو خليل رو در آتش که تو خالصی و دلپاک در خيبر است برکن که علی مرتضائی.

        دیدگاه


          #5
          پاسخ : حفظ مقدار پس از خاموش شدن میکرو

          با یک مقایسه کننده (و نه پ امپ) می تونید قطع شدن برق رو آشکار کنید و تا زمانی که خازن تغذیه بخواد دشارژ بشه مقدار رو در EEPROM ذخیره کنید.
          There is nothing so practical as a good theory. — Kurt Lewin, 1951

          دیدگاه


            #6
            پاسخ : حفظ مقدار پس از خاموش شدن میکرو

            اگه یکی از پین های میکرو اختصاص بدیم به سنس ولتاژ تغذیه و تغذیه خود میکرو رو از طریق یک خازن ظرفیت بالا حفاظت کنیم که البته این مدارات بایستی از طریق دیود از هم جدا باشن و به محض قطع شدن برق اصلی ولتاژ اون پین صفر بشه ولی میکرو فرصت ذخیره آخرین اطلاعات رو داشته باشه
            من این روش رو امتحان کردم و جواب هم گرفتم
            اگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن

            دیدگاه


              #7
              پاسخ : حفظ مقدار پس از خاموش شدن میکرو

              درستش اینه که متغیر مورد نظرت رو توی رم ذخیره کنی.
              بعد یه متغیر توی EEPROM هم میسازی .
              مسما مدار شما یه 7805 داره . و ولتاژ قبل از 7805 باید حداقل 7.5 ولت باشه که اگه از 7.5 ولت کمتر شد یعنی مدار در حال خاموش شدنه .
              میتونی با استفاده از مقایسه کننده ی آنالوگ و دو تا تقسیم مقاومتی خاموش شدن مدار رو با وقفه مقایسه کننده ی آنالوگ تشخیص بدی و این وقفه کارش این باشه متغییر توی رم رو توی EEPROM ذخیره کنه . و موقع روشن شدن هم همین متغیر از EEPROM خونده بشه و به رم وارد بشه .
              اینجوری تا مدار شما چندین هزاربار خاموش و روشن نشه EEPROM سالم میمونه .
              موفق باشید....
              پاورقی:
              سرعت زیاده ... حین تایپ کردن دو جواب ارسال شد ...
              That`s It ...I`m out of here

              دیدگاه


                #8
                پاسخ : حفظ مقدار پس از خاموش شدن میکرو

                ببخشید من حین تایپ بودم که جناب سپاس یار مطلبشون رو ارسال کردن
                منظور من هم دقیقا همون بود که ایشون فرمودند (فقط با کمی تاخیر) :redface:
                اگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن

                دیدگاه

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