تماس با ما

فید خبر خوان

نقشه سایت

بزرگترین سایت مقالات الکترونیک و مطالب مرتبط با الکترونیک


دسته بندی سایت

پیوند ها

آمار بازدید سایت

آمار بازدید

  • بازدید امروز : 97
  • بازدید دیروز : 115
  • بازدید کل : 1413651

استفاده از EEPROM داخلی با Bascom AVR


گاهی اوقات در طراحی سیستم های الکترونیکی نیاز داریم تا مقدار متغییر ها را در یک حافظه دائمی ذخیره کنیم تا در صورت قطع تغذیه اطلاعات از دست نرود. مثلا در سیستم ترموستات حتما نیاز است تا مقدار دمای نرمال که دمای محیط با آن مقایسه می شود همیشه بعد از تنظیم محفوظ بماند تا هر بار بعد از قطع برق نیازی به تنظیم مجدد آن نباشد. برای ذخیره این مقادیر می توان از حافظه های EEPROM داخلی میکروکنترلر نیز استفاده کرد. استفاده از حافظه EEPROM داخلی به جای حافظه های خارجی باعث کاهش هزینه ها می شود.

 

در این پروژه قصد داریم تا با ارئه یک نمونه آموزش نحوه استفاده از حافظه داخلی میکروکنترلر AVR را با استفاده از کامپایلر Bascom AVR آموزش دهیم.

 

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

جهت روشن تر شدن این مسئله، سورس زیر بر روی میکرو کنترلر تست شد:

E1

وضعیت حافظه EEPROM از قرار زیر شد:

E2

چون متغییر مرد نظر از نوع word و با طول ۲ بایت می باشد پس باید حواسمان باشد که در صورت استفاده مجدد از دستور Writeeeprom ، باید اطلاعات را به خانه های غیر از ۰۲ و ۰۳ هدایت کنیم.

 

در صورتی که در آدرس دهی خانه های حافظه اشتباه کنیم اطلاعت ذخیره شده نا معتبر خواهند شد. پیشنهاد ما تغییر روش در استفاده از حافظه EEPROM می باشد. روشی موثر که این بار مدیریت مکان ها ذخیره سازی اطلاعات به صورت اتوماتیک توسط خود کامپایلر انجام می شود و ضریب اطمینان ۱۰۰% دارد.

بهتر است در زمان تعریف یک متغییر از نوع معمولی ( SRAM ) همان متغییر را با یک نام مشابه از جنس EEPROM نیز تعریف شود.

E3

 

با روش بالا، خود کامپایلر اولین جای خالی را برای ذخیره متغییر استفاده میکند و چون این فرایند توسط خود کامپایلر انجام می شود، احتمال خطا صفر می باشد.

 

نکته: توجه داشته باشید که اول برنام تمام متغییر های ذخیره شده در حافظه eeprom باید در متغییر ها معمولی باز نشانده شود.

 

برای درک بهتر این مسئله یک مثال آموزش تهیه شده است که در نرم افزار پروتیوس نیز شبیه سازی شده است. با استفاده از کلید های UP و DOWNE میتوان مقدار متغیر I را کم و زیاد کرد. مقدار این متغیر با ریست کردن میکروکنترلر از بین نمیرود.

 

برنامه این پروژه به روش ساب روتین نوشته شده است و جنبه آموزشی سورس این پروژه شامل نحوه کد نویسی نیز می شود.

جهت مشاهده سورس این پروژه اینجا کلیک کنید.

 

اهداف آموزشی:

. • آشنایی با حافظه EEPROM داخلی میکروکنترلر

. • آشنایی با روش ذخیره کردن و خواندن اطلاعت از حافظه EEPROM داخلی میکروکنترلر AVR

. • آشنایی با روش برنامه نویسی ساب روتین

 

محتویات فایل دانلود:

. • سورس برنامه با کامپایلر Bascom AVR

. • شبیه سازی پروژه با نرم افزار پروتیوس

 

جهت دانلود فایل های این پروژه اینجا کلیک کنید. ( ۷۸KB )

 

تهیه و تنظیم: علیرضا جودی

 

لینک منبع:

http://projects.m32.ir/2508/

  انتشار : ۴ آبان ۱۳۹۴               تعداد بازدید : 2070

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

ایجاد وب سایت یا
فروشگاه حرفه ای رایگان

پرفروش ترین ها

    پر فروش ترین های فورکیا


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


      مطالب تصادفی

      • الگوریتم ضرب کننده Booth و پیاده سازی آن با زبان VHDL
      • پروژه ی رطوبت سنج و دما سنج

      تمام حقوق مادی و معنوی این وب سایت متعلق به "" می باشد