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

حافظه های جانبی EEPROM سریال

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

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

آی سی حافظه AT24C

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

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

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

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

معرفی چند نمونه آی سی حافظه سریال به همراه مقدار فضای حافظه

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

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

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

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

شرح پروژه و برنامه آن به زبان بیسیک BASIC

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

برنامه نوشته شده در نرم افزار BASCOM-AVR جهت نوشتن در حافظه

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

برنامه نوشته شده در نرم افزار BASCOM-AVR جهت خواندن از حافظه

 اطلاعات پروژه

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

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

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

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

 نویسنده : فرهاد اکبری

 تاریخ انتشار : 2 سپتامبر 2014

12 دیدگاه

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

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

  3. سلام برنامتون مشکل داره عمل نمیکنه
    لطف کنین درستش کنید
    توی لینک چندتا عکس فقط
    کاش فایل بیسیک و پروتئوسشم بزارین

  4. سلام دوست عزیز
    در این برنامه فقط اساس اتصال به حافظه های جانبی EEprom شرح داده شده که شما بتوانید از آن در پروژه های خود استفاده کنید.

  5. با سلام و خسته نباشید به شما عزیزان

    درون فایل دانلودی هیچگونه محتوایی در خصوص کامپایلر بسکام موجود نیست !!

  6. سلام دوست عزیز
    برنامه هر یک از مثال ها، کدها در توضیحات پروژه درج شده است، برای استفاده از آن، تنها لازم است کدها را در کامپایلر Bascom-AVR کپی کنید و در ابتدا برنامه میکروکنترلر مورد استفاده خود را معرفی نمایید.

  7. ممنون از سایت خوبتون

  8. سلام
    کاری که این شبیه سازی انجام میدهد دقیقا چیست؟؟
    چطور میتوان خروجی های آن را نمایش داد؟؟
    باتشکر

  9. سلام دوست عزیز
    در این آموزش یاد می گیریم چگونه یک حافظه جانبی را به میکروکنترلر متصل و پیکربندی کنیم. همچنین برای نمونه یک داده در یک آدرس دلخواه از تراشه حافظه می نویسیم و سپس آنرا می خوانیم. پس از یادگیری این آموزش شما می توانید در پروژه های خود متغیرها و داده های مورد نیازتان را در یک تراشه EEPROM ذخیره کنید و یا داده های ذخیره شده را بخوانید.

  10. سلام
    من الان این شبیه سازی رو توی پروتئوس انجام دادم به مشکل برخوردم
    الان من کد hex برنامه مربوط به خواندن رو توی atmega32 قرار دادم الان پس یعنی rom ما نوشته شدش درسته؟؟
    حالا برای خواندن از rom و نمایش عدد 22 روی نمایشگر باید چیکار کردش؟؟
    و ابنکه میشه با استفاده از keypad عدد را نوشت در حافظه و روی 7segment نمایش داد خواهش میکنم راهنمایی بفرمایید خیلی ضروری
    اگه توضیحات تکمیلی لازم داره بهم ایمیل کنید

  11. سلام روز بخیر
    بنده مطالب شما رو در مورد اتصال حافظه های جانبی سری AT24C رو خوندم و با اطمینان از اینکه برنامه پیشنهادی شما به زبان بسکام صددرصد جواب میده, تعداد ۵۰ عدد از یکی از مدلهای همین آی سی حافظه رو خریدم
    اما متاسفانه الان هر کاری میکنم جواب نمیگیرم
    عین برنامه پیشنهادی شمارو جایگزین کردم, اما بی فایده س
    در قسمتی از برنامه شما a1= high (address) و مجددا نوشته شده a1=low(address)
    ممنون میشم اگه جواب بدید

  12. با سلام و احترام
    این مطلب صرفا یک پست آموزشی است که در آن دستورات ابتدایی برای اتصال به حافظه EEPROM خارجی از طریق ارتباط I2C معرفی شده است. همچنین در کدهای درج شده در قمست A1=LOW (ADDRESS) اشتباه تایپی رخ داده است و منظور A2=LOW (ADDRESS) می باشد.

 شرایط و قوانین ثبت دیدگاه

 فارسی بنویسید و از کیبورد فارسی استفاده کنید.

 لطفاً بیش‌از‌حدِ معمول، شکلک یا ایموجی استفاده نکنید و از کشیدن حروف یا کلمات با صفحه‌کلید بپرهیزید.

 به کاربران و سایر اشخاص احترام بگذارید. پیام‌هایی که شامل محتوای توهین‌آمیز و کلمات نامناسب باشند، حذف می‌شوند.

 از ارسال لینک‌های سایت‌های دیگر و ارایه‌ی اطلاعات شخصی خودتان مثل شماره تماس، ایمیل و آی‌دی شبکه‌های اجتماعی پرهیز کنید.