Общие сведения об однокристальных микроЭВМ семейства МК51 и их структура
Восьмиразрядные высокопроизводительные однокристальные микроЭВМ (ОМЭВМ) семейства МК51 выполнены по высококачественной n-МОП технологий (серия 1816) и КМОП технологии (серия 1830).
Использование ОМЭВМ семейства МК51 по сравнению с МК48 обеспечивает увеличение объема памяти команд и памяти данных.
Новые возможности ввода-вывода и периферийных устройств расширяют диапазон применения и снижают общие затраты системы. В зависимости от условий использования, быстродействие системы увеличивается минимум в два с половиной раза и максимум в десять раз.
Семейство МК51 включает пять модификаций ОМЭВМ (имеющих идентичные основные характеристики), основное различие между которыми состоит в реализации памяти программ и мощности потребления.
ОМЭВМ КР1816ВЕ51 и КР1830ВЕ51 содержат масочно-программируемое в процессе изготовления кристалла ПЗУ памяти программ емкостью 4096 байт и рассчитаны на применение в массовой продукции. За счет использования внешних микросхем памяти общий объем памяти программ может быть расширен до 64 Кбайт.
ОМЭВМ КМ1816ВЕ751 содержит ППЗУ емкостью 4096 байт со стиранием ультрафиолетовым излучением и удобна на этапе разработки системы при отладке программ, а также при производстве небольшими партиями или при создании систем, требующих в процессе эксплуатации периодической подстройки.
За счет использования внешних микросхем памяти общий объем памяти программ может быть расширен до 64 Кбайт.
ОМЭВМ КР1816ВЕ31 и КР183ОВЕ31 не содержат встроенной памяти программ, однако могут использовать до 64 Кбайт внешней постоянной или перепрограммируемой памяти программ и эффективно использоваться в системах, требующих существенно большего по объему (чем 4 Кбайт на кристалле) ПЗУ памяти программ.
Каждая из перечисленных выше микросхем является соответственно аналогом БИС 8051, 80С51, 8751, 8031, 80С31 семейства MCS-51 фирмы Intel (США). Сравнительные данные микросхем приведены в табл. 2.1.
Каждая ОМЭВМ рассматриваемого семейства содержит встроенное ОЗУ памяти данных емкостью 128 байт с возможностью расширения общего объема оперативной памяти данных до 64 Кбайт за счет использования внешних микросхем ЗУПВ.
Общий объем памяти ОМЭВМ семейства МК51 может достигать 128 Кбайт: 64 Кбайт памяти программ и 64 Кбайт памяти данных.
При разработке на базе ОМЭВМ более сложных систем могут быть использованы стандартные ИС с байтовой организацией, например, серии КР580.
В дальнейшем обозначение "МК51" будет общим для всех моделей семейства, за исключением случаев, которые будут оговорены особо.
ОМЭВМ содержат все узлы, необходимые для автономной работы:
1) центральный восьмиразрядный процессор;
2) память программ объемом 4 Кбайт (только КМ1816ВЕ751, КР1816ВЕ51 и КР1830ВЕ51);
3) память данных объемом 128 байт;
4) четыре восьмиразрядных программируемых канала ввода-вывода;
5) два 16-битовых многорежимных таймера/счетчика;
6) систему прерываний с пятью векторами и двумя уровнями;
7) последовательный интерфейс;
8) тактовый генератор.
Система команд ОМЭВМ содержит III базовых команд с форматом 1, 2, или 3 байта.
Таблица 1.
Микросхемы | Аналог | Объем | Тип | Объем | Максималь- | Ток |
внутрен- | памяти | внут- | ная частота | потреб- | ||
ней па- | про- | ренней | следования | ления, | ||
мяти про- | грамм | памяти | тактовых | |||
грамм, | данных, | сигналов, | ||||
байт | байт | МГц | мА | |||
КР1816ВЕ31 | 8031АН | - | внешн. | 128 | 12,0 | 150,0 |
КР1816ВЕ51 | 8051АН | 4К | ПЗУ | 128 | 12,0 | 150,0 |
КМ1816ВЕ751 | 8751Н | 4К | ППЗУ | 128 | 12,0 | 220,0 |
КР1830ВЕ31 | 80С31ВН | - | внешн. | 128 | 12,0 | 18,0 |
КР1830ВЕ51 | 80С51ВН | 4К | ПЗУ | 128 | 12,0 | 18,0 |
ОМЭВМ имеет:
— 32 POH;
— 128 определяемых пользователем программно-управляемых флагов;
— набор регистров специальных функций.
POH и определяемые пользователем программно-управляемые флаги расположены в адресном пространстве внутреннего ОЗУ данных. Регистры специальных функций (SFR, SPECIALFUNCTIONREGISTERS) с указанием их адресов приведены в таблице 2.
Таблица 2
Обозначение | Наименование | Адрес |
* АСС | Аккумулятор | 0Е0Н |
* В | Регистр В | 0F0H |
* PSW | Регистр состояния программы | 0D0H |
SP | Указатель стека | 81Н |
DPTR | Указатель данных. 2 байта: | |
DPL | Младший байт | 82Н |
DPH | Старший байт | 83Н |
* Р0 | Порт 0 | 80Н |
* Р1 | Порт 1 | 90Н |
* Р2 | Порт 2 | 0А0Н |
* РЗ | Порт 3 | 0В0Н |
* IP | Регистр приоритетов прерываний | 0В8Н |
* IE | Регистр разрешения прерываний | 0А8Н |
TMOD | Регистр режимов таймера/счетчика | 89Н |
* TCON | Регистр управления таймера/счетчика | 88Н |
TH0 | Таймер/счетчик 0. Старший байт | 8СН |
TL0 | Таймер/счетчик 0. Младший байт | 8АН |
TH1 | Таймер/счетчик 1. Старший байт | 8DH |
TL1 | Таймер/счетчик 1. Младший байт | 8ВН |
* SCON | Управление последовательным портом | 98Н |
SBUF | Буфер последовательного порта | 99Н |
PCON | Управление потреблением | 87Н |
* — регистры, допускающие побитовую адресацию.
Ниже кратко описываются функции регистров, приведенных в таблице 1. Подробно эти регистры рассматриваются в соответствующих разделах настоящего описания.
Аккумулятор. АСС — регистр аккумулятора. Команды, предназначенные для работы с аккумулятором, используют мнемонику "А", например, MOV А, Р2.
Мнемоника "АСС" используется, к примеру, при побитовой адресации аккумулятора. Так, символическое имя пятого бита аккумулятора при использовании ассемблера ASM51 будет следующим: АСС. 5.
Регистр В. Используется во время операций умножения и деления. Для других инструкций регистр В может рассматриваться как дополнительный сверхоперативный регистр.
Регистр состояния программы. Регистр PSW содержит информацию о состоянии программы.
Указатель стека SP. 8-битовый регистр, содержимое которого инкрементируется перед записью данных в стек при выполнении команд PUSH и CALL.
При начальном сбросе указатель стека устанавливается в 07Н, а область стека в ОЗУ данных начинается с адреса 08Н.
При необходимости путем переопределения указателя стека область стека может быть расположена в любом месте внутреннего ОЗУ данных микроЭВМ.
Указатель данных. Указатель данных (DPTR) -состоит из старшего байта (DPH) и младшего байта (DPL). Содержит 16-битовый адрес при обращении к внешней памяти. Может использоваться как 16-битовый регистр или как два независимых восьмибитовых регистра.
Порт0—ПортЗ. Регистрами специальных функций Р0, Р1, Р2, РЗ являются регистры-"защелки" соответственно портов Р0, Р1, Р2, РЗ.
Буфер последовательного порта. SBUF представляет собой два отдельных регистра: буфер передатчика и буфер приемника. Когда данные записываются в SBUF, они поступают в буфер передатчика, причем запись байта в SBUF автоматически инициирует его передачу через последовательный порт. Когда данные читаются из SBUF, они выбираются из буфера приемника.
Регистры таймера. Регистровые пары (TH0.TL0) и (THI.TLI) образуют 16-битовые счетные регистры соответственно таймера/счетчика 0 и таймера/счетчика 1.
Регистры управления. Регистры специальных функций IP, IE, TMOD, TCON, SCON и PCON содержат биты управления и биты состояния системы прерываний, таймеров/счетчиков и последовательного порта.
ОМЭВМ при функционировании обеспечивает: — минимальное время выполнения команд сложения — 1 мкс: — аппаратное умножение и деление с минимальным временем выполнения команд умножения/деления — 4 мкс.
В ОМЭВМ предусмотрена возможность задания частоты внутреннего генератора с помощью кварца, LC-цепочки или внешнего генератора.
Архитектура семейства МК51 несмотря на то, что она основана на архитектуре семейства МК48, все же не является полностью совместимой с ней. В новом семействе имеется ряд новых режимов адресации, дополнительные инструкции, расширенное адресное пространство и ряд других аппаратных отличий.
Расширенная система команд обеспечивает побайтовую и побитовую адресацию, двоичную и двоично-десятичную арифметику, индикацию переполнения и определения четности/нечетности, возможность реализации логического процессора.
Важнейшей и отличительной чертой архитектуры семейства МК51 является то, что АЛУ может наряду с выполнением операций над 8-разрядными типами данных манипулировать одноразрядными данными. Отдельные программно-доступные биты могут быть установлены, сброшены или заменены их дополнением, могут пересылаться, проверяться и использоваться в логических вычислениях.
Тогда как поддержка простых типов данных (при существующей тенденции к увеличению длины слова) может с первого взгляда показаться шагом назад, это качество делает микроЭВМ семейства МК51 особенно удобными для применений, в которых используются контроллеры. Алгоритмы работы последних по своей сути предполагают наличие входных и выходных булевых переменных, которые сложно реализовать при помощи стандартных микропроцессоров.