الدورة الجديدة :الفصل التاسع الذاكرات EEPROM و FLASH
الذاكرات EEPROM و FLASHالموجودة بالميكروكونترولر هى مساحات للذاكرة والتى يمكن برمجتها ومسحها كهربائيا , وهى ذاكرات غير متطايرة (غير قابلة للمحو) , أى أنه عند فصل القدرة عن الميكروكونترولر فإن المعلومات لا يتم فقدها . يمكن إعادة برمجة المعلومات 100000 مرة فى حالة ذاكرة FLASH و وما يقارب المليون مرة للذاكرة EEPROM . وبالمثل فإن ضمان الحفاظ على المعلومات يصل إلى 40 سنة بدون توصيل القدرة .
9-1 الذاكرة EEPROM :
الذاكرة EEPROM هى ميكروكونترولر صغير نسبيا لتخزين معلومات المبرمج مثل إعدادات وبيانات المتغيرات التى لا ينبغى فقدها . تختلف سعة الذاكرة من ميكروكونترولر لآخر إعتمادا على نوعه .
تعامل مترجم الميكروسى مع هذه الذاكرة يتم من خلال مكتبة تسمى EEPROM وبها دالتين , لقراءة بيانات محفوظة فى عنوان وكتابة بيانات على عنوان من هذه الذاكرة : وهما :
الدالة : unsigned short EEPROM_Read (unsigned int address): تستخدم هذه الدالة لقراءة وإرجاع البيانات من عنوان محدد بالبارامتر address .
كود:
// for PIC16
unsigned short EEPROM_Read(unsigned short address);
// for PIC18
unsigned short EEPROM_Read(unsigned int address);
unsigned short take;
...
take = EEPROM_Read(0x3F);
الدالة : EEPROM_Write (unsigned int address, unsigned short data) : هذه الدالة تقوم بكتابة البيانات المحددة بالبارمتر dataعلى عنوان محدد بالبارامتر address .
كود:
// for PIC16
void EEPROM_Write(unsigned short address, unsigned short data);
// for PIC18
void EEPROM_Write(unsigned int address, unsigned short data);
EEPROM_Write(0x32, 19);
للفهم الصحيح لعمل هذه المكتبة راقب وحلل كود المصدر للبرنامج التالى :