Чтение и запись данных в EEPROM

Views: 1737


Версия для 8 битных микроконтроллеров 18 серии где EEPROM более 256 байт например, PIC18F26K80.

Чтение данных из EEPROM

//чтение данных из EEPROM
unsigned char read_eeprom (unsigned int adres)
{
    EEADRH = adres>>8;      // загрузка адреса
    EEADR  = adres;         //
    EECON1bits.EEPGD=0;     // выбор чтения из еепром
    EECON1bits.CFGS=0;      //
    EECON1bits.RD=1;        // чтение байта данных
    NOP ();
    return EEDATA;          // возврат значения
}

 

Запись данных в EEPROM

//запись данных в EEPROM
void write_eeprom (unsigned int adres, unsigned char data)
{
    EEADRH = adres>>8;      // загрузка адреса
    EEADR  = adres;

    EEDATA = data;          // загрузка данных

    EECON1bits.EEPGD=0;     // выбор записи в еепром
    EECON1bits.CFGS=0;
    EECON1bits.WREN=1;      // разрешить запись в еепром
    INTCONbits.GIE=0;       // запретить прерывания
    EECON2 = 0x55;          // код разрешения записи
    EECON2 = 0xAA;          //

    EECON1bits.WR = 1;      //начать запись
    while(EECON1bits.WR);   // дождаться окончания
    INTCONbits.GIE=1;       // разрешить прерывания

    EECON1bits.WREN=0;      // запретить запись
}

 



Это может быть интересно


  • USB K-L-line адаптерUSB K-L-line адаптер
    Views: 4752 USB K-L-line адаптер предназначен для связи персонального компьютера с диагностической шиной автомобиля – интерфейс ISO-9141. Этот проект предназначен для сборки недорого устройства с использованием специально для этой цели …
  • Development board based on MCU PIC18F47Q84Development board based on MCU PIC18F47Q84
    Views: 2698 PIC18F47Q84 Microcontroller Family with CAN Flexible Data Status: In Production.
  • HVLD модуль на примере PIC24FJ128GA204HVLD модуль на примере PIC24FJ128GA204
    Views: 822 HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что …
  • MTouch® Модуль Емкостной Библиотеки для MPLAB®X Code Configurator (MCC)MTouch® Модуль Емкостной Библиотеки для MPLAB®X Code Configurator (MCC)
    Views: 1398 Введение MTouch ® Модуль Емкостной Библиотеки для MPLAB ® X Code Configurator (MCC) позволяет быстро и легко генерировать решение кода на  Cи для емкостной сенсорной кнопки, датчика приближения и слайдера.
  • Development Boards PIC18F47Q84Development Boards PIC18F47Q84
    Views: 7964 Microchip тішить новими мікроконтролерами. Особливістю цього MCU – це багата інтелектуальна периферія, що дозволяє вирішувати такі завдання на 8 бітних MCU, які неможливо реалізувати на деяких навіть 32 …
  • Цифровой спидометр для автомобиляЦифровой спидометр для автомобиля
    Views: 10303  Универсальность печатной платы ch-c0030pcb позволяет создавать на её основе разнообразные устройства. Одним из таких устройств является электронный спидометр для автомобиля, в котором можно задать два компаратора скорости, например,  для …
  • Trimax – кодирование и декодирование ИК-командTrimax – кодирование и декодирование ИК-команд
    Views: 2458 Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся …
  • Бегущие огни на WS2812BБегущие огни на WS2812B
    Views: 5026 В настоящее время большой популярностью стали пользоваться светодиоды со встроенным драйвером WS2812B. Текущий проект предназначен показать возможность использования и управления этими светодиодами. Это и проект и исследование по …
  • Проект с использованием MCC часть 14Проект с использованием MCC часть 14
    Views: 1047 С выводом данных на дисплей мы справились (но могу сразу сказать библиотеку графики к этой статьи пришлось доработать, поэтому в этом проекте она обновлена). У нас на текущем …
  • Проект с использованием MCC часть 11Проект с использованием MCC часть 11
    Views: 998 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …



Поделись этим!