Встроенные микропроцессорные системы на основе однокристальных микро ЭВМ

Порт0 – ПортЗ. Регистрами специальных функций Р0, Р1, Р2, РЗ являются регистры-"защелки" соответственно портов Р0, Р1, Р2, РЗ.

Буфер последовательного порта. SBUF представляет собой два отдельных регистра: буфер передатчика и буфер приемника. Когда данные записываются в SBUF, они поступают в буфер передатчика, причем запись байта в SBUF автоматически инициирует его передачу через

последовательный порт. Когда данные читаются из SBUF, они выбираются из буфера приемника.

Регистры таймера. Регистровые пары (TH0,TL0) и (TH1,TL1) образуют 16-битовые счетные регистры соответственно таймера/счетчика 0 и таймера/счетчика 1.

Регистры управления. Регистры специальных функций IP, IE, TMOD, TCON, SCON и PCON содержат биты управления и биты состояния системы прерываний, таймеров/счетчиков и последовательного порта. ОМЭВМ при функционировании обеспечивает:

- минимальное время выполнения команд сложения – 1 мкс;

- аппаратное умножение и деление с минимальным временем выполнения команд умножения/деления – 4 мкс.

Все ОМЭВМ рассматриваемого семейства имеют несколько адресных пространств, функционально и логически разделенных за счет разницы в механизмах адресации и сигналах управления записью и чтением: память программ; внутренняя память данных; внешняя память данных.

Структура адресного пространства ОМЭВМ показана на рис. 2. Слева приводятся адреса соответствующих областей памяти.

Рисунок 2 – Пространство памяти ОМЭВМ

Память программ имеет 16-битовую адресную шину, ее элементы адресуются использованием счетчика команд (PC) или инструкций, которые вырабатывают 16-разрядные адреса.

Память программ доступна только по чтению. ОМЭВМ не имеют команд и управляющих сигналов, предназначенных для записи в память программ. Память программ имеет байтовую организацию и общий объем до 64 Кбайт. Ряд OMЭВМ (КР1816ВЕ51, КМ1816ВЕ751, КР1830ВЕ51) содержат расположенную на кристалле внутреннюю память программ емкостью 4 Кбайт, которая может быть расширена до 64 Кбайт за счет подключения микросхем внешней памяти программ.

ОМЭВМ семейства MCS-51 имеют внешний вывод DEMA, с помощью которого можно запретить работу внутренней памяти программ, для чего необходимо подать на вывод DEMA "0". При этом внутренняя память программ отключается и, начиная с нулевого адреса, все обращения происходят к внешней памяти программ с формированием сигнала РМЕ. В случае, если DEMA=1, работают и внутренняя, и внешняя память программ. Для ОМЭВМ, не имеющих внутренней памяти программ, для нормальной работы всегда необходимо задавать DEMA=0.

Таким образом, доступ к внешней памяти программ осуществляется в двух случаях:

1) при действии сигнала DEMA=0 независимо от адреса обращения;

2) в любом случае, если программный счетчик (PC) содержит число, большее чем 0FFFH.

Внутренняя память данных ОМЭВМ состоит из двух областей: 128 байт оперативной памяти (ОЗУ) с адресами 0-7FH и области регистров специальных функций, занимающей адреса 80Н–FFH. Распределение пространства внутренней памяти данных показано на рис. 3. Физически внутреннее ОЗУ данных и область регистров специальных функций являются отдельными устройствами.

Все ячейки внутреннего ОЗУ данных могут адресоваться с использованием прямой и косвенной адресации (режимы адресации даны в описании системы команд ОМЭВМ). Кроме того, внутреннее ОЗУ данных имеет следующие особенности.

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

Следующие после банков регистров внутреннего ОЗУ данных 16 байт (адреса 20Н–2FH) образуют область ячеек, к которым возможна побитовая адресация. Набор команд ОМЭВМ семейства MCS-51 содержит значительное количество инструкций, позволяющих работать с отдельными битами, используя при этом прямую адресацию. 128 бит, составляющих рассматриваемую область внутреннего ОЗУ данных, имеют адреса 00Н–7FH и предназначены для работы с такими инструкциями.

Рисунок 3 – Адресное пространство внутренней памяти данных

Внешняя память данных формируется дополнительными микросхемами памяти, подключаемыми к ОМЭВМ, и может иметь емкость до 64 Кбайт. Пространства внутренней и внешней памяти данных не пересекаются, т.к. доступ к ним осуществляется с помощью разных команд. Для работы с внешней памятью данных существуют специальные команды MOVX, которые не влияют на внутреннюю память данных ОМЭВМ. Таким образом, в системе могут одновременно присутствовать внутренняя память данных с адресами 00Н – FFH и внешняя память данных с адресами 0000Н – FFFFH.

Обращение к ячейкам внешней памяти данных осуществляется только с использованием косвенной адресации по регистрам R0 и R1 активного банка регистров внутреннего ОЗУ (команды типа MOV @Ri) или по регистру специальных функций DPTR (команды типа MOV @DPTR). Соответственно в первом случае будет формироваться 8-разрядный, а во втором случае 16-разрядный адреса внешней памяти данных.

При обращениях к внешней памяти данных адрес выводится через порт Р0 (младший байт) и порт Р2 (старший байт) ОМЭВМ. Обмен байтом данных (запись и чтение) производится через порт Р0 ОМЭВМ, т.е. порт Р0 используется как шина адреса/данных в режиме мультиплексирования.

Считывание данных из внешней памяти данных в ОМЭВМ производится с помощью выходного сигнала ОМЭВМ RD, а запись данных из ОМЭВМ во внешнюю память данных с помощью выходного сигнала ОМЭВМ WR.

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

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

Система команд ОМЭВМ семейства MCS-51 имеет 111 команд и позволяет реализовать обработку данных, обеспечить выполнение логических, арифметических операций, а также управление в режиме реального времени. Реализованы побитовая, потетрадная (4 бита), побайтовая (8 бит) и 16-разрядная обработка данных.

Полное описание команд и примеры их выполнения приведены в приложении Б.

В машинном коде команда занимает один, два или три байта и выполняется за один, два или четыре (умножение и деление) машинных цикла. При частоте тактового генератора, равной 12 МГц, одноцикловые команды выполняются за 1 мкс, двухцикловые – за 2 мкс и т.д. Из 111 типов команд 64 выполняются за 1 мкс (12 тактов), 45 команд – за 2 мкс (24 такта) и две команды – умножение и деление (MUL, DIV) выполняются за 4 мкс (48 тактов).

Все команды условных переходов осуществляются относительно содержимого счетчика команд с адресом перехода, вычисляемым ЦПУ во время выполнения команды.

Страница:  1  2  3  4  5  6  7  8 


Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы