اطلاعیه

Collapse
No announcement yet.

قرار دادن یک مقدار مربوط به متغیر برای اولین بار در eeprom

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

    قرار دادن یک مقدار مربوط به متغیر برای اولین بار در eeprom

    سلام دوستان
    من یه برنامه نوشتم ومیخوام برای اولین بار که میکرو روشن میشه ،سه تا متغیرهام ،مقدار صفر داشته باشن وبعدازاون با توجه به برنامه این مقدار دوباره ودوبارهها پاک ونوشته میشه
    چطورمیشه اینکارو کرد
    اینم برنامم::::::: :angry:





    $regfile = "m32def.dat"
    $Crystal=4000000
    $hwstack=40
    $swstack=16
    $framesize = 32
    Config Lcdpin = Pin , Db4 = Pinb.0 , Db5 = Pinb.1 , Db6 = Pinb.6 , Db7 = Pinb.3 , E = Pinb.5 , Rs = Pinb.4
    Dim X As Byte
    Dim Y As Byte
    Dim Z As Byte
    Dim X0 As Eram Byte
    Dim Y1 As Eram Byte
    Dim Z2 As Eram Byte

    Config Int0 = Rising
    Config Int1 = Rising
    Config Int2 = Rising
    Enable Int0
    Enable Int1
    Enable Int2
    Enable Interrupts
    On Int0 W
    On Int1 R
    On Int2 Ch
    Do
    X = X0
    Y = Y1
    Z = Z2

    Cls
    Lcd X
    Waitms 100
    Cls
    Lcd Y
    Waitms 100
    Cls
    Lcd Z
    waitms 100

    Loop
    End
    W:
    X = X0
    Y = Y1
    Z = Z2
    Incr X
    Decr Y
    Decr Z
    X0 = X
    Y1 = Y
    Z2 = Z
    Return
    R:
    X = X0
    Y = Y1
    Z = Z2
    Incr Z
    Decr X
    Decr Y
    X0 = X
    Y1 = Y
    Z2 = Z
    Return
    Ch:
    X = X0
    Y = Y1
    Z = Z2
    Incr Y
    Decr X
    Decr Z
    X0 = X
    Y1 = Y
    Z2 = Z
    Return



    #2
    پاسخ : قرار دادن یک مقدار مربوط به متغیر برای اولین بار در eeprom

    سلام!
    یه روشی خودم کشف کردم :mrgreen: من بسکام خیلی وارد نیستم به زبون سی بلدم...
    الگورتیمش اینه:
    یه متغیر ایتوپیرام تعریف کن مثلا a0 . بدون مقدار اولیه..حالا بگو (قبل حلقه بینهایت) :
    اگه a0 یک نبود
    {
    ...
    ...
    ...
    ...
    a0=1
    }
    چون تو مقدار ندادی معمولا مقدار چرت و پرت توشه و "معمولا" یک نیست!!! پس میره توی ایف و تو آخر سر اونو یک میکنی تا دفعه بعد که روشن خاموش شد، نره توی ایف! چون ایتوپیرامه و یک میمونه (البته فیوزبیت ها و.. رو اصولی تنظیم کن و ...)

    دیدگاه


      #3
      پاسخ : قرار دادن یک مقدار مربوط به متغیر برای اولین بار در eeprom

      میخوای وقتی میکرو ریست هم میشه مقدار اون خونه eeprom صفر باشه یا نا ؟

      دیدگاه


        #4
        پاسخ : قرار دادن یک مقدار مربوط به متغیر برای اولین بار در eeprom

        نوشته اصلی توسط tofan_2050
        میخوای وقتی میکرو ریست هم میشه مقدار اون خونه eeprom صفر باشه یا نا ؟
        نه فقط برای اولین راه اندازی...بعدش عوض میشه

        دیدگاه


          #5
          پاسخ : قرار دادن یک مقدار مربوط به متغیر برای اولین بار در eeprom

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

          این مثال واسه یه متغیر که یک بایتی است

          Readeeprom A, 0
          if A=255 then
          A=0
          Writeeeprom A ,0
          end if
          ابتدا مقدار خانه صفرام حافظه EEprom
          داخل متغیر A ریخته میشه بعد اگه برابر 255 باشه شرط اجرا میشه و مقدار صفر رو داخل خانه صفرام حافظه EEprom ذخیره میشه
          اگر متغیر A از یک بایت بیشتر باشه به تعداد بایتهاش از خانه صفرم به بعد رو منظور میکنه
          مثلا اگه دوبایتی باشه خونه صفرم و اول خونده و نوشته میشه
          واسه سه تامتغیرت میتونی از همین روش استفاده کنی
          امیدوارم منظورت رو متوجه شده باشم

          فقط یه نکته که این دستورات واسه EEPROM داخلی خود میکرو بود

          دیدگاه


            #6
            پاسخ : قرار دادن یک مقدار مربوط به متغیر برای اولین بار در eeprom

            دوستان ممنون مشکل با روش هاتون برطرف شد

            دیدگاه


              #7
              پاسخ : قرار دادن یک مقدار مربوط به متغیر برای اولین بار در eeprom

              با سلام
              من تو برنامه ام دو تا متغیر دارم که مقدار اولیه شون یکی 20 و دیگری 30 میباشد میخام در حین اجرای برنامه این دوتا مقدار رو داشته باشند ولی در باتغییر آن ها در طول برنامه تغییرات مقادیر باقی مونده و بعد از خاموش وروشن شدن از همون مقادیر تغییر یافته ادامه بده و دوباره به مقدار اولیه نره
              لطفا هرچه زود کمک کنید ؟!!

              دیدگاه


                #8
                پاسخ : قرار دادن یک مقدار مربوط به متغیر برای اولین بار در eeprom

                نوشته اصلی توسط tofan_2050 نمایش پست ها
                میخوای وقتی میکرو ریست هم میشه مقدار اون خونه eeprom صفر باشه یا نا ؟
                سلام
                اگه بخوام با فشار دادن کلید ریست تمامی مقادیر داخل حافظه ها صفر بشه باید چیکار کنم ؟؟ ( بسکام )
                با تشکر

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

                نوشته اصلی توسط tofan_2050 نمایش پست ها
                میخوای وقتی میکرو ریست هم میشه مقدار اون خونه eeprom صفر باشه یا نا ؟
                سلام
                اگه بخوام با فشار دادن کلید ریست تمامی مقادیر داخل حافظه ها صفر بشه باید چیکار کنم ؟؟ ( بسکام )
                با تشکر
                بازم خدا رو شکر ...

                دیدگاه

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