اطلاعیه

Collapse
No announcement yet.

نحوه ی کار با EEPROM در میکرو های PIC

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    نحوه ی کار با EEPROM در میکرو های PIC

    سلام
    اگه امکانش هست لطفا یکی اطلاعاتی دربارهی نحوه ی اتصال میکرو به external eeprom و کا کردن با اون رو بده
    زمان تنها واحد حقیقی اندازه گیریه
    زمان وجود ماده رو اثبات میکنه
    بدون زمان هیچکدوم ما وجود نخواهیم داشت
    زمان یکتاست

    #2
    پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

    سلام
    با دستورات زیر میتونی با EEPRM داخلی میکرو در ارتباط باشین(در CCS)

    READ_EEPROM( )
    write_eeprom (address, value)
    و با این دستورات با EEPROM خارجی میکرو
    SETUP_EXTERNAL_MEMORY( )
    READ_PROGRAM_MEMORY( )
    READ_EXTERNAL_MEMORY( )
    WRITE_EXTERNAL_MEMORY( )
    اینم یه برنامه که یه عدد رو تو EEPROM میریزه و و رویه LCD نشون میده
    #include <16F877A.h>
    #use delay(clock=2000000)
    #include <LCD.c>

    void main(){
    int8 i,t,l;
    lcd_init();
    main:
    for(t=1;t<=6;++t){
    write_eeprom (0x0,i);
    l= read_eeprom(0x0);
    printf(lcd_putc,"\f%u",l);
    delay_ms(5000);
    i=i+1;
    }
    goto main;
    }







    اااااااگه با ٍٍ\ریال[ء خارجی خواستی کار کنی و نتیجه گرفتی مارم در جریان قرار بده.

    دیدگاه


      #3
      پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

      بخشید سر کارم غلط زیاد دارم

      سلام
      از راهنمایتون ممنون
      در مورد نحوه ی اتصال EEPROM و پروتکل های ارتباطی هم چیزی می دونه کسی؟
      راستی شما از CCS راضی هستید ؟ من با MikroC کار کردم فقط متاسفانه! !
      زمان تنها واحد حقیقی اندازه گیریه
      زمان وجود ماده رو اثبات میکنه
      بدون زمان هیچکدوم ما وجود نخواهیم داشت
      زمان یکتاست

      دیدگاه


        #4
        پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

        سلام

        من به شما پیشنهاد میکنم CCS رو شروع کنید چون هر چند مشکلات کمی مثل نبود مرجع آموزشی مناسب و ضعیف بودن HELP رو داره اما از مزایای دیگری هم داره که بنظر من از بعضی از کامپایلر ها برترش میکنه
        یه مرجع نیمه کامل اما خوب برای شروع هست که می تونی دانلود کنی
        http://iranmicro.ir/forum/showthread.php?t=1366
        من با همین مرجع شروع کردم (البته به توصیه یکی از همین دوستان eca)

        به تازگی هم بچه ها تصمیم گرفتن مرجع کاملی برای PIC بنویسن که امیدوارم زودتر شروع بشه

        شما IC خاصی مورد نظرت هست بگو تا من یه نگاهی بهش بندازم

        موفق باشی

        دیدگاه


          #5
          پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

          سلام
          من می خوام با 16F72 یه سری کد رو از ماژول گیرنده ی RF بخونم و در EEPROM خارجی 93C66 ذخیره کنم و یا یه سری اطلاعاتو از روی EEPROM بخونم .
          با کد نویسی و C تقریبا مشکلی ندارم(البته فکر کنم)چون با AVR قبلا کار کردم اما PIC . . .

          دستوراتی که شما نوشتید برای EEPROM خارجی هم به همین شکله ؟
          ممنون
          زمان تنها واحد حقیقی اندازه گیریه
          زمان وجود ماده رو اثبات میکنه
          بدون زمان هیچکدوم ما وجود نخواهیم داشت
          زمان یکتاست

          دیدگاه


            #6
            پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

            سلام
            لطفا اگه کسی پروژه d ساده ای شیه سازی شده با Proteus که در اون از EEPROM در ارتباط با PIC استفاده شده داره ارسال کنه .
            ممنون
            زمان تنها واحد حقیقی اندازه گیریه
            زمان وجود ماده رو اثبات میکنه
            بدون زمان هیچکدوم ما وجود نخواهیم داشت
            زمان یکتاست

            دیدگاه


              #7
              پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

              باسلام
              دوست عزیز برای اینکه از 93C66 بعنوان EEPROM خارجی استفاده کنی باید با ارتباط SPI در میکروهای پیک آشنا بشی چون این EEPROM شما با استفاده از این پروتکل میتونه با میکرو ارتباط بر قرار کنه. از لینک زیر میتونید یه برنامه ساده به همراه فایل شبیه سازی شده که برای SPI بین دو میکرو نوشته شده رو دانلود کنی تا در مورد دستورات این پروتکل بیشتر آشنا بشی:

              http://www.4shared.com/file/wTz3kz4o/SPI.html

              موفق باشید

              دیدگاه


                #8
                پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

                سلام


                آقا سعید چطوری با دستورات SPI آدرس دهس کنیم؟

                دیدگاه


                  #9
                  پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

                  سلام

                  چنتا نکته پیش میاد
                  1)ماژول فرستنده گیرنده شما چیه؟ واسه این میگم که16f72 یوارت (UART ) نداره. پروتکل ارتباطیش چیه؟
                  2)چجوری میشه با SPI آدرس دهی کرد.
                  3)به 8 و 16 بیتی بودن دقت کن چون اکثر ماژول های سخت افزاری PIC 8 بیتی پیکربندی میشن(UART,SPI,...)

                  دیدگاه


                    #10
                    پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

                    سلام
                    تا اون جایی که من از دوستان سئوال کردم میگن باید از پروتکل I2C استفاده کنم !
                    این پروتکل با SPI فرق داره ؟ البته یه سزی ملب در مورد I2C گرقتم اما متاسغنه وقت نکردم بخونم .
                    لینکی که زحمت کشیدید گذاشتیتد کار نمیکه چرا ؟

                    یه مشکل دیگه هم که دارم اینه که تو Proteus من 16F72 رو ندارم ! (ورژن 7.6 SP0)
                    ممنون
                    زمان تنها واحد حقیقی اندازه گیریه
                    زمان وجود ماده رو اثبات میکنه
                    بدون زمان هیچکدوم ما وجود نخواهیم داشت
                    زمان یکتاست

                    دیدگاه


                      #11
                      پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

                      باسلام
                      دوست عزیز تو دیتاشیت EEPROM نوشته Three-wire Serial Interface و تو ادامه هم به جدول زیر اشاره کرده که من با توجه به این جدول میگم که باید از پروتکل SPI باید استفاده کنید:


                      فرق پروتکل SPI وI2C به زبان ساده اینکه شما در اولی از سه سیم برای انتقال و دریافت اطلاعات استفاده میکنید ولی در دومی از دو سیم, در اولی سرعت انتفال اطلاعات زیاده ولی در دومی یه خورده کمتره. البته برای درک بهتر و بیشتر این دو پروتکل کافیه که به دیتاشیت میکرو مراجعه کنید.

                      درمورد لینکم باید بگم کار میکنه و درسته و هیچ مشکلی نداره

                      در مورد میکرو به نظر من بهتره که از PIC16F877A استفاده کنی چون این میکرو تقریبا تمام امکانات سری Midrange رو داره و واسه کار بهتره.
                      درضمن من تاحالا با EEPROM کارنکردم اگه تونستم درایوش کنم حتما لینکش رو میزارم.

                      موفق باشید

                      دیدگاه


                        #12
                        پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

                        البته EEPROM ها چندین سری مختلف دارن که در هر سری نوع ارتباط با میکرو در انها مفاوته و همون طور که دوستان اشاره کردند 93C66 از ارتباط SPIآ‌ استفاده میکنه و در سری دیگه ای مثل 24CXX ها بیشتر از پروتکل I2C استفاده میشه .
                        خوب سری های حجم بالای این حافظه ها هم موجوده که از پورت موازی 8 بیتی یا 16 بیتی و بیشتر استفاده میکنند که کاربردشون به دستگاهای پخش همه کاره چینی تحت عنوان فوجیتل و دیگر اسامی و البته تمامی رسیورها تا یک سال پیش مربوط میشه.
                        این تراشه ها که ظرفیت چند مگا بایتی دارند فریمور یا واسط میان افزار دستگاه رو در خودشون جا میدن که تقریبا چیزی شبیه به سیستم عامل هست.
                        البته در حال حاضر این دستگاها و سینماهای خانوادگی و ... دارن از نمونه های FLASH ROM با اتباط SPI استفاده میکنند.
                        ***نکته قابل توجه اینه که نباید اتصال مقاومتهای پول پ در حدود 10 کیلو رو به پایه های SDA و SCL در پروتکل I2C فراموش کنید وگرنه اصلا کار نخواهد کرد. :wow:
                        این هم یک نمونه برنامه به زبان بیسیک PBP که من در این مورد پیدا کردم:

                        البته ببخشید که توضیحاتش ایتالیاییه :eek:

                        '******************************************** ********************
                        ' Ime programa: EEPROM.BAS
                        ' Opis: program pomocu naredbe I2CWRITE upisuje u EEPROM
                        ' podatak iz promenjive EE_byteOut, a zatim naredbom I2CREAD
                        ' taj isti podatak iz EEPROM-a prenosi u promenjivu EE_byteIn
                        ' i prikazuje ga na diodama porta D.
                        '******************************************** ********************


                        Include "Modedefs.Bas" ' Modovi prenosa podataka koje ' koriste nadedbe I2CWRITE i ' I2CREAD
                        symbol SCL = PORTC.3 ' I2C klok pin

                        symbol SDA = PORTC.5 ' I2C data pin

                        Addr Var byte ' 8-bitna adr.lokacije u EEPROMu
                        EE_ByteOut Var Byte ' Promenjiva ciji sadrzaj se ' upisuje u EEPROM
                        EE_ByteIn Var Byte ' Promenjiva u koju se smesta ' podatak procitan iz EEPROM-a

                        TRISD = 0 ' Pord D je izlazni

                        Main:

                        Addr = 2 ' Na adresu 2 upisi
                        EE_ByteOUT = $11 ' podatak $11
                        Gosub EWrite ' Upisi podatak u EEPROM

                        Pause 5000 ' pauza 5 sec

                        Gosub ERead ' Procitaj podatak sa adrese 2

                        PORTB=EE_ByteIn ' Prikazi procitani podatak

                        Loop: goto Loop ' Ostani u petlji

                        ' Upis jednog bajta u EEPROM

                        EWrite: ' Upisi podatak
                        I2CWRITE SDA,SCL,$A2,Addr,[EE_ByteOut]
                        Pause 10 ' Pauza 10 msec zbog upisa
                        Return

                        ' Citanje jednog bajta iz EEPROM-a

                        ERead: ' Procitaj podatak
                        I2CREAD SDA,SCL,$A2,Addr,[EE_ByteIn]
                        Return

                        End ' Kraj programa
                        موفقیت یک فرایند است نه یک اتفاق...

                        ******** استفاده از گزينه تشكر نشانه اهميت و احترام شما به پيگيري شخص نظر دهنده است ********

                        دیدگاه


                          #13
                          پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

                          نوشته اصلی توسط Robo-amir
                          تا اون جایی که من از دوستان سئوال کردم میگن باید از پروتکل I2C استفاده کنم !
                          این پروتکل با SPI فرق داره ؟ البته یه سزی ملب در مورد I2C گرقتم اما متاسغنه وقت نکردم بخونم .
                          ئی دو پرام های ساخت خود میکروچیپ عموما از I2C استفاده می کنن که فرکانس 100 یا 400 کیلو هرتز دارن
                          بعضی دیگه از اونا که با SPI وصل میشن می تونن تا 10 مگ هم کار کنن

                          نوشته اصلی توسط Robo-amir
                          سلام
                          لطفا اگه کسی پروژه d ساده ای شیه سازی شده با Proteus که در اون از EEPROM در ارتباط با PIC استفاده شده داره ارسال کنه .
                          ممنون
                          این پروژه ای که ارسلان جان زحمتشو کشیدن و گذاشتن تو سایت

                          http://www.4shared.com/file/255082082/5c65c13b/e2prom.html

                          دیدگاه


                            #14
                            پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

                            سلام
                            نوشته اصلی توسط SA3ID
                            دوست عزیز تو دیتاشیت EEPROM نوشته Three-wire Serial Interface و تو ادامه هم به جدول زیر اشاره کرده که من با توجه به این جدول میگم که باید از پروتکل SPI باید استفاده کنید

                            من این رو از دیتا شیت خود 93C66 دیدم آقا سعید !!! مگه Dual-In-Line همان پروتکل I2C نیست؟
                            از اینا بگذریم مگه اصلا نوع پروتکل برای ما مهمه وقتی می خوایم از توابع کمپایلر استفاده کنیم؟
                            یعنی اگر نوع پروتکل فرق کنه باید از توابع متفاوتی استفاده کنیم ؟
                            ممنون
                            زمان تنها واحد حقیقی اندازه گیریه
                            زمان وجود ماده رو اثبات میکنه
                            بدون زمان هیچکدوم ما وجود نخواهیم داشت
                            زمان یکتاست

                            دیدگاه


                              #15
                              پاسخ : نحوه ی کار با EEPROM در میکرو های PIC

                              سلام

                              دوست گرامی طبق این عکسی که شما گذاشتید این تراشه از پروتکل SPI استفاده می کنه :eek:

                              در این پروتکل شما به سه پایه کلاک و وردودی و خروجی سریال احتیاج دارید که طبق دیتاشیت اینا SK و DI و DO هستن اگه I2C می بود باید SDA و SCL میداشت یعنی کلاک و دیتا


                              شما تو پروتکلهای مختلف رجیسترهای متفاوتی از ماژول MSSP رو مقدار دهی میکنید >-


                              راستی داشت یادم می رفت ؛ این مقاله رو بخونید : http://www.avr.ir/pdf/ic_packages.pdf تا بفهمید Dual-In-Line یعنی چی

                              دیدگاه

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