اطلاعیه

Collapse
No announcement yet.

کار با حافظه EEPROM مدل AT24C512 در AVR

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

    کار با حافظه EEPROM مدل AT24C512 در AVR

    سلام
    خوب باز هم مثل همیشه بگم که من خیلی تازه کارم و لطفا اگر لطف می کنید و من را راهنمایی می کنید به شکلی توضیح بدید که من هم متوجه بشم .

    می خوام توی ATMEGA8 از AT24C512 استفاده کنم و اطلاعات را روش بنویسم یا ازش بخونم .
    اول از همه میخوام توی پروتوس مدارش را درست کنم ، لطفا راهنمایی کنید که مدار باید به چه شکل باشه ؟ بغیر از AT24C512 و ATMEGA8 چه چیزی نیاز هست ؟ (مقاومت،خازن،یا هر قطعه دیگه ای که نیاز هست) و اینکه این قطعات به چه شکل باید به هم وصل باشند ؟
    بعد اگر میشه لطف کنید و بگید برای خواندن و یا نوشتن بر روی این حافظه ، در Bascom از چه دستوراتی باید استفاده کنم ؟

    مرسی

    #2
    پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

    سلام
    برای کار با این قطعه اول باید i2c رو یاد بگیری
    کار کردن باهاش هم زیاد سخت نیست
    گفت که دیوانه نهی لایق این خانه نهی

    دیدگاه


      #3
      پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

      مرسی
      من با ds1307 کار کردم که I2c بود ...
      یک مثال برای کار با EEPROM یک مدل پایین تر از اونی که من میخواستم را پیدا کردم ، اما با atmega16 بود ، همون کدها را تغییر دادم برای atmega8 دیگه کار نکرد !!!

      میشه یک مثال برای کار با AT24C512 در ATMEGA8 معرفی کنید ؟ مرسی

      دیدگاه


        #4
        پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

        سلام

        شماتیک مدار :





        خداوندا
        از بچگی به من آموختندهمه را دوست بدار حال که بزرگ شده ام و کسی را دوست می*دارم می گویند:
        فراموشش کن
        دکتر علی شریعتی

        دیدگاه


          #5
          پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

          سلام
          دوستمون جناب "avr1083" زحمت کشیدن و نقشه بایاس این تراشه رو نشون دادن فقط ذکر چند نکته مهم هست
          1-مدار با پیکربندی نرم افزاری باید تراشه رو راه اندازی کنین ، در صورت تمایل به راه اندازی سخت افزاری پایه SDA و SCL رو به ترتیب به پایه های SDA و SCL متصل کنین
          2-پایه های A0 , A1,A2 برای تعیین آدرس I2C به کار می رود که به دلخواه می تونین تغییر بدین
          3-میزان مقدار مقاومتها 4.7 تا نهایتا 10 کیلو اهم می باشد
          4-برای داشتن نمونه کد به زبان basic می تونین کتاب میکروهای AVR مهندس کاهه رو مطالعه کنین یا نهایتا در اینترنت برای زبانهای دیگر سرچ کنین
          هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

          دیدگاه


            #6
            پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

            سلام

            توفایل زیر نمونه برنامه و نقشه پروتئوس مدار ‏
            http://www.niloblog.com/files/images...14jjk1yfxe.rar
            خداوندا
            از بچگی به من آموختندهمه را دوست بدار حال که بزرگ شده ام و کسی را دوست می*دارم می گویند:
            فراموشش کن
            دکتر علی شریعتی

            دیدگاه


              #7
              پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

              مرسی
              فقط اینکه برنامه با C بود ! دنبال بیس کام بودم ! دیگه اینکه پایه های AT24C512 با این مدل فرق می کنه !!
              یک مشکل دیگه اینکه من توی همین مدار از یک I2C یعنی ds1307 هم استفاده کردم ! sda و scl را داخل برنامه کانفیگ کردم ، sda و scl این حافظه را باید به sda و scl آیسی ds1307 وصل کنم و بعد هر دو رو به پورت های میکرو وصل کنم ؟!

              دیدگاه


                #8
                پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

                خوب مثل اینکه جواب گرفتم !
                کد:
                   Address = 0
                   While Address < 2
                     Tmp = 4
                     Aa = High(address)
                     Bb = Low(address)
                     Gosub Writeeepromserial
                     Incr Address
                     Incr C
                   Wend
                
                
                   Address = 0 : C = 1
                   While Address < 2
                     Aa = High(address)
                     Bb = Low(address)
                     Gosub Readeepromserial
                     Locate 1 , C : Lcd Tmp
                     Incr Address
                     Incr C
                   Wend
                
                   End
                
                   Readeepromserial:
                     I2cstart
                     I2cwbyte Xeewrite
                     I2cwbyte Aa
                     I2cwbyte Bb
                     I2cstart
                     I2cwbyte Xeeread
                     I2crbyte Tmp , Nack
                     I2cstop
                     Waitms 10
                   Return
                
                   Writeeepromserial:
                     I2cstart
                     I2cwbyte Xeewrite
                     I2cwbyte Aa
                     I2cwbyte Bb
                     I2cwbyte Tmp
                     I2cstop
                     Waitms 10
                   Return
                این کد بالا میاد توی خانه 0 و 1 حافظه AT24C512 عدد 4 را می نویسه و به درستی کار می کنه
                اما میخوام بدونم برای نوشتن یک رشته توی حافظه باید چکار کنم ؟!! مثلا "salam" را بخوام ذخیره کنم باید چکار کنم ؟!

                دیدگاه


                  #9
                  پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

                  این waitms 10 را بردارم جواب نمیده ! این خیلی بده که ! من بخوام یک سرچ توی اطلاعات حافظه بکنم برای هر خواندنی باید 10ms صبر کرد !!!

                  باید یک بایت یک بایت توی حافظه نوشت و یک بایت یک بایت از حافظه خواند ؟؟

                  دیدگاه


                    #10
                    پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

                    نوشته اصلی توسط Nicolas1390
                    این waitms 10 را بردارم جواب نمیده ! این خیلی بده که ! من بخوام یک سرچ توی اطلاعات حافظه بکنم برای هر خواندنی باید 10ms صبر کرد !!!

                    باید یک بایت یک بایت توی حافظه نوشت و یک بایت یک بایت از حافظه خواند ؟؟
                    توجه داشته باش که اصولا حافظه های eeprom کند هستند.
                    گفت که دیوانه نهی لایق این خانه نهی

                    دیدگاه


                      #11
                      پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

                      خوب من برای ذخیره 64 کیلو بایت اطلاعات از چی استفاده کنم ؟؟!!! با قطع برق از بین نره
                      فکر کنم یک جای کار من ایراد داره اگه قرار باشه اینقدر کند باشه که اصلا چه استفاده ای داره ؟! مثلا توی این حافظه اگه بخوای یک جستجو انجام بدی باید چکار کنی ؟! اگه بخوای به روشی که کدش را قرار دادم عمل کنی که یک چند دقیقه ای طول می کشه !!!

                      دیدگاه


                        #12
                        پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

                        نوشته اصلی توسط Nicolas1390
                        خوب من برای ذخیره 64 کیلو بایت اطلاعات از چی استفاده کنم ؟؟!!! با قطع برق از بین نره
                        فکر کنم یک جای کار من ایراد داره اگه قرار باشه اینقدر کند باشه که اصلا چه استفاده ای داره ؟! مثلا توی این حافظه اگه بخوای یک جستجو انجام بدی باید چکار کنی ؟! اگه بخوای به روشی که کدش را قرار دادم عمل کنی که یک چند دقیقه ای طول می کشه !!!
                        میتونی از mmc استفاده کنی
                        گفت که دیوانه نهی لایق این خانه نهی

                        دیدگاه


                          #13
                          پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

                          آخه 64 KB بیشتر نمیخوام ! mmc خیلی گرون در میاد !

                          دیدگاه


                            #14
                            پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

                            نوشته اصلی توسط Nicolas1390
                            آخه 64 KB بیشتر نمیخوام ! mmc خیلی گرون در میاد !
                            خب گفتم اگه سرعت خیلی مهمه میتونی ازش استفاده کنی
                            گفت که دیوانه نهی لایق این خانه نهی

                            دیدگاه


                              #15
                              پاسخ : کار با حافظه EEPROM مدل AT24C512 در AVR

                              دوباره سلام
                              آقا من شک ندارم که یک جای کار من ایراد داره !
                              دوستان اگر بخواین از خونه 1 تا 63000 این حافظه را اطلاعات بنویسید چکار می کنید ؟ خوب کسایی که قبلا استفاده کردن برای پر کردن خونه های این حافظه به چه شکلی عمل می کردن ؟! اگر با همین روشی باشه که نوشتم ، 2 روز طول میکشه که ! :mrgreen:
                              اگر این حافظه اینقدر کند هست اصلا چرا استفاده می شه ؟!

                              دیدگاه

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