Микроконтроллеры AVR имеют раздельные пространства адресов памяти программ и данных (гарвардская архитектура). Организация памяти МК ATMega64 показана на рис. 1.2.
Рис.2. Организация памяти микроконтроллера ATmega64
Высокие характеристики семейства AVR обеспечиваются следующими особенностями архитектуры:
• В качестве памяти программ используется внутренняя флэш-память. Она организована в виде массива 16-разрядных ячеек и может загружаться программатором, либо через порт SPI;
• 16-разрядные память программ и шина команд вместе с одноуровневым конвейером позволяют выполнить большинство инструкций за один такт синхрогенератора (50 нс при частоте FOSC=20 МГц);
• память данных имеет 8-разрядную организацию. Младшие 32 адреса пространства занимают регистры общего назначения, далее следуют 64 адреса регистров ввода-вывода, затем внутреннее ОЗУ данных объемом до 4096 ячеек. Возможно применение внешнего ОЗУ данных объемом до 60 Кбайт;
• внутренняя энергонезависимая память типа EEPROM объемом до 4 Кбайт представляет собой самостоятельную матрицу, обращение к которой осуществляется через специальные регистры ввода-вывода.
Как видно из рис. 1.2 и 1.3, 32 регистра общего назначения (РОН) включены в сквозное адресное пространство ОЗУ данных и занимают младшие адреса. Хотя физически регистры выделены из памяти данных, такая организация обеспечивает гибкость в работе. Регистры общего назначения прямо связаны с АЛУ. Каждый из регистров способен работать как аккумулятор. Большинство команд выполняются за один такт, при этом из регистров файла могут быть выбраны два операнда, выполнена операция и результат возвращен в регистровый файл. Старшие шесть регистров могут использоваться как три 16-разрядных регистра, и выполнять роль, например, указателей при косвенной адресации.
Рис.3. Регистры общего назначения микроконтроллера ATmega64
Следующие 64 адреса за регистрами общего назначения занимают регистры ввода-вывода (регистры управления/состояния и данныхПри использовании команд IN и OUT используются адреса ввода-вывода с $00 по $3F. Но к регистрам ввода-вывода можно обращаться и как к ячейкам внутреннего ОЗУ. При этом к непосредственному адресу ввода-вывода прибавляется $20. Адрес регистра как ячейки ОЗУ приводится далее в круглых скобках. Регистры ввода-вывода с $00 ($20) по $1F ($3F) имеют программно доступные биты. Обращение к ним осуществляется командами SBI и CBI, а проверка состояния - командами SBIS и SBIC. В таблице B1 приведен список регистров ввода-вывода.
Таблица 1. Некоторые регистры ввода-вывода микроконтроллера ATmega64
| Название | Функция |
| PORTG | Регистр данных порта G |
| DDRG | Регистр направления данных порта G |
| PING | Выводы порта G |
| PORTF | Регистр данных порта F |
| DDRF | Регистр направления данных порта F |
| SREG | Регистр состояния |
| SPH | Указатель стека, старший байт |
| SPL | Указатель стека, младший байт |
| TIMSK | Регистр маски прерываний от таймеров/счетчиков |
| TIFR | Регистр флагов прерываний от таймеров/счетчиков |
| MCUCR | Регистр управления микроконтроллером |
| MCUCSR | Регистр управления и состояния микроконтроллера |
| TCCR0 | Регистр управления таймером/счетчиком Т0 |
| TCNT0 | Счетный регистр таймера/счетчика Т0 |
| OCR0 | Регистр совпадения таймера/счетчика Т0 |
| ASSR | Регистр состояния асинхронного режима |
| TCCR1A | Регистр управления А таймера/счетчика Т1 |
| PORTA | Регистр данных порта А |
| DDRA | Регистр направления данных порта А |
| PINA | Выводы порта А |
| PORTB | Регистр данных порта В |
| DDRB | Регистр направления данных порта В |
| PINB | Выводы порта В |
| PORTC | Регистр данных порта С |
| DDRC | Регистр направления данных порта С |
| PINC | Выводы порта С |
| PORTD | Регистр данных порта D |
| DDRD | Регистр направления данных порта D |
| PIND | Выводы порта D |
| SPDR | Регистр данных SPI |
| SPSR | Регистр состояния SPI |
| SPCR | Регистр управления SPI |
| ACSR | Регистр управления и состояния аналогового компаратора |
| ADMUX | Регистр управления мультиплексором АЦП |
| ADCSRA | Регистр управления и состояния АЦП |
| ADCH | Регистр данных АЦП, старший байт |
| ADCL | Регистр данных АЦП, младший байт |
| PORTE | Регистр данных порта Е |
| DDRE | Регистр направления данных порта Е |
| PINE | Выводы порта Е |
| PINF | Выводы порта F |
Другое по теме:
Схемы выпрямления Основные направления экономического и социального развития предусматривают интенсивное развитие автоматизации и роботизации всего народного хозяйства страны, повышение энерговооруженности труда. Решение этих задач непосредственно связано с с ...