خانه / پروژه های میکروکنترلر / اتصال حافظه های جانبی EEPROM سریال به میکروکنترلر AVR

اتصال حافظه های جانبی EEPROM سریال به میکروکنترلر AVR

دانلود پروژه اتصال حافظه های جانبی EEPROM سریال به میکروکنترلر AVR

در این بخش دانلود پروژه اتصال حافظه های جانبی EEPROM سریال به میکروکنترلر AVR, توسط تیم الکترونیک و برنامه نویسی الکترونیک ۹۸ برای شما علاقه مندان به پروژه های میکروکنترلر AVR آماده شده است. برای دسترسی به حافظه های EEPROM باید از ارتباط سریال I2C استفاده نمایید. تنها اطلاعاتی که از یک حافظه EEPROM سریال, نیاز است, آدرس سخت افزاری نوشتن و خواندن دیتا است. با داشتن این آدرس, به راحتی می توانید در این نوع حافظه ها دیتا بنویسید و یا بخوانید. آدرس سخت افزاری, عددی می باشد که در هنگام ارسال و یا دریافت دیتا آن را فراخوانی می کنید. از جمله سری حافظه های EEPROM سریال, سری AT24C از شرکت ATMEL می باشد که با میکروکنترلرهای AVR به صورت کامل هماهنگ است. این سری از حافظه ها دارای یک – دو و یا سه پایه جهت انتخاب و آدرس دهی می باشند. در اینجا با حافظه EEPROM سریال با شماره AT24C512-AT24C256-AT24C128 که یکی از رایج ترین نوع حافظه های جانبی مورد استفاده هستند, آشنا می شوید. البته تمامی حافظه های سری AT24C یک نوع بوده و تنها در آدرس سخت افزاری و میزان فضا متفاوتند, که می توان از کاتالوگ تراشه مورد نظر, این اطلاعات را بدست آورد.

دانلود پروژه اتصال حافظه های جانبی EEPROM سریال به میکروکنترلر AVR

از مشخصات این نوع تراشه ها ولتاژ کار پایین است (بین 1.8 ولت تا 5.5 ولت). دیگر مشخصات این سری از حافظه ها, قابلیت نوشتن تا یک میلیون بار و نگه داری اطلاعات تا 100 سال است. حداکثر زمان مورد نیاز برای نوشتن در این حافظه 10ms می باشد.

نکته : پایه WP برای قفل شدن تراشه در برابر خواندن و نوشتن است.

در جدول زیر چند نمونه از تراشه ها با مقدار فضای حافظه , مشخص شده است.

دانلود پروژه اتصال حافظه های جانبی EEPROM سریال به میکروکنترلر AVR

سه نوع تراشه مورد بحث که دارای دو پایه آدرس دهی سخت افزاری می باشند, دارای عدد 160 برای آدرس سخت افزاری نوشتن و عدد 161 برای آدرس سخت افزاری خواندن هستند.

برای اتصال حافظه به میکرو به صورت مدار زیر عمل کنید. البته پایه WP را می توانید به زمین اتصال دهید تا همیشه بتوانید در حافظه هم بنویسید و هم بخوانید. اما در مدار زیر برای نوشتن و یا خواندن باید PORTD.7 را صفر کنید.

دانلود پروژه اتصال حافظه های جانبی EEPROM سریال به میکروکنترلر AVR

برنامه نویسی برای خواندن و یا نوشتن, بعد از فعال کردن ارتباط I2C توسط دستورات مربوطه, باید آدرس سخت افزاری را به حافظه ارسال نمایید. بعد باید آی سی که می خواهید از آن بخوانید و یا در آن بنویسید را ارسال نمایید. چون آدرس سک عدد WORD است و دستور I2CWBYTE تنها مقادیر BYTE را می تواند ارسال کند, پس باید مقدار آدرس را به LSB و MSB تبدیل کرده و اول بیت بالا و بعد بیت پایین را ارسال نمایید, پس از آدرس دهی می توانید داده خود را در حافظه نوشته یا بخوانید.

پروژه :

در پروژه زیر می خواهیم عدد 22 را در آدرس H0020& حافظه بنویسیم.

برنامه نوشته شده در محیط BASCOMAVR به زبان بیسیک BASIC

CONFIG SERIALOUT = BUFFERED

CONFIG SDA=PORTD.0

CONFIG SCL = PORTD.1

SET PORTD.7

CONFIG I2CDELAY=1

DIM ADDRESS AS WORD

DIM A1 AS BYTE , A2 AS BYTE

ADDRESS= &H0020

A1=HIGH (ADDRESS)

A1=LOW (ADDRESS)

PORTD.7=0

I2CSTART

I2CWBYTE 160

I2CWBYTE A1

I2CWBYTE A2

I2CWBYTE 22

I2C STOP

WAITMS 10

PORTD.7=1

END

حال برای خواندن از حافظه باید دو مرحله را طی کنید. در مرحله اول باید آدرسی را که می خواهید از آن بخوانید را در حافظه بنویسید. برای این کار تمام مراحل نوشتن در حافظه را انجام دهید. بعد از نوشتن آدرس, می توانید از حافظه بخوانبد. برای این کار اول آدرس سخت افزاری خواندن را ارسال کنید و بعد داده مورد نظر خود را با دستور I2CRBYTE بخوانید. در برنامه زیر خانه حافظه به آدرس H0020& را که قبلا در آن نوشتیم را می خوانیم و در متغیری به نام D قرار می دهیم.

برنامه نوشته شده در محیط BASCOMAVR به زبان بیسیک BASIC

CONFIG SERIALOUT = BUFFERED

CONFIG SDA=PORTD.0

CONFIG SCL = PORTD.1

SET PORTD.7

CONFIG I2CDELAY=1

DIM ADDRESS AS WORD

DIM A1 AS BYTE , A2 AS BYTE , D AS BYTE

ADDRESS= &H0020

A1=HIGH (ADDRESS)

A1=LOW (ADDRESS)

PORTD.7=0

I2CSTART

I2CWBYTE 160

I2CWBYTE A1

I2CWBYTE A2

I2CSTART

I2CWBYTE 160

I2CRBYTE D , NACK

I2C STOP

PORTD.7=1

END

 موسسه خیریه حمایت از کودکان مبتلا به سرطان

کاربر گرامی جهت مشاهده لینک دانلود ابتدا باید وارد سایت شوید، اگر کاربر جدید هستید می توانید در کمتر از یک دقیقه به صورت رایگان عضوء سایت شوید.

 رمز فایل : www.electronics98.com

 حجم فایل : 77 کیلوبایت

 محیط برنامه نویسی : BASCOM-AVR

 برنامه نویسی شده به زبان : BASIC

 دسته اصلی : پروژه های میکروکنترلر AVR

 نویسنده : electronics98

 تاریخ انتشار :

2 دیدگاه

  1. با عرض سلام و خسته نباشیدمن این پروژه رو خریدم،ولی تو این پوشه برنامه بسکام رو ندیدم.فقط سه تا عکس وجود داره…لطفا پیگیری کنین…

  2. سلام دوست عزیز
    لطفا ایمیل خود را چک کنید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مطلب پیشنهادی

Control-And-Measure-Temp-Using-DS18B20-s

ترمومتر و ترموستات بسیار پیشرفته با تراشه DS18B20

ترمومتر و ترموستات بسیار پیشرفته با تراشه DS18B20 در این بخش تیم الکترونیک و برنامه …