Структура микроконтроллера МК-51. Основные функциональные блоки и их назначение

Архитектура однокристальных микроконтроллеров MCS-51, разработанная фирмой Intel, стала дефакто стандартной для этого типа микропроцессоров. Микропроцессоры, имеющие такую архитектуру, с определенными модификациями выпускаются различными фирмами. В нашей стране микроконтроллеры данной архитектуры относятся к семейству МК-51. Все они являются функционально завершенными и содержат на кристалле все необходимые узлы для построения законченной системы управления минимальной конфигурации.

 

Структурная схема МК-51 содержит:

1) арифметико-логический блок (АЛБ), включающий в себя:

1.1) 8-разрядное АЛУ;

1.2) регистр-аккумулятор A и дополнительный регистр-аккумулятор B, использующиеся при выполнении операций умножения и деления;

1.3) битовое АЛУ;

1.4) битовый аккумулятор, находящийся в разряде C слова состояния процессора PSW, который в байтовых арифметических операциях фиксирует сигнал переноса (назначение раз-дов PSW в табл.);

2) ВП прог-м емкостью 4 Кб, в ней могут храниться константы;

3) ВП данных емкостью 128 байт, используемую для организации банков р-ров общего назначения, стека и хранения пользовательских данных; часть этой памяти имеет побитовый доступ;

4) 32 двунаправленных интерфейсных линии, индивидуально настраиваемых на ввод или вывод информации и организованных в виде 4х 8- разрядных портов P0-P3;

5) два 16-разрядных многорежимных таймера/счетчика TC0 и TC1, используемых для организации временных задержек, внешних событий (кол-ва сигналов, поступающих по внешним входам Т0 и Т1) и тактирования последовательного порта;

6) двунаправленный дуплексный асинхронный последовательный порт;

7) двухуровневую приоритетную маскируемую систему прерываний от трех внутренних источников (таймеров/счетчиков и последовательного порта) и двух внешних, поступающих по входам INT0 и INT1;

8) устройство управления (УУ);

9) встроенный тактовый генератор (ТГ), тактирование которого проводится внешним генератором с частотой fBQ; частота машинного цикла составляет fBQ / 12, время выполнения команд МК составляет 1-4 периода машинного цикла.

Формат регистра PSW

Позиция Бит Функция
7 C Перенос в арифм. операциях. Битовый аккумулятор в лог. операциях
6 AC Флаг вспомогательного переноса. Устанавливается и сбрасывается аппаратно при выполнении сложения и вычитания и сигнализирует о переносе или займе в бите 3
5 FO Флаг, специфицируемый пользователем
4 RSI Номер рабочего банка регистров
3 RSO Номер рабочего банка регистров
2 OV Переполнение в арифметических операциях
1 - Не используется
0 P Признак четности числа единиц в аккумуляторе

Организация памяти

Одной из основных особенностей однокристальных микроконтроллеров, отличающих их от других типов микропроцессорных БИС, является так называемая "гарвардская архитектура", при которой память программ и память данных физически и логически отделены друг от друга.

Память данных

Память данных, расположенная на кристалле (внутренняя память данных), имеет емкость 128 байт с адресами 00h-7Fh. Она может быть расширена до 64 Кбайт за счет подключения блоков внешней памяти данных.

Помимо возможности использования ОЗУ в качестве массива оперативной памяти, отдельные ее области имеют самостоятельное значение. Часть ОЗУ применяется в качестве регистров общего назначения, часть имеет прямоадресуемый доступ к отдельным битам, образуя так называемую битовую память. В ОЗУ располагается также и область стека.

Распределение адресного пространства ОЗУ.

Младшие 32 байта внутреннего ОЗУ данных сгруппированы в 4 банка по 8 регистров общего назначения в каждом (БАНК 0-БАНК 3). Определение рабочего в данный момент банка, то есть банка регистров, к которому обращается программа при использовании имен R0-R7, осуществляется установкой битов RS0 и RS1 в регистре слова состояния PSW.

Наличие нескольких банков регистров сокращает длину команд за счет уменьшения длины поля номера регистра, а также уменьшает время, необходимое для сохранения и восстановления регистров при работе с подпрограммами и обработчиками прерываний, что характерно для структуры задач, решаемых микроконтроллерами.

ОЗУ данных с адресами 20h-2Fh образует область ячеек, к которым возможен побитный доступ. Система команд МК-51 содержит значительное количество инструкций, позволяющих работать с отдельными битами, используя при этом прямую адресацию. Таким образом, к ячейке с адресом, например, 21h можно обратиться как к байту, используя ее прямой адрес 21h, а можно обратиться к ее отдельным битам с помощью команд, работающих с битовой информацией. При этом младший бит этого байта имеет адрес 08h, а старший - 0Fh.

Ячейки памяти с адресами 30h-7Fh используются как обычная оперативная память.

Во внутреннем ОЗУ данных размещается также область стека. Ее положение не фиксировано, а определяется значением указателя стека SP.

Адресное пространство внутренней памяти данных с адресами 80h-FFh отведено под указание регистров специальных функций микропроцессора. Область регистров специальных функций содержит регистры-защелки портов ввода-вывода, регистры таймеров/счетчиков, регистры управления и т. п. Эти регистры допускают только прямую адресацию. Все остальные ячейки внутреннего ОЗУ данных могут адресоваться с использованием прямой и косвенной адресации.

К внешней памяти данных можно обращаться только на запись или чтение с помощью специальных команд. Эти команды осуществляют обмен информацией между внешней памятью данных и аккумулятором микроконтроллера и не влияют на внутреннюю память данных МК. Таким образом, в системе могут одновременно присутствовать внутренняя память данных с адресами 00h-0Fh и внешняя память данных с адресами 0000h-FFFFh.

Память программ

В зависимости от модификации, различные типы БИС МК-51 имеют разное распределение внутренней и внешней памяти программ, оставляя неизменной максимально допустимую общую емкость в 64 Кбайт. Память программ адресуется с помощью 16-разрядной адресной шины с использованием счетчика команд (program counter -PC), который вырабатывает 16-разрядные адреса. Она имеет байтовую организацию и доступна только для чтения.

Обращение к внутренней или внешней памяти программ происходит автоматически с применением аппаратных средств МК. При этом в зависимости от состояния управляющего входа DEMA микроконтроллера вся память трактуется либо как только внешняя (при DEMA = 0), либо как внутренняя, занимающая младшие адреса адресного пространства, и внешняя, занимающая адреса от старшего адреса внутренней памяти 8000h до максимально допустимого FFFFh. С точки зрения программиста имеется только один массив памяти программ емкостью 64 Кбайт.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: