Evgenii Legotckoi
Evgenii LegotckoiAug. 3, 2015, 9:30 p.m.

EEPROM in microcontrollers AVR Atmega

Microcontrollers AVR Atmega48 / 88/168/328 contain the EEPROM memory of 256/512/512 / 1K bytes , respectively. EEPROM in AVR microcontrollers can support up to 100,000 write cycles. Access to non-volatile memory is carried out through three types of registers:

  • EEARH, EEARL - registers the addressing of memory cells. In case Atmega48 EEARH absent, because in this type of microcontroller 256 is present in all memory cells. EEARH responsible for the high byte of memory address, EEARL for the least significant byte;
  • EEDR - register for writing and reading data;
  • EECR - register control, this register is setting the actions to be performed with the memory.

A detailed description of EEPROM registers

EEARH and EEARL - registers EEPROM cell address

Bits from 9 to 15 are reserved and always read with the value zero.

Bits from 0 to 8 are used to indicate non EEPROM memory cell to which the treatment will be.

EEDR - EEPROM data register

Bits from 2 to 7 - which is written bits in the information to be recorded in EEPROM or read from it.

Bits from 6 to 7 - bits are reserved

Bits from 4 to 5 - EEPM1 and EEPM0 - EEPROM used to set the operation mode.

  • EEPM1 = 0, EEPM0 = 0 - An atomic operation is the removal and recording of data (duration 3.4 ms)
  • EEPM1 = 0, EEPM0 = 1 - Only the deletion of data (duration 1.8 ms)
  • EEPM1 = 1, EEPM0 = 0 - Data Entry Only (duration 1.8 ms)
  • EEPM1 = 1, EEPM0 = 1 - Reserved for future use

Bit 3 - EERIE - this bit is used to enable interrupts, in case if you are allowed to interrupt the firmware of your controller.

Bit 2 - EEMPE - protection bit of the recording. Delays process of writing data to the EEPROM on the four cycles to EEPROM had time to prepare for the recording of data.

Bit 1 - EEPE - write bit start, exhibited to start recording, cleared to zero in hardware, at a time when the recording is completed. Therefore, it may be used to control the data recording process in EEPROM.

Bit 0 - WERE - bit start reading. exhibit for reading from EEPROM launch.

Read and write operations

Atmega EEPROM in a very slow interface, which requires up to 4 ms to perform write operations. Therefore it is very important to check that the previous write operation is completed successfully.

;======= EEPROM write procedure in ======================================================
 EEWrite: 
    sbic EECR,EEPE          ; We expect that over the previous write operation.
    rjmp EEWrite            ; Out of the loop as long as the flag is cleared EEPE
    cli                     ; Then we put out a ban on interrupting.
    out EEARL,r16           ; Set the address of the cell to which we refer
    out EEDR,r17            ; as well as write data to the register information,
                            ; that will keep
    sbi EECR,EEMPE          ; set protection on record
    sbi EECR,EEPE           ; set the write flag
    sei                     ; then allow interrupt
    ret                     ; and return from the subroutine.
 ;======= The procedure of reading from the EEPROM ======================================
 EERead: 
    sbic EECR,EEPE          ; We expect that over the previous write operation. 
    rjmp EERead 
    out  EEARL, r16         ; Set the address of the cell to which we refer
    sbi  EECR,EERE          ; Start reading setting for reading the flag
    in   r17, EEDR          ; Return the reading result in the desired register
    ret 
 ;=======================================================================================
We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

Comments

Only authorized users can post comments.
Please, Log in or Sign up
OI

C++ - Test 001. The first program and data types

  • Result:40points,
  • Rating points-8
AD

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:50points,
  • Rating points-4
m

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:80points,
  • Rating points4
Last comments
ИМ
Игорь МаксимовNov. 22, 2024, 7:51 p.m.
Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii LegotckoiOct. 31, 2024, 9:37 p.m.
Django - Lesson 064. How to write a Python Markdown extension Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZEOct. 19, 2024, 3:19 p.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь МаксимовOct. 5, 2024, 2:51 p.m.
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas5July 5, 2024, 6:02 p.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Now discuss on the forum
AW
Ayden WatkinsJan. 2, 2025, 8:09 a.m.
Why Paying for a Research Paper Can Be a Smart Choice Writing a research paper can be a daunting task, especially when faced with tight deadlines, complex topics, or a lack of resources. For many students, paying for a research paper is a practical…
p
pimacontrols85Dec. 31, 2024, 5:39 p.m.
Finding the Right Rittal Small Enclosure for Your Needs Rittal is a leading manufacturer of enclosures for industrial and IT applications. Their small enclosures offer a compact and reliable solution for a wide range of needs, from housing electronic…
Donald Randolph
Donald RandolphDec. 30, 2024, 10:59 a.m.
Personal Injury lawyer Santa Monica As an experienced Santa Monica personal injury lawyer, Donald C. Randolph has recovered over $100 Million in verdicts and settlements for our clients. In severe injury cases, this compensation i…
Nirvana Yoga School
Nirvana Yoga SchoolDec. 30, 2024, 1:13 p.m.
OAuth2.0 через VK, получение email Nirvana Yoga School is one of the most trusted and reputed traditional Rishikesh yoga courses , India certified by Yoga Alliance, USA. We aim to spread traditional yoga teachings so t…
s
sriparkDec. 30, 2024, 12:47 p.m.
Mobile app development company in Chennai A Mobile app development company in Chennai focuses on creating personalized mobile applications to meet various business requirements. These companies offer a full range of services,…

Follow us in social networks