top of page

MCS 51

 

История создания

 

Семейство 8-разрядных однокристальных микроконтроллеров MCS-51 появилось на мировом рынке в начале восьмидесятых годов. Первые модификации кристаллов (около 7) были выполнены по высококачественной n-МОП (HMOS) технологии и являлись функционально завершенными однокристальными микроЭВМ гарвардской архитектуры, один из основных принципов которой состоит в логическом разделении адресных пространств памяти программ и данных. С развитием полупроводниковой технологии последующие версии микросхем MCS-51 стали изготавливать по более совершенной и низкопотребляющей КМОП (CHMOS) технологии (в активном режиме потребление кристаллов было доведено до 10ž50 мА). 

 

Система команд

 

Система команд семейства MCS-51 содержит 111 базовых команд, которые по функциональному признаку можно подразделить на пять групп:

 

• команды пересылки данных (Data Transfer);

• арифметические команды (Arithmetic);

• логические команды (Logic);

• команды передачи управления (Control Transfer or Program Branching);

• команды обработки битовых переменных (Boolean Variable Manipulation).

 

Формат команд - одно-, двух- и трехбайтовый, причем большинство команд (94) имеют формат один или два байта. Первый байт любых типа и формата всегда содержит код операции, второй и третий байты содержат либо адреса операндов, либо непосредственные операнды. Состав операндов включает в себя операнды четырех типов: биты, ниблы (4 разряда), байты и 16-битные слова. Время исполнения команд составляет 1, 2 или 4 машинных цикла. При тактовой частоте 12 мГц длительность машинного цикла составляет 1 мкс, при этом 64 команды исполняются за 1 мкс, 45 команд - за 2 мкс и 2 команды (умножение и деление) - за 4 мкс. Набор команд MCS-51 поддерживает следующие режимы адресации. Прямая адресация (Direct Addressing). Операнд определяется 8-битным адресом в инструкции. Эта адресация используется только для внутренней памяти данных и регистров SFR. Косвенная адресация (Indirect Addressing). В этом случае инструкция адресует регистр, содержащий адрес операнда. Данный вид адресации может применяться при обращении как к внутреннему, так и внешнему ОЗУ. Для указания 8-битных адресов могут использоваться регистры R0 и R1 выбранного регистрового банка или указатель стека SP. Для 16-битной адресации используется только регистр "указатель данных" (DPTR - Data Pointer). Регистровая адресация (Register Instruction). Данная адресация применяется для доступа к регистрам R0+R7 выбранного банка. Команды с регистровой адресацией содержат в байте кода операции трехбитовое поле, определяющее номер регистра. Выбор одного из четырех регистровых банков осуществляется программированием битов селектора банка (RS1, RS0) в PSW. Непосредственная адресация (Immediate constants). Операнд содержится непосредственно в поле команды вслед за кодом операции и может занимать один или два байта (data8, data16). MOV C, P бит Р в TB8 MOV TB8, C MOV SBUF, A - инициализация передачи 23 Индексная адресация (Indexed Addressing). Индексная адресация используется при обращении к памяти программ и только при чтении. В этом режиме осуществляется просмотр таблиц в памяти программ. 16-битовый регистр (DPTR или PC) указывает базовый адрес требуемой таблицы, а аккумулятор указывает на точку входа в нее. Адрес элемента таблицы находится сложением базы с индексом (содержимым аккумулятора). Другой тип индексной адресации применяется в командах "перехода по выбору" (Case Jump). При этом адрес перехода вычисляется как сумма указателя базы и аккумулятора. Неявная адресация (Register-Specific Instructions). Некоторые инструкции используют индивидуальные регистры (например, операции с аккумулятором, DPTR), при этом данные регистры не имеют адреса, указывающего на них; это заложено в код операции.

 

Система команд MCS-51, ориентированная на реализацию различных цифровых алгоритмов управления, при сохранении некоторой внешней схожести с системой команд предыдущего семейства MCS-48, качественно расширилась, в ней появились принципиальные нововведения:

 

• битово-ориентированные операции и адресуемые в памяти данных битовые поля, что дало возможность говорить о реализации на кристалле битового процессора;

• реализовано исполнение команд умножения, деления и вычитания;

• усовершенствована работа со стеком;

• расширена группа команд передачи управления;

 

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

 

• двух 16-разрядных таймеров-счетчиков;

• аппаратного последовательного дуплексного порта;

• двухуровневой системы прерываний;

• четырех 8-битовых портов ввода-вывода.

 

Принципиальные изменения в структуре временного цикла работы процессора привели к ускорению работы с внешней памятью программ и данных, а также реакций на внешние и внутренние прерывания. Суммарный размер адресного пространства внешней памяти программ и данных увеличился до 128 Кбайт. 16-разрядные регистры счетчика команд (Program Counter) и указателя данных (Data Pointer) позволили напрямую обращаться ко всему диапазону адресов, что дало разработчикам возможность реализации алгоритмов быстрой обработки крупных массивов данных. Все программно-доступные узлы микроконтроллера были сведены в специальную область памяти данных (Special Function Register), что позволило обращаться к ним почти так же, как и к обычным ячейкам резидентного ОЗУ. В более поздних модификациях кристаллов усовершенствование шло по пути наращивания дополнительных функциональных возможностей с сохранением полной программной совместимости с более ранними версиями. Особенностями последних модификаций микроконтроллеров семейства MCS-51 являются: • полностью статический дизайн; • 3- и 5-вольтовые версии кристаллов; • широкий спектр встроенных периферийных устройств; • максимальная тактовая частота - 24 мГц; для отдельных групп кристаллов - 33 мГц. 

 

ХАРАКТЕРИСТИКИ

 

Базовой моделью семейства микроконтроллеров MCS-51 и основой для всех последующих модификаций является микроконтроллер I-8051. Его основные характеристики следующие:

• восьмиразрядный ЦП, оптимизированный для реализации функций управления;

• встроенный тактовый генератор;

• адресное пространство памяти программ - 64 К;

• адресное пространство памяти данных - 64 К;

• внутренняя память программ - 4 К;

• внутренняя память данных - 128 байт;

• дополнительные возможности по выполнению операций булевой алгебры (побитовые операции);

• 32 двунаправленные и индивидуально адресуемые линии ввода/вывода;

• 2 шестнадцатиразрядных многофункциональных таймера/счетчика;

• полнодуплексный асинхронный приемопередатчик;

• векторная система прерываний с двумя уровнями приоритета и шестью источниками событий [2-4,7,8].

• Структурная схема I-8051 показана на рис.1, назначение выводов микросхемы - на рис.2. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                         Рис. 1 Структурная схема I-8051 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Микроконтроллеры. 2015

bottom of page