دسته‌بندی نشده

آموزش BASCOM AVR – بسکام – جلسه دهم

خیلی خب 🌟
حالا می‌ریم سراغ جلسه دهم و این بار هم مفصل و کامل می‌نویسم تا شبیه یک فصل آموزشی باشه.


📘 آموزش BASCOM AVR – بسکام – جلسه دهم

 

حافظه EEPROM


۱. مقدمه

تا اینجا یاد گرفتیم داده‌ها را در RAM ذخیره کنیم یا روی LCD نمایش دهیم. اما مشکل RAM این است که با قطع برق همه داده‌ها پاک می‌شوند. برای ذخیره اطلاعات دائمی مثل رمز عبور، شماره تلفن یا تنظیمات دستگاه باید از EEPROM استفاده کنیم.

EEPROM مخفف Electrically Erasable Programmable Read-Only Memory است. این حافظه داخل میکروکنترلر قرار دارد و داده‌ها حتی بعد از قطع برق باقی می‌مانند.


۲. ویژگی‌های EEPROM

  • ظرفیت معمولی در ATmega32: ۱ کیلوبایت.
  • داده‌ها به صورت بایت ذخیره می‌شوند.
  • سرعت نوشتن کندتر از RAM است.
  • تعداد دفعات نوشتن محدود (حدود ۱۰۰ هزار بار).
  • مناسب برای ذخیره تنظیمات و داده‌های مهم.

۳. دستورات EEPROM در BASCOM

  • Writeeeprom Value , Address → نوشتن مقدار در آدرس مشخص.
  • Readeeprom Variable , Address → خواندن مقدار از آدرس مشخص.
  • Eraseeeprom → پاک کردن کل حافظه EEPROM.

۴. کدنویسی در BASCOM

مثال: ذخیره و خواندن داده

' پروژه ذخیره داده در EEPROM
$regfile = "m32def.dat"
$crystal = 1000000

Dim A As Byte

Writeeeprom 123 , 10         ' ذخیره عدد 123 در آدرس 10
Readeeprom A , 10            ' خواندن عدد از آدرس 10

Do
   Locate 1 , 1
   Lcd "Value=" ; A
Loop
End

توضیح: عدد 123 در آدرس 10 ذخیره می‌شود و سپس خوانده شده و روی LCD نمایش داده می‌شود.


۵. پروژه عملی: ذخیره رمز عبور

کد:

Dim Pass As String * 4
Dim InputPass As String * 4

' ذخیره رمز عبور پیش‌فرض
Writeeeprom "1234" , 0

' خواندن رمز عبور
Readeeprom Pass , 0

Do
   InputPass = ""
   InputPass = "1234"        ' فرضاً از کی‌پد خوانده شده
   If InputPass = Pass Then
      Lcd "Access OK"
   Else
      Lcd "Denied"
   End If
Loop
End

توضیح: رمز عبور “1234” در EEPROM ذخیره می‌شود. سپس کاربر رمز وارد می‌کند و برنامه بررسی می‌کند درست است یا نه.


۶. پروژه عملی: ذخیره تنظیمات

فرض کنید می‌خواهیم شدت نور LED را ذخیره کنیم تا بعد از قطع برق دوباره همان مقدار تنظیم شود.

کد:

Dim Bright As Byte

' خواندن مقدار ذخیره‌شده
Readeeprom Bright , 5

Do
   Pwm1a = Bright
   Wait 1
   ' فرضاً کاربر مقدار جدید وارد کند
   Bright = 200
   Writeeeprom Bright , 5
Loop
End

توضیح: مقدار Bright از EEPROM خوانده می‌شود و برای PWM استفاده می‌شود. اگر کاربر مقدار جدید وارد کند، در EEPROM ذخیره می‌شود.


۷. نکات عملی

  • همیشه قبل از نوشتن در EEPROM بررسی کنید که مقدار تغییر کرده باشد؛ چون تعداد دفعات نوشتن محدود است.
  • برای ذخیره رشته‌ها (String) باید آدرس‌های متوالی استفاده کنید.
  • اگر داده‌های زیادی دارید، بهتر است یک جدول آدرس طراحی کنید.

۸. تمرین‌ها

  1. برنامه‌ای بنویسید که یک عدد را از کاربر بگیرد و در EEPROM ذخیره کند.
  2. برنامه‌ای بسازید که رمز عبور را ذخیره کند و بعد از قطع برق همچنان معتبر باشد.
  3. یک تنظیمات ساده (مثل شدت نور LED) ذخیره کنید و بعد از روشن شدن دوباره همان مقدار اعمال شود.

نتیجه جلسه دهم

در این جلسه یاد گرفتیم:

  • حافظه EEPROM چیست و چه کاربردی دارد.
  • دستورات نوشتن و خواندن داده در BASCOM.
  • پروژه‌های عملی ذخیره رمز عبور و تنظیمات.

🔹 جلسه یازدهم: کار با سنسورهای آنالوگ (ADC) و ساخت دماسنج دیجیتال.

دیدگاهتان را بنویسید

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