Подсистема памяти микроконтроллера

Цель работы.Изучение принципов построения подсистемы памяти МК. Разработка и отладка обращения к EEPROM.

Краткие теоретические сведения

EEPROM память данных. EEPROM память данных организована как отдельное пространство данных с возможность считывания и записи отдельного байта. EEPROM обеспечивает 100000 циклов стирания/записи. Взаимодействие между EEPROM и CPU определяется регистром адреса EEARH_L, регистром данных EEDR и регистром управления EECR.

Назначение битов регистра управления:

· D7-D4 – зарезервированны.

· D3-EERIE – разрешение прерывания по готовности EEPROM.

· D2-EEMWE – управление записью в EEPROM, при установленном бите и бите EEWE производится запись байта данных из регистра данных в EEPROM по адресу хранящемуся в регистрах адреса.

· D1-EEWE – разрешение записи EEPROM, процесс записи выполняется следующим образом:

1. Подождать, пока EEWE не сброситься.

2. Записать новый адрес в EEARH_L.

3. Записать данные в регистр данных EEDR.

4. Установить EEMWE в «1»

5. В течение 4 тактовых циклов после установки EEMWE установить в единичное состояние EEWE.

· D0-EERE – разрешение чтения. сигнал является командой чтения данных из ячейки памяти, адрес которой находится в регистрах адреса. Подробно см. раздел 2.4.

Пример программ обращения к EEPROM.

;подпрограмма записи данных в EEPROM

EEPROM_write:

cli

;ожидание завершение предыдущей записи

EE_W:

sbic EECR,EEWE

rjmp EE_W

;запись адреса в (r27:r26)

out EEARH, XH

out EEARL, XL

;запись данных (r16) в регистр данных

out EEDR, r16

;установка бита EECR регистра EEMPE в 1

sbi EECR,EEMWE

;инициализация записи в EEPROM

sbi EECR,EEWE

sei

ret

;подпрограмма чтения данных из EEPROM

EEPROM_read:

cli

;ожидание завершение предыдущей записи

EE_r:

sbic EECR,EEWE

rjmp EE_r

;запись адреса в (r27:r26)

out EEARH, XH

out EEARL, XL

;инициализация чтения EEPROM установкой EERE

sbi EECR,EERE

;чтение данных с регистра данных

in temp,EEDR

sei

ret

Индивидуальные задания к выполнению

Лабораторной работе №7

Разработать программу (варианты)

1. считывания данных из EEPROM и записи их в PA.

2. считывания данных из порта C и записи в EEPROM.

3. перемещения данных из EEPROM в ОЗУ.

4. перемещения данных из ОЗУ в EEPROM.

5. перестановки массива из 10 чисел, расположенных в EEPROM.

6. записи трех двухбайтовых чисел из портов А и В в EEPROM.

7. преобразования аналогового сигнала в код с сохранением результата в EEPROM по сигналу «Запрос прерывания» от АЦП.

8. определения суммы 2-х байтовых чисел, расположенных в различных областях EEPROM. Результат сохранить вместо первого операнда.

9. определения разности 2-х байтовых чисел, расположенных в различных областях EEPROM. Результат сохранить вместо первого операнда.

10. использования EEPROM и порта С для формирования временных диаграмм заданного вида (см. табл. ххх).

Контрольные вопросы к лабораторной работе №7

1. Назначение блока памяти EEPROM и основные параметры EEPROM.

2. Что означает «единое адресное пространство памяти» МК?

3. Формат регистра управления ECR и назначение битов регистра управления.

4. Как определить сегмент данных в EEPROM?

5. Как резервировать ячейки в EEPROM для хранения байтов или слов?

6. Приведите и прокомментируйте подпрограмму записи данных в EEPROM.

7. Приведите и прокомментируйте подпрограмму чтения данных из EEPROM.

8. Вектор прерывания от EEPROM. Назначение и пример использования.

9. Методы программирования памяти микроконтроллера.

Лабораторная работа №8

Последовательный двухпроводной интерфейс I2C (TWI)

Цель работы.Изучение принципа работы I2C. Получение навыков использования I2C для организации приема/передачи данных. Разработка и отладка управляющих программ приема/передачи данных.

Наши рекомендации