Таблица 1.2
Параметры структуры рис.1.1 для моделей микроконтроллеров Z8
Модель | Узлы | Выводы | |||||
T0 | T1 | SPI | Управление | Порт P076543210 | Порт P1 | Порт P376543210 | |
02 | - | * | - | - | *** | - | *** |
03 | - | * | - | - | - | - | ****** |
04 | * | * | - | - | *** | - | *** |
06 | * | * | * | - | - | - | ****** |
08 | * | * | - | - | *** | - | *** |
31 | * | * | - | - | ******** | - | ******** |
30 | * | * | - | - | ******** | - | ******** |
40 | * | * | - | * | ******** | * | ******** |
Устройство ввода/вывода МК представлено 4 программируемыми портами. Кроме того, на кристалле МК выполнен ряд периферийных устройств: 1- таймера/счетчика, устройство управления прерываниями, 2 аналоговых компаратора и последовательный интерфейс SPI (Serial Peripheral Interface). Назначение выводов микроконтроллера понятно из рис.1 за исключением выводов узла синхронизации и управления, функции которых пояснены ниже:
XTAL -выводы для подключения кварцевого или керамического резонатора, LC- или RC-цепи;
/AS -выход строба адреса (Address Strobe);
/DS -выход строба данных (Data Strobe);
R//W -сигнал "Чтение//Запись"(Read//Write);
/RESET- вход сброса.
Примечание. Здесь и далее для сигналов с низким активным уровнем используются два эквивалентных обозначения, например:
__
AS или /AS.
Физическое наличие определенных узлов и выводов в разных моделях МК отмечено в табл.1.2 знаком "*".
1.2.2. Адресное пространство микроконтроллеров
Адресное пространство МК состоит из адресного пространства регистрового файла и адресного пространства памяти. В адресное пространство регистрового файла включены периферийные регистры, управляющие регистры, порты ввода/вывода и регистры общего назначения (РОН). Последние образуют ОЗУ МК. Адресное пространство памяти образовано ячейками внутренней и внешней памяти программ для хранения программного кода и констант, а также ячейками внешней памяти данных для хранения данных и размещения стека.
1.2.2.1. Адресное пространство регистрового файла
Регистровый файл состоит из стандартного регистрового файла (СРФ), имеющегося во всех моделях МК, и расширенного регистрового файла (РРФ), частично используемого в некоторых моделях МК для управления дополнительными функциями.
Структура регистрового файла показана на рис 1.2.
СРФ состоит из 256 восьмибитных регистров с шестнадцатеричными адресами от 00H до FFH (здесь и далее H -суффикс шестнадцатеричной системы счисления). Адресное пространство СРФ разделено на 16 рабочих групп регистров по 16 регистров в каждой. Рабочая группа 0 содержит регистры с адресами от 00H до 0FH, группа 1 -регистры с адресами от 10H до 1FH и т.д. Следовательно, правомерно считать, что первая шестнадцатеричная цифра адреса соответствует номеру рабочей группы регистров, а вторая -номеру регистра. На рис.1.2 выделены рабочие группы регистров СРФ с указанием адреса нулевого регистра каждой группы в шестнадцатеричной системе счисления.
Рабочая группа регистров 0 -особая, она может замещаться группами регистров из РРФ. РРФ содержит 16 расширенных групп регистров по 16 регистров в каждой. На рис.1.2 указаны номера расширенных регистровых групп. Следует отметить, что рабочая группа 0 СРФ совпадает с расширенной группой 0 РРФ.
Специальный регистр RP (Register Pointer -Указатель регистров), размещенный в СРФ по адресу FDH (253), содержит два четырехбитных указателя, определяющие текущие номера рабочей (старшая тетрада) и расширенной (младшая тетрада) регистровых групп. Перезагрузкой регистра RP можно оперативно изменять выбранные группы регистров. Старшая цифра указанного в команде загрузки шестнадцатеричного числа будет определять номер рабочей группы, а младшая -номер расширенной группы регистров.
Доступ к регистрам может осуществляться как с помощью полного восьмибитного адреса, так и с помощью короткого четырехбитного адреса. В последнем случае адрес определяет номер регистра в текущей рабочей группе. Если текущая рабочая группа -0, то будет выбран соответствующий регистр из текущей расширенной группы. В случае использования восьмибитного адреса 0XH (где X -любая шестнадцатеричная цифра) выбирается регистр X текущей расширенной регистровой группы, а адреса 1XH -FXH соответствуют регистрам СРФ. В последнем случае исключение составляет рабочая группа регистров E (адреса E0H -EFH), к которой нельзя обращаться с помощью восьмибитного адреса, т.к. байтовый формат EXH зарезервирован разработчиками МК для команд с укороченным адресом.
Разные модели МК имеют разные наборы физически доступных регистровых групп. Для СРФ эти наборы показаны на рис.1.2 столбиковой диаграммой. Расширенная группа регистров 0 (она же -рабочая группа регистров 0) имеется во всех моделях МК. Расширенная группа регистров C имеется только в модели 06, а расширенная группа регистров F имеется в моделях 03,06,30,31,40. Незадействованные регистры расширенных групп 1 -F зарезервированы разработчиками МК для дальнейших применений.
Рис. 1.2 Структура регистрового файла
Часть регистров СРФ имеет специальное назначение (управляющие и периферийные регистры), остальная часть -регистры общего назначения -РОН (General Purpose Register -GPR). Последние и образуют оперативное запоминающее устройство (ОЗУ) МК. Регистры специального назначения сосредоточены в рабочей группе F и в расширенной/рабочей группе 0. Все задействованные регистры расширенных групп имеют специальное назначение. На рис. 1.2 справа показаны все регистры специального назначения. Для каждого регистра указаны шестнадцатеричный адрес и идентификатор, представляющий аббревиатуру назначения регистра. В табл. 1.3 приведен полный перечень этих регистров с указанием идентификатора, назначения на английском и русском языках и характера операций доступа (R -чтение, W -запись).
Таблица 1.3
Регистры специального назначения
Идентификатор | Назначение | Доступ | |
Английский | Русский | ||
SPL | Stack Pointer Low Byte | Указатель стека - мл. байт | R/W |
SPH | Stack Pointer High Byte | Указатель стека - ст. байт | R/W |
RP | Register Pointer | Указатель регистров | R/W |
FLAGS | Program Control Flags | Регистр флагов | R/W |
IMR | Interrupt Mask Register | Регистр маски прерываний | R/W |
IRQ | Interrupt Request Register | Регистр запросов прерываний | R/W |
IRP | Interrupt Priority Register | Регистр приоритета прерываний | W |
P01M | Port 0-1 Mode Register | Регистр режима портов 0-1 | W |
P3M | Port 3 Mode Register | Регистр режима порта 3 | W |
P2M | Port 2 Mode Register | Регистр режима порта 2 | W |
PRE0 | TO Prescaler | Предделитель ТО | W |
TO | Timer/Counter TO | Таймер/Счетчик ТО | R/W |
PRE1 | T1 Prescaler | Предделитель Т1 | W |
T1 | Timer/Counter T1 | Таймер/Счетчик Т1 | R/W |
TMR | Timer Mode Register | Регистр режимов таймеров | R/W |
WDTMR | Watch Dog Timer Mode Register | Регистр режима сторожевого таймера | W |
SMR | Stop-Mode Recovery Register | Регистр управления восстановлением из режима STOP | W* |
PCON | Port Control Register | Регистр управления портами | W |
SCON | SPI Control Register | Регистр управления последовательным интерфейсом | R/W |
RxBUF | SPI Receive Buffer | Приемный буфер последовательного интерфейса | R/W |
SCOMP | SPI Compare Register | Регистр сравнения последовательного интерфейса | R/W |
P3 | Port 3 | Порт 3 | R/W |
P2 | Port 2 | Порт 2 | R/W |
P1 | Port 1 | Порт 1 | R/W |
P0 | Port 0 | Порт 0 | R/W |
* Бит 7 регистра SMR - только для чтения.
Наборы регистров специального назначения для разных моделей МК приведены в табл.1.4.
Таблица 1.4
Наборы регистров специального назначения
Имя Регистра | Модель МК | |||||||
02 | 03 | 04 | 06 | 08 | 31 | 30 | 40 | |
SPL | + | + | + | + | + | + | + | + |
SPH | * | * | * | * | * | * | * | + |
RP | + | + | + | + | + | + | + | + |
FLAGS | + | + | + | + | + | + | + | + |
IMR | + | + | + | + | + | + | + | + |
IRQ | + | + | + | + | + | + | + | + |
IPR | + | + | + | + | + | + | + | + |
P01M | + | + | + | + | + | + | + | + |
P3M | + | + | + | + | + | + | + | + |
P2M | + | + | + | + | + | + | + | + |
PRE0 | - | - | + | + | + | + | + | + |
T0 | - | - | + | + | + | + | + | + |
PRE1 | + | + | + | + | + | + | + | + |
T1 | + | + | + | + | + | + | + | + |
TMR | + | + | + | + | + | + | + | + |
WDTMR | - | + | - | + | - | + | + | + |
SMR | - | + | - | + | - | + | + | + |
PCON | - | + | - | + | - | + | + | + |
SCON | - | - | - | + | - | - | - | - |
RxBUF | - | - | - | + | - | - | - | - |
SCOMP | - | - | - | + | - | - | - | - |
P3 | + | + | + | + | + | + | + | + |
P2 | + | + | + | + | + | + | + | + |
P1 | - | - | - | - | - | - | - | + |
P0 | + | - | + | - | + | + | + | + |
Примечания:1.Наличие регистра отмечено знаком "+".
2.Регистр SPH во всех моделях, кроме 40, используется как