Подсистема памяти микроконтроллера
Цель работы.Изучение принципов построения подсистемы памяти МК. Разработка и отладка обращения к 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 для организации приема/передачи данных. Разработка и отладка управляющих программ приема/передачи данных.