p align="left">ОМК представляет собой СБИС, состоящую из: · 8-разрядного МП; · 2-х 16-ти разрядных счетчиков; · 4-х 8-ми разрядных параллельных портов ввода/вывода, каждый бит которых можно настроить на ввод или вывод; · последовательного порта; · подсистемы прерываний; · резидентного ОЗУ (128х8); · резидентного ПЗУ (или РПЗУ с ультрафиолетовым стиранием информации) 4Кх8; · напряжение питания 5В; · ток потребления 18 мА (КМОП-технология), 150-200 мА (n-МОП-технология); · максимальная тактовая частота 12МГц, что обеспечивает время выполнения основных команд за 1 - 2 мкс, только умножение и деление выполняется за 4 мкс. Архитектура МП реализует гарвардский принцип организации. Особенностью этой архитектуры является разделение общей памяти на память команд и память данных, при этом в ОМК используют раздельные команды для обращения к памяти и данным. Длина команды в машине фон Неймана (принстонская организация) получается больше, т.к. используются общие способы адресации для команд и для данных. В то же время, число необходимых способов адресации для команд значительно меньше, чем для данных. Применение раздельных команд существенно уменьшает длину каждой команды (при прочих равных условиях). Разделение памяти программ и данных при наличии двух независимых магистралей для обращения к ПЗУ программ и ОЗУ данных существенно упрощает организацию конвейерной обработки: после выборки очередной команды возможно одновременное обращение к ПЗУ за следующей командой и выборка данных из ОЗУ. В ОМК ВЕ51 раздельные магистрали не реализованы. Форматы данных: · данные с фиксированной запятой; · двоичные; · двоично-десятичные. Формы представления данных: · числовые; · логические; · битовые. Длина формата: · 16 бит; · 8 бит; · 1 бит. Форматы команд: · одноадресные; · двухадресные; · безадресные. Способы адресации: 1. Резидентная память данных: · прямая; · прямая регистровая; · косвенная; · стековая. 2. Непосредственная внешняя память данных: · косвенная; · странично-косвенная. 3. Память команд: · косвенная; · индексная; · относительная. Память данных представляет собой два независимых адресных пространства - резидентную память данных (РПД) и внешнюю память данных (ВПД), отличающиеся местом расположения и средствами доступа к данным. РПД представляет собой единое адресное пространство. К каждой ячейке можно обратиться, используя прямую и косвенную адресацию. При прямой адресации в формате команды указывается непосредственный адрес ячейки; косвенная - реализуется через регистры R0, R1 каждого банка РОНов. РПД разделена на 3 зоны, каждая из которых имеет свои функциональные особенности: 1. Зона блоков РОНов - состоит из 4-х банков. По сбросу активным является 0-ой банк. Номер банка устанавливается в слове состояния процессора. Достоинством этой зоны является возможность использования прямой регистровой адресации. Команды работы с регистрами 1 - байтовые, реализуются за 1 мкс; 2. Свободная зона - особенностей по способам адресации не имеет. 3. Зона РСФ - содержит основные регистры данных и управления: · А - аккумулятор; · В - расширитель А; · PSW - слово состояния МП; · SP - указатель стека; · SBUF - регистр данных последовательного порта; · ТМОD - регистр управления таймером и т.д. Обращение к РСФ возможно только с указанием прямого адреса. В ВЕ 51 используется только часть адресов зоны РСФ. Неиспользованные адреса зарезервированы для развития ОМК данной серии. 4. Битовая зона - особенности: · возможность обращения к каждому биту этой зоны с помощью команд обработки бит; · адресное пространство битовой зоны и РПД не пересекаются. Обращение к битам возможно только с использованием команд прямой адресации; · битовое пространство начинается в битовой зоне РПД (адреса 20h-2Fh), а заканчивается в зоне регистров спец. функций (РСФ). Таким образом, обращение к РПД по адресу 0Еh возможно: с использованием прямой адресации, косвенной, указав в регистре R0 или R1 любого банка этот адрес, прямой регистровой адресации, обращаясь к регистру R6 первого банка. Номер банка следует предварительно установить в PSW. Обращение к РПД по адресу 20h возможно по прямому или косвенному адресу. Одновременно возможна обработка любого бита этой ячейки с использованием битовых команд. Адрес бита можно указать в виде 20.х, где х - номер бита или n, где n - прямой адрес битового пространства. Подобные возможности позволяют минимизировать как длину кода программ, так и время их выполнения. Пространство резидентной памяти команд (РПК) и внешней памяти едино. Обращение к внешнему ПЗУ осуществляется автоматически, если адрес больше чем 4К. Предусмотрена возможность отключения РПК подачей уровня логического 0 на вход EA/VPP.Этот режим обычно используется при отладке программного обеспечения. Система команд. 1. Команды пересылки Команды этой группы не модифицируют признаки результата за исключением команды загрузки PSW и пересылок, в которых приемником результата является аккумулятор А. В этом случае устанавливается бит паритета и аппаратно формируется признак равенства 0 - Z=1, который можно использовать для выполнения команд условного перехода JZ (JNZ). 2. Команды обращения к ВПД Обращение к ВПК и ВПД осуществляется через регистр - указатель DPTR. Обращение к регистру возможно с помощью команды MOV DPTR,#d16, старший (DPH) и младший (DPL) байты этого регистра доступны через зону РСФ. 3. Арифметические операции Команды выполняют операции сложения, вычитания, инкремента, декремента и др. При умножении старший байт результата записывается в регистр-расширитель В, а младший - в А. Если содержимое А>256, то формируется флаг арифметического переполнения OV. Бит С всегда сбрасывается. При делении частное записывается в А, а остаток - в В. Флаги переноса C и арифметического переполнения OV сбрасываются. Если (А)<(В), то флаг дополнительного переноса (АС) не сбрасывается. При делении на 0 устанавливается флаг OV. 4. Логические команды Эти команды позволяют реализовать логические операции «и», «или», «исключающее или», а также ряд операций над содержимым аккумулятора. 5. Битовые команды При выполнении битовых команд бит С выполняет функции аккумулятора. При работе с битами используется только прямая адресация. 5. Команды передачи управления К этой группе команд относятся команды условного и безусловного переходов, вызова подпрограмм и возврата из них, а также команда пустой операции NOP. Параллельные порты. Порты Р0-Р3 предназначены для ввода или вывода байтовой информации и обеспечивают обмен с внешними устройствами: памятью программ и данных, контроллерами различного назначения, периферийными устройствами. Каждый из портов состоит из 8-разрядного регистра -защелки (РЗ), выходного драйвера транзистора Т1, входных цепей и схемы Д1 с открытым коллектором. Схемотехника портов несколько отличается, так как они выполняют разные функции. Однако в упрощенном варианте её можно рассмотреть на рис. 7. При чтении со входа порта Рх.Y данные через конъюнктор Д1 передаются на внутреннюю шину данных (ВШД), которая организована как "монтажное ИЛИ". Если в РЗ записана 1, то данные со входа порта без искажения передаются в приемник. Если РЗ=0, то в соответствующий разряд приемника будет записан 0 в независимости от значения сигнала. При записи информации в порт, данные записываются в РЗ и выводятся через Т1 на выход порта. Обращение к портам возможно только по прямому адресу. Все разряды порта находятся в битовом пространстве. Порты однонаправленные. Каждый бит порта может быть настроен как на ввод, так и на вывод. По сбросу все порты устанавливаются на ввод. Для чтения данных из порта или регистра защелки используются различные команды. Чтение РЗ осуществляется командами «чтение-модификация-запись», при выполнении которых команда считывает состояние РЗ, при необходимости модифицирует полученное значение и записывает результат обратно в РЗ. Во всех случаях, когда операндом и регистром назначения является порт или бит порта, команды считывают информацию с выходов РЗ, а не с внешних контактов выводов порта. Порты Р0, Р1, Р2, Р3 в зависимости от особенности применения могут реализовать разные функции. При работе с внешней памятью порт Р0 является системным портом, через который в режиме с разделением времени передаются младший байт адреса и данные. Появление младшего байта адреса сопровождается сигналом ALE, по которому он должен быть зафиксирован во внешнем регистре. Признаком работы Р0 в системном режиме является использование команд MOVX, MOVC. При работе в качестве системного порта согласование (специальное) с нагрузкой не требуется. Если Р0 используется как порт общего назначения, то к выходу порта должен быть присоединен внешний подтягивающий резистор от источника питания +5В. Р1-Р3 имеют встроенную нагрузку. Порт Р2 служит для вывода старшего байта адреса при работе в системном режиме. Особенностью порта Р2 является возможность мультиплексирования на выход содержимого РЗ или старшего байта адреса. При работе в режиме адресной шины содержимое РЗ сохраняется и поступает на выводы порта в тех машинных циклах, когда нет обращения к внешней памяти. При обращении к внешней памяти на выход порта выводится информация из регистра адреса DPTR или из программного счетчика РС по командам MOVC и MOVX. Исключение составляют команды MOVX A,@Ri, и MOVX @Ri,A, при которых на выходе находится содержимое регистра-защелки. Нагрузочная способность Р0 - два входа ТТЛ, у остальных - один. Р1 - порт общего назначения и особенностей не имеет. Р3 - при записи в Р3 “1” выполняет системные функции. Счетчик/Таймер. Счетчик-таймер предназначен для обработки внешних и внутренних событий, формирования программно-управляемых временных задержек, выполнения времязадающих функций. В состав ОМК входят два 16 разрядных суммирующих СТ. Счетчик состоит из регистров счетчика TL (младший байт), TH (старший байт), логики управления входными сигналами и триггера переполнения TF. Бит TF устанавливается при переходе счетчика из состояния все “1” во все “0”. Бит TF располагается в битовом пространстве и доступен по прямому адресу. Обращение к TLi, THi производится раздельно по прямым адресам. Управление работой счетчика выполняется с помощью регистра режима работы TMOD и регистра управления статуса TCON . GATE1, GATE0 - управление блокировкой (при GATEi=1 работа счетчика/таймера разрешается, если INT=1 и TRi=1; если GATEi=0, то работа счетчика зависит только от состояния TRi; (i=1,0); С/Т1, С/Т0 - выбор режима работы (при С/Т=1 - работа в режиме счетчика от внешних сигналов на входе Ti; при С/Т=0 - работа в режиме таймера от внутреннего источника сигналов синхронизации); М1, М0 - задание основных режимов работы. В режиме таймера счетчик работает от внутреннего генератора с частотой OSC/12. При работе в режиме счетчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего сигнала, подаваемого на соответствующие входы Т0, Т1 порта Р3. Инкремент выполняется после анализа состояния “0” или ”1” на входе Тi, поэтому накладываются определенные ограничения на параметры преобразуемого сигнала: уровень 0 и 1 должен продолжаться не менее OSC/12. Максимальная преобразуемая внешняя частота - OSC/24. Способ запуска СТ устанавливается битом GATE: если GATE =1, то реализуется аппаратный запуск, при котором разрешение счета подается на вход INTi порта Р3 (уровень 1). Предварительно должен быть установлен бит запуска счетчика TRi в регистре TCON. При программном запуске GATE =0, начало счета задается установкой бита TRi =1. Режим работы каждого СТ определяется значением битов М0, М1 в регистре ТМОD. Счетчики могут быть настроены на один из 4 режимов. Режимы 0,1,2, одинаковы для обоих счетчиков и в этих режимах они полностью независимы. Работа ТС0 и ТС1 в режиме 3 различна. Режим 3 рационально использовать только для СТ0 . При этом установка СТ0 в режим 3 влияет на режим работы СТ1.
Страницы: 1, 2, 3
|