Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора на печать.docx
Скачиваний:
26
Добавлен:
16.12.2018
Размер:
2.47 Mб
Скачать

47. Организация адресного пространства микроконтроллеров avr, способы адресации памяти программ и памяти данных.

Организация адресного пространства.

Организация памяти МК AVR выполнена по Гарвардской архитектуре.

Память программ предназначена для хранения команд, управляющих функционированием МК. В памяти программ также хранятся различные константы, не меняющиеся во время работы программы. Память программ представляет собой электрически стираемое ППЗУ (FLASH-ПЗУ). Для адресации используется счетчик команд.

Память данных разделена на три части: регистровая память, оперативная память (статическое ОЗУ) и энергонезависимое EEPROM. Регистровая память включает в себя 32 РОНа (32 байта) и служебные регистры ВВ (64 байта). В области регистров ВВ расположены различные служебные регистры (регистр указатель стека, регистр состояния и др.), а также регистры управления ПУ, входящими в состав МК. Для хранения переменных программ вместе с регистрами также может использоваться статическое ОЗУ. Есть возможность подключения внешнего статического ОЗУ объемом до 64 Кбайт. Для хранения данных, которые могут изменяться в процессе настройки и функционирования готовой системы (калибровочные константы, серийные номера, ключи и т. п.), может быть использована EEPROM. Эта память расположена в отдельном адресном пространстве, а доступ к ней осуществляется с помощью определенных РВВ.

Использование внешнего ОЗУ.

Для подключения внешнего ОЗУ используются следующие выводы МК:

- порт А (RA0..RA7) – мультиплексированная шина адреса (младшие 8 разрядов)/шина данных;

- порт С (RC0..RC7) – шина адреса (старшие 8 разрядов);

- ALE – сигнал строба адреса, RD (RC7) – сигнал строба чтения и WR (RC6) – сигнал строба записи.

При обращении по адресу, который находится вне границы внутреннего ОЗУ, автоматически происходит обращение к внешнему ОЗУ. После формирования на выводах порта А требуемого адреса вывод ALE меняет свое состояние с лог. «1» на лог. «0» и остается в этом состоянии в течении всего цикла чтения/записи.

Способы адресации в AVR

  1. Прямая регистровая (адресация одного или двух регистров общего назначения)

  2. 2. Прямая адресация к памяти ВВ

  1. 3. Прямая адресация к ОЗУ (SRAM)

  2. 4. Косвенная адресация со смещением (слева от SRAM)

  3. 5. Косвенная регистровая адресация (справа от SRAM)

  1. 6-7. Косвенная с преддекрементом или с постинкрементом

  2. 8. Обращение к памяти программ. Команды LPM [R0] – чтение из памяти, SPM [R1,R0] – запись в память

  1. 9. Косвенная адресация к памяти программ использую команды IJMP, RCALL

  2. 11. Непосредственная адресация. В команде задаётся адрес с помощью LDI.

  3. 10. Косвенная относительная адресация к памяти программ RJMP, RCALL