Однокристальная ЭВМ архитектуры MCS-51
Структура ОЭВМ КМ1816ВЕ51
КМ1816ВЕ51 - высоко интегрированный 8-битовый микроконт-роллер, основанный на архитектуре MCS(r)-51. Семейство микроконтроллеров MCS-51 весьма многочисленно, разнообразно и выпускается многими фирмами. Одна только фирма INTEL выпустила более 50 видов однокристальных МК этого семейства. Различия видов состоят в размере внутренней памяти программ с объемом от 0 Кбайт до 32 Кбайт, ее типе, объеме резидентной памяти данных от 128 до 256 байт, тактовой частоте от 12 МГц до 24 МГц, количестве таймеров/счетчиков от 2 до 3, наличии АЦП, типе корпуса, технологии изготовления и др. [4, 5].
Микроконтроллер КМ1816ВЕ51 (МК51) выполнен по n-МОП технологии в корпусе DIP с 40 выводами. Информационные выводы МК51 совместимы с ТТЛ-схемами по входу, выходу и третьему состоянию.
В МК51 имеются следующие аппаратные возможности и периферийные устройства:
· Четыре 8-битных двунаправленных параллельных порта ввода/вывода.
· Два 16-битных таймера/счетчика с программируемой частотой выходного сигнала.
· Полный дуплексный программируемый последовательный порт с разными скоростями работы и режимами обмена.
· 4 Кбайт резидентной памяти программ с возможностью расширения до 64 Кбайт за счет внешней памяти программ.
· 128 байт резидентной памяти данных с возможностью расширения до 64 Кбайт за счет подключения внешней памяти данных.
· Один источник питания +5В.
· Асинхронный сброс.
· 5 источников прерывания с двумя уровнями приоритета.
· Режим пониженного энергопотребления и холостого хода.
В основе структурной схемы МК51 (рисунок 4.1) имеется 8-битная внутренняя шина, к которой подключены практически все элементы: резидентная память данных (РПД), резидентная память программ (РПП), арифметико-логическое устройство (АЛУ), устройство управления, порты ввода/вывода, регистры специальных функций (РСФ).
Рисунок 4.1 - Структурная схема ОЭВМ МК51
Организация памяти МК51
Для всего семейства MCS-51 характерно разделение адресного пространства для памяти программ и памяти данных. Такая архитектура ЭВМ получила название «Гарвардская». Память разделена на логическом и физическом уровнях, управляется разными сигналами и выполняет разные функции. Разделение затрагивает как резидентную память, так и внешнюю память.
Альтернативой является структура ЭВМ «фон Неймана», имеющая общую память программ и данных.
Память программ
На кристалле МК51 расположена резидентная память программ (РПП) объемом 4 Кб. Память программ используется для хранения:
1. команд;
2. констант;
3. управляющих слов инициализации;
4. таблицы перекодировки входных и выходных данных.
После выполнения сигнала сброса МК начинает выполнение программы с адреса 0000. При любой конфигурации памяти программ из нее можно только читать информацию, и принципиально отсутствует возможность производить в нее запись средствами МК.
За счет подключения внешней памяти программ (ВПП) суммарный объем памяти программ можно довести до 64 Кбайт.
Память данных
Внутреннее ОЗУ данных МК содержит 256 байт. Адресное пространство памяти данных разделено на два блока: 128 байт резидентной памяти данных (РПД) и область регистров специальных функций (SFR). В памяти данных хранятся переменные, используемые при выполнении прикладной программы. Все байты ОЗУ данных могут быть доступны с помощью либо прямой, либо косвенной адресации, для адресации используется один байт.
Самые младшие 32 байта РПД (рисунок 4.2) сгруппированы в 4 банка по 8 регистров. К регистрам можно обращаться по именам как R0-R7. В каждый момент времени может быть активным только один из четырех банков. Для переключения банков используются программно изменяемые биты RS1 и RS0 в слове состояния процессора PSW.
В интервале адресов РПД с 32 (20H) по 47 (2FH) расположена область битовой адресации, содержащая 128 битов пользователя. Обращение в этой области возможно как к байтам, так и к отдельным битам при использовании прямого 8-битового адреса (bit).
В интервале адресов РПД с 48 (30H) по 127 (7FH) расположена сверхоперативная область, в которую можно записывать и считывать байты с помощью прямого адреса (ad), либо с помощью косвенной адресации, используя регистры R0 или R1 в качестве байта адреса (MOV @Ri).
Рисунок 4.2 - Распределение резидентной памяти данных
Начальные значения всех ячеек РПД являются случайными величинами. Изменение значения любой ячейки РПД происходит только при операции записи в нее байта.
Память данных можно расширить за счет подключения до 64 Кбайт внешней памяти (ВПД).