اطلاعیه

Collapse
No announcement yet.

مشکل در نوشتن بر روی eeprom با دستور write

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

    مشکل در نوشتن بر روی eeprom با دستور write

    دوستان سلام
    من یه برنامه نوشتم و همه برنامه کار می کنه بز قسمتی که می خواهد اطلاعات را درون eeprom بریزه.نکته عجیبی که هست اینه که در جای دیگر از برنامه دقیقا همین کار رو کردم و مشکلی نداره .اگه بخوام واضح تر بگم یه قفل رمز که اگر اولین بار باشه که مار میکنه یه رمز می خواد که اون رمز رو با دستور write وارد eeprom می کنه با اینجای برنامه مشکلی ندارم ولی اگر بخوام رمز رو عوض کنم رمز جدید با دستور رایت وارد حافظه نمی شه و همون قبلی ثابت می مونه.
    و مشکل دیگه این که وقتی آی سی رو پرگرام می کنم حافظه eeprom پاک نمیشه.
    ممنون از این که تحمل کردید و این متن طولانی رو میخونید. :agree:

    #2
    پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

    ریستش کن
    کد برنامرو بزارید تا راهنمایی کنم
    *یادگیری علم زمانی مشکل است که قبل از یادگیری آن را پیچیده تصور کنیم.
    *چرا فکر میکنیم مباحث مهم و پیشرفته و سطح بالا باید پیچیده باشند.

    دیدگاه


      #3
      پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

      F1:
      changing=1
      IF (change_now==1) THEN
      lcdout $fe,1
      lcdout "ENTER OLD PASS"
      qa=1
      Ii VAR BYTE
      FOR Ii=0 TO 7
      GOSUB scan_key
      if qa==1 then
      qa=0
      lcdout $fe,1
      lcdout "key:"
      endif
      lcdout "*"
      pause 1000
      PASS[Ii]=A
      NEXT Ii

      e0=pass[0]
      e1=pass[1]
      e2=pass[2]
      e3=pass[3]
      e4=pass[4]
      e5=pass[5]
      e6=pass[6]
      e7=pass[7]
      GOTO RE
      BACK_RE:
      if (a0==e0) and (a1==e1) and (a2==e2) and (a3==e3) and (a4==e4) and (a5==e5) and (a6==e6) and (a7==e7) then
      lcdout $fe,1
      lcdout "NEW CODE:"
      qa=1
      WW:
      III VAR BYTE
      FOR III=0 TO 7

      GOSUB scan_key
      if qa==1 then
      qa=0
      lcdout $fe,1
      lcdout "key:"
      endif
      lcdout "*"
      pause 1000
      PASS[III]=A
      NEXT III
      lcdout $fe,1
      lcdout "press enter"
      PORTB.6=1
      Q33: IF PORTB.3 == 1 THEN

      e0=PASS[0]
      e1=PASS[1]
      e2=PASS[2]
      e3=PASS[3]
      e4=PASS[4]
      e5=PASS[5]
      e6=PASS[6]
      e7=PASS[7]

      وقتی که رایت می کنم و بعد حافظه را چک می کنم دوباره همان مقدار قبلی در حافظه قرار دارد
      write 1,e0
      write 2,e1
      write 3,e2
      write 4,e3
      write 5,e4
      write 6,e5
      write 7,e6
      write 8,e7

      lcdout $FE,1
      LCDOUT "CODE IS CHANGED"
      pause 3000
      lcdout $fe,1
      PORTB.6=0
      e0=16:e1=16:e2=16:e3=16:e4=16:e5=16:e6=16:e7=16
      ELSE
      GOTO Q33:
      ENDIF
      ELSE
      lcdout $fe,1
      lcdout "code is wrong"
      pause 2000
      ENDIF
      enter_key=1
      change_now=0
      changing=0
      goto start

      دیدگاه


        #4
        پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

        وقتی تو دوران جوانی با ee میکرو کار میکردیم
        میگفتن باید بعد نوشتن 4 تا 8 میلی ثانیه زمان بدی به میکرو ولی ما همیشه یادمون میرفت میگم حالا شما یادتون نرفته
        در ضمن من اصلا به برنامه نگاهی نکردم :rolleyes:
        [move][img width=133 height=100]http://bargiri.persiangig.com/aks/0.306310001356499787_taknaz_ir.gif[/img][/move]

        دیدگاه


          #5
          پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

          سلام من قفل دسجستال درست کردم و ساختم باید جمع و جورش کنم بذارم تو سایت
          من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

          دیدگاه


            #6
            پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

            سلام
            نه آقای رحیمی تست کردم مشکل از زان بندی نبود.دوستان دیگه هم لطفا کمک کنید.

            دیدگاه


              #7
              پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

              سلام وحید جان
              شما با چه برنامه ای کار می کنی ؟ و برای چه میکرویی می خوای؟
              با بستکام کار می کنی؟
              میشه یگی؟
              من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

              دیدگاه


                #8
                پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

                PIC16F873A
                MICRO CODE STUDIO
                زبان:بیسیک

                دیدگاه


                  #9
                  پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

                  سلام برنامه روی پروتیوس خوب و به درستی کار میکنه و اطلاعات در eeprom ذخیره می شه ولی روی ic خیر

                  دیدگاه


                    #10
                    پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

                    سلام این برنامه بسیار ساده ای است که برای نوشتن و خواندن اطلاعات روی eeprom .که کار نمیکنه
                    البته روی پروتئوس مشکلی نداره فقط در عمل اطلاعات روی eeprom ذخیره نمیشه حالا اگر کسی میتونه یه کمکی بکنه ممنون می شم
                    pic16f873a هم میکروش هست
                    mico code studio نرم افزارش

                    برنامه:

                    TRISC=0

                    DEFINE LCD_DREG PORTC
                    DEFINE LCD_DBIT 4
                    DEFINE LCD_EREG PORTC
                    DEFINE LCD_EBIT 3
                    define LCD RWREG PORTC
                    define LCD_RWBIT 2
                    DEFINE LCD_RSREG PORTC
                    DEFINE LCD_RSBIT 1
                    DEFINE LCD_BITS 4
                    DEFINE LCD_LINES 2
                    DEFINE OSC 4
                    DEFINE LCD_COMMANDUS 2000
                    DEFINE LCD_DATAUS 20
                    Low PORTC.2

                    s var byte
                    e var byte
                    s=0
                    A:
                    s=s+5
                    write 1,s
                    pause 100
                    read 1,e
                    lcdout $fe,1
                    lcdout "1:",#e
                    pause 2000
                    goto a

                    دیدگاه


                      #11
                      پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

                      سلام
                      خسته نباشی
                      من هم چند وقت پیش این مشکل را داشتم
                      اشکال کار توی آدرس حافظه است.
                      مثلا توی PIC16F873A حافظه EEPROM از 2100 شروع میشه و 128 بایت هم هست.
                      موفق باشی

                      دیدگاه


                        #12
                        پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

                        نوشته اصلی توسط mob_zamani
                        سلام
                        خسته نباشی
                        من هم چند وقت پیش این مشکل را داشتم
                        اشکال کار توی آدرس حافظه است.
                        مثلا توی PIC16F873A حافظه EEPROM از 2100 شروع میشه و 128 بایت هم هست.
                        موفق باشی
                        سلام اگر ممکنه یک بر نامه ساده بنویسید آخه با در نظر گرفتن مکان حافظه هم مشکل بر طرف نشد
                        ممنون

                        دیدگاه


                          #13
                          پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

                          سلام من یه برنامه ساده دیگه نوشتم لطفا هر اشکالی داره تصحیح کنید شما رو به خدا عجله کنید
                          w2 var byte
                          B1 VAR word
                          mainloop:
                          b1=2100
                          Write B1, 7
                          Read B1, W2
                          lcdout $fe,1
                          lcdout "w2:",#w2
                          pause 1000
                          GoTo mainloop
                          End

                          دیدگاه


                            #14
                            پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

                            سلام لطفا این برنامه ساده رو تصحیح کنید و بفرمایید برای آدرس دهی حافظه وقتی 2100 h است با دستور write چطور نوشته می شود
                            w2 var byte
                            B1 VAR word
                            mainloop:
                            b1=2100
                            Write B1, 7
                            Read B1, W2
                            lcdout $fe,1
                            lcdout "w2:",#w2
                            pause 1000
                            GoTo mainloop
                            End

                            دیدگاه


                              #15
                              پاسخ : مشکل در نوشتن بر روی eeprom با دستور write

                              نوشته اصلی توسط vahid120
                              سلام اگر ممکنه یک بر نامه ساده بنویسید آخه با در نظر گرفتن مکان حافظه هم مشکل بر طرف نشد
                              ممنون
                              سلام مجدد
                              اگه دیتای 16 بیتی داری ;( write_program_eeprom(2110,16Bit
                              و اگه 8 بیتی ;(write_eeprom (5, 8Bit
                              مشکلی بود خبرم کن

                              دیدگاه

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