- •3.4.1 Введение 65
- •Содержание курса
- •Введение в системы управления
- •Датчики
- •Принципы построения систем управления и контроля рэсбн
- •Однокристальные контроллеры
- •Системы дистанционного управления
- •Определения и термины
- •Характеристика системы ду rc-5
- •Архитектура системы ду по протоколу rc-5
- •Система дистанционного управления по протоколу rc-5
- •Протокол передачи в системе ду rc-5
- •Пульт ду на основе контроллера рса84с122а
- •Передатчик команд ду по протоколу rc-5 saa3010
- •Приемная часть системы ду
- •Система rc-5 и распределение команд
- •Система дистанционного управления по протоколу itt
- •Архитектура системы ду
- •Синтез сигналов ду по протоколу itt
- •Пульт ду на основе передатчика команд saa1250
- •Приемная часть системы ду
- •Шины управления и обмена информацией
- •Введение
- •Шина i2c
- •Концепция i2c-шины
- •Общие характеристики
- •Передача бита
- •Условия start и stop
- •Передача данных в i2c – шине
- •Байтовый формат
- •Подтверждение приема (квитирование)
- •Синхронизация
- •Арбитраж
- •Формат 7-и битной адресации
- •Особенности 7-и битной адресации
- •Расширенная спецификация i2c-шины
- •Введение
- •Электрические и временные характеристики i2c-шины
- •Адаптер параллельного порта принтера
- •Однокристальная эвм архитектуры mcs-51
- •Структура оэвм км1816ве51
- •Организация памяти мк51
- •Память программ
- •Память данных
- •Регистры специального назначения
- •Устройство управления и синхронизации
- •Порты ввода/вывода
- •Доступ к внешней памяти
- •Доступ к внешней памяти программ
- •Доступ к внешней памяти данных
- •Совмещение адресов впп и впд
- •Таймеры/счетчики
- •Последовательный порт
- •Режимы работы уапп
- •Скорость передачи
- •Режимы пониженного энергопотребления
- •Система прерываний
- •Источники прерываний
- •Приоритеты прерываний
- •Процесс прерывания
- •Запись в память программ мк51
- •Система команд оэвм кр1816ве51
- •Команды передачи данных
- •Арифметические команды
- •Логические команды
- •Команды операций с битами
- •Команды передачи управления
- •Пример составления простейших программ для оэвм кр1816ве51
- •Микропроцессорная система на основе оэвм кр1816ве51
- •Развитие архитектуры mcs-51
- •Отображение и ввод информации в брэа
- •Термины и определения
- •Вакуумные люминесцентные индикаторы
- •Жидкокристаллические индикаторы
- •Принцип действия и конструктивные модификации
- •Управление жки
- •Долговечность жки
- •Полупроводниковые знакосинтезирующие индикаторы
- •Единичные ппзси
- •Многоэлементные ппзси
- •Другие типы индикаторов
- •Ввод информации в микро-эвм
Система команд оэвм кр1816ве51
Система команд МК51 содержит 111 базовых команд. По функциональному признаку команды можно разделить на пять групп:
команды передачи данных;
арифметические команды;
логические команды;
команды передачи управления;
команды операций с битами.
Большинство команд (94) имеют формат один или два байта и выполняются за один или два машинных цикла. Остальные команды - трехбайтные и выполняются за два машинных цикла. Только на выполнение команд умножения и деления требуется четыре машинных цикла.
Первый байт всех 13 типов команд (рисунок 4.18) содержит код операции (КОП). Второй и третий байты содержат либо адреса операндов, либо непосредственные данные.
Рисунок 4.18 - Типы операндов в МК51
В системе команд МК51 используется четыре способа адресации данных.
Регистровая адресация. В команде указано символическое название регистра.
Прямая адресация. В команде явно указан адрес операнда в памяти.
Непосредственная адресация. В команде задан сам операнд.
Косвенная адресация. В команде задано имя регистра или регистровой пары, в которых содержится адрес, по которому и происходит обращение к операнду в памяти.
В системе команд используются следующие обозначения (в скобках показаны варианты обозначений, встречающиеся в командах, с буквой h обозначаются старшие байты слов, с буквой l - младшие байты слов):
Rn, n=0,7 - регистры R0-R7 текущего выбранного банка регистров;
direct (ad, add, ads) - 8-битный прямой адрес ячейки резидентной памяти данных (0-127) или регистра специальных функций (128-255);
@Ri, i=0,1 - 8-битная ячейка РПД или регистра специальных функций, косвенно адресуемая через регистр R0 или R1;
#data (#d) - 8-битная константа, входящая в состав команды;
#data16 (#d16h, #d16l) - 16-битная константа, входящая в состав команды (непосредственная адресация);
addr16 (ad16h, ad16l), ad16 - 16-битовый адрес назначения в командах длинного перехода LJMP и вызова подпрограмм LCALL, позволяющий охватить полное адресное пространство (64 К);
addr11, ad11 - 11-битовый адрес назначения в командах абсолютного перехода АJMP и вызова подпрограмм АCALL, позволяющий выполнить переход в пределах 2 К страницы от адреса текущей команды;
rel - 8-битное значение смещения со знаком. Смещение с учетом знака суммируется с текущим содержимым счетчика команд и позволяет выполнить переход в пределах -128 +127 байт относительно текущего адреса;
bit - 8-битовый прямой адрес адресуемого бита, находящегося в РПД (0-127) или в регистре специальных функций (128-255).
Микроконтроллер оперирует данными четырех типов: биты, тетрады (4-битовые цифры), байты и 16-битовые слова.
Биты. В МК51 определены 256 битов, из них 128 находятся в РПД и используются как флаги пользователя, а остальные 128 битов расположены в блоке регистров специальных функций и входят в состав некоторых регистров этого блока. Для обращения к битам используется прямой 8-битный адрес (bit).
Тетрады. Операции с тетрадами определены только в командах обмена тетрад в аккумуляторе и между регистром и аккумулятором.
Байты. Байтовым операндом может быть адрес внутренней и внешней памяти данных и программ, непосредственный операнд, константа, адрес регистра специальных функций или порта ввода/вывода.
Слова. Двухбайтовые операнды могут быть или константами, или прямыми адресами памяти и занимают второй и третий байты команды.
В слове состояния процессора (PSW, таблица 4.2) имеются четыре флага, отражающие результат операции в АЛУ: C - перенос, AC - вспомогательный перенос, OV - переполнение и P - паритет. Только некоторые команды изменяют флаги результата (таблица 4.13).
Таблица 4.13 - Команды, изменяющие флаги результата
Команды |
Флаги |
Команды |
Флаги |
ADD |
C, OV, AC |
CLR C |
C=0 |
ADDC |
C, OV, AC |
CPL C |
C= |
SUBB |
C, OV, AC |
ANL C,b |
C |
MUL |
C=0, OV |
ANL C,/b |
C |
DIV |
C=0, OV |
ORL C,b |
C |
DA |
C |
ORL C,/b |
C |
RRC |
C |
MOV C,b |
C |
RLC |
C |
CJNE |
C |
SETB C |
C=1 |
|
|
Флаги C, AC, OV связаны с состоянием АЛУ и не изменяются в операциях, минующих использование АЛУ. Состояние этих флагов можно изменять и прямой записью соответствующих битов в регистре PSW. Флаг паритета Р изменяется любой командой, изменяющей аккумулятор. Прямое изменение флага P не вызовет сообщения об ошибке, но его значение останется соответствующим состоянию аккумулятора.
