Учебное пособие. – Томск: кафедра ТУ, ТУСУР, 2012. – 110

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное
учреждение высшего профессионального образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ»
(ТУСУР)
Кафедра телевидения и управления
(ТУ)
УТВЕРЖДАЮ
Заведующий кафедрой ТУ, профессор
_________________И.Н. Пустынский
«______»___________________2012 г.
УСТРОЙСТВА УПРАВЛЕНИЯ БЫТОВОЙ
РАДИОЭЛЕКТРОННОЙ АППАРАТУРОЙ
Учебное пособие
РАЗРАБОТАЛ
_________ В.А. Кормилин
«______»_________2012 г.
2012
2
Кормилин В.А. Устройства управления бытовой радиоэлектронной
аппаратурой: Учебное пособие. – Томск: кафедра ТУ, ТУСУР, 2012. – 110 с.
В учебном пособии излагаются принципы построения систем управления
и контроля бытовой радиоэлектронной аппаратуры, элементная база систем
управления; рассматриваются однокристальные микроконтроллеры в
системах управления радиоэлектронной аппаратурой, их структура, система
команд, организация взаимодействия микроконтроллера с объектами
управления, интерфейсы шин передачи данных, устройства дистанционного
управления аппаратурой.
Пособие предназначено для студентов радиотехнических специальностей
ВУЗа, в частности специальностей «Аудиовизуальная техника», «Бытовая
радиоэлектронная аппаратура», «Сервис».
© Кормилин В.А., 2012
© Кафедра Телевидения и управления, ТУСУР, 2012
3
СОДЕРЖАНИЕ
Устройства управления бытовой
радиоэлектронной аппаратурой ..................................5
Содержание курса ................................................................................................................................5
Введение в системы управления ........................................................................................................5
Датчики.................................................................................................................................................6
Принципы построения систем управления
и контроля БРЭА ...........................................9
Однокристальные контроллеры .......................................................................................................10
Контрольные вопросы ....................................................................................................................... 13
Системы дистанционного управления ............................................................................................... 13
Определения и термины .................................................................................................................... 13
Система дистанционного управления по протоколу RC-5 ............................................................ 15
Характеристика системы ДУ RC-5 ............................................................................................. 15
Архитектура системы ДУ по протоколу RC-5 ...........................................................................15
Протокол передачи в системе ДУ RC-5 ..................................................................................... 16
Пульт ДУ на основе контроллера РСА84С122А .......................................................................17
Передатчик команд ДУ по протоколу RC-5 SAA3010 .............................................................. 19
Приемная часть системы ДУ .......................................................................................................20
Система RC-5 и распределение команд ...................................................................................... 21
Система дистанционного управления по протоколу ITT ............................................................... 22
Архитектура системы ДУ ............................................................................................................22
Синтез сигналов ДУ по протоколу ITT ...................................................................................... 22
Пульт ДУ на основе передатчика команд SAA1250 .................................................................24
Приемная часть системы ДУ .......................................................................................................25
Контрольные вопросы ....................................................................................................................... 25
Шины управления и обмена информацией ........................................................................................... 26
Введение .............................................................................................................................................26
Шина I2C .............................................................................................................................................26
Концепция I2C-шины ...................................................................................................................26
Общие характеристики ................................................................................................................28
Передача бита ............................................................................................................................... 28
Условия START и STOP ..............................................................................................................28
Передача данных в I2C – шине .........................................................................................................29
Байтовый формат .......................................................................................................................... 29
Подтверждение приема (квитирование) ..................................................................................... 29
Синхронизация ............................................................................................................................. 30
Арбитраж.......................................................................................................................................31
Формат 7-и битной адресации .....................................................................................................31
Особенности 7-и битной адресации ............................................................................................ 32
Расширенная спецификация I2C-шины............................................................................................ 34
Введение ........................................................................................................................................34
10-и битная адресация ..................................................................................................................35
Электрические и временные характеристики
I 2C-шины...........................................36
Адаптер параллельного порта принтера .......................................................................................... 37
IM - шина ............................................................................................................................................37
Контрольные вопросы ....................................................................................................................... 38
Однокристальная ЭВМ архитектуры MCS-51 ...................................................................................... 38
Структура ОЭВМ КМ1816ВЕ51 ......................................................................................................38
Организация памяти МК51 ...............................................................................................................39
Память программ .......................................................................................................................... 39
Память данных .............................................................................................................................. 40
Регистры специального назначения ............................................................................................ 41
Устройство управления и синхронизации ....................................................................................... 44
Порты ввода/вывода .......................................................................................................................... 44
Доступ к внешней памяти .................................................................................................................46
Доступ к внешней памяти программ .......................................................................................... 46
Доступ к внешней памяти данных .............................................................................................. 47
Совмещение адресов ВПП и ВПД .............................................................................................. 48
Таймеры/счетчики ............................................................................................................................. 48
Последовательный порт .................................................................................................................... 52
Режимы работы УАПП ................................................................................................................53
Скорость передачи ....................................................................................................................... 53
Режимы пониженного энергопотребления ...................................................................................... 55
4
Система прерываний ......................................................................................................................... 56
Источники прерываний ................................................................................................................56
Приоритеты прерываний .............................................................................................................57
Процесс прерывания .................................................................................................................... 58
Запись в память программ МК51 .....................................................................................................59
Система команд ОЭВМ КР1816ВЕ51 .............................................................................................. 60
Команды передачи данных ..........................................................................................................61
Арифметические команды ...........................................................................................................63
Логические команды .................................................................................................................... 65
Команды операций с битами .......................................................................................................66
Команды передачи управления ...................................................................................................67
Пример составления простейших программ для ОЭВМ КР1816ВЕ51 .........................................69
Микропроцессорная система на основе ОЭВМ КР1816ВЕ51 ....................................................... 71
Развитие архитектуры MCS-51.........................................................................................................72
Контрольные вопросы ....................................................................................................................... 74
Отображение и ввод информации в БРЭА ......................................................................................... 74
Термины и определения .................................................................................................................... 74
Вакуумные люминесцентные индикаторы ...................................................................................... 77
Жидкокристаллические индикаторы ............................................................................................... 78
Принцип действия и конструктивные модификации ................................................................ 78
Управление ЖКИ ......................................................................................................................... 80
Долговечность ЖКИ .................................................................................................................... 82
Полупроводниковые знакосинтезирующие индикаторы ............................................................... 82
Единичные ППЗСИ ...................................................................................................................... 82
Многоэлементные ППЗСИ ..........................................................................................................84
Другие типы индикаторов ................................................................................................................86
Ввод информации в микро-ЭВМ .....................................................................................................86
Контрольные вопросы ....................................................................................................................... 88
Приложение А ......................................................................................................................................89
Приложение Б .......................................................................................................................................90
Рекомендуемая литература ................................................................................................................109
5
Устройства управления бытовой
аппаратурой
радиоэлектронной
Содержание курса
Предметом изучения курса «Устройства управления бытовой радиоэлектронной аппаратурой»
являются принципы построения систем контроля и управления бытовой радиоэлектронной аппаратурой
(БРЭА) и элементная база систем управления. В рамках курса рассматриваются однокристальные
микроконтроллеры, широко распространенные в системах управления РЭА, их структурная организация,
система команд. Изучаются методы обработки данных в микроконтроллере и организация взаимодействия
микроконтроллера с объектами управления. Рассматриваются протоколы и интерфейсы шин передачи
данных в системах управления и настройки БРЭА, устройства дистанционного управления РЭА, их
структура, методы кодирования команд.
Введение в системы управления
Под управлением обычно понимают целенаправленное воздействие на объект, в результате которого
он переходит в требуемое состояние. Объектом управления назовем ту часть окружающего мира, на
которую можно воздействовать с определенной целью. В качестве объектов управления можно понимать
различные природные и искусственные системы, устройства, явления.
В нашем случае в качестве объектов управления будем понимать отдельные компоненты бытовой
радиоэлектронной аппаратуры и всю систему в целом.
В каждый момент времени объект находится в одном из своих возможных состояний. Любой объект
управления (рисунок 0.1) существует не сам по себе, а в окружающей его среде.
E
X
Объект
управления
Y
U0
Рисунок 0.1 – Взаимодействие объекта управления с окружающей средой
Среда постоянно воздействует на состояние объекта. Эти воздействия можно разделить на три группы:
 объективно существующие и наблюдаемые воздействия (вход объекта X);
 управляющие воздействия, с помощью которых происходит управление объектом (управляющий
вход объекта U0);
 неизмеряемые параметры среды и случайные изменения объекта (вход возмущений E).
Состояние объекта (выход объекта Y) можно представить параметрами, характеризующими его в
каждый момент времени.
Управляющие воздействия U0 подаются на объект с определенной целью. Цель управления – это
требуемое состояние или последовательность состояний объекта во времени. Цель должна быть описана с
помощью параметров Y.
Таким образом, для управления объектом необходима следующая информация:
 перечень возможных состояний объекта;
 перечень входных параметров объекта и диапазоны изменения их значений;
 допустимые управляющие воздействия;
 характер возмущений;
 цель управления объектом.
На основе этой информации для достижения цели управления требуются алгоритмы и средства
преобразования входов объекта в необходимые управляющие воздействия и цели управления – в
последовательность состояний объекта. Под алгоритмом понимают конечный набор правил для однозначного
преобразования исходных данных в выходные.
На рисунке 0.2 приведена обобщенная структура системы управления. В ней имеются датчики,
предназначенные для измерения состояний внешней среды и объекта управления, устройство управления,
формирующее команды управления, исполнительные устройства, преобразующие команды в управляющие
воздействия на входе управления объекта.
Для целенаправленного функционирования устройства управления ему необходимо задать цель
управления Z. Достижение цели осуществляется по алгоритму управления, представляющему собой набор
блоков аппаратных средств или набор программ.
Программы используются в случае, когда в качестве устройства управления применяются
управляющие микроконтроллеры или микро-ЭВМ. Важной особенностью работы таких управляющих
6
микро-ЭВМ и контроллеров, в отличие от обычных микро-ЭВМ, является выполнение ими всех операций в
реальном масштабе времени.
E
Y
X
Объект
Вход
Датчики
входных
сигналов
Информация Xn
с датчиков
U0
управления
Исполнительные
устройства
Команды
U
управления
Устройство
управления
Датчики
состояния
объекта
Yn Информация
с датчиков
Цель управления Z
Рисунок 0.2 – Структурная схема системы управления
Термин «реальное время» обозначает, что задержка реакции устройства управления должна быть
конечной и не превышать определенного значения. Это касается не столько скоростных характеристик
микро-ЭВМ, сколько относится к сложности алгоритмов и программ, реализованных в управляющей микроЭВМ.
При работе микро-ЭВМ и контроллеров в составе системы управления им приходится выполнять
различные действия:
 принимать информацию от датчиков о состоянии окружающей среды и объекта;
 рассчитывать в реальном времени управляющие воздействия и передавать их на исполнительные
устройства;
 отображать, при необходимости, информацию о текущем состоянии системы пользователю на
индикаторах;
 принимать и обрабатывать команды пользователя по изменению условий процесса управления.
Управляющие микро-ЭВМ отличаются от обычных микро-ЭВМ и способом разработки программного
обеспечения. Микро-ЭВМ, встроенные в оборудование, не имеют соответствующего набора внешних
устройств (дисплеи, принтеры, внешние накопители и т.д.) и поэтому не пригодны для разработки и отладки
программного обеспечения. В этом случае, либо программное обеспечение создается на аналогичной микроЭВМ, но имеющей необходимый набор внешних устройств, либо программы разрабатываются и
отлаживаются на универсальных ЭВМ, с использованием симуляторов – программных моделей
управляющей микро-ЭВМ или контроллера.
Последний способ разработки программного обеспечения называется кросс-технологией. При этом
применяются программы: кросс-транслятор, кросс-компоновщик и кросс-отладчик.
Датчики
Датчиками называют устройства, формирующие электрические сигналы под воздействием внешних
раздражающих факторов. По формируемым датчиками сигналам можно опознавать и измерять
характеристики этих факторов. Существует множество явлений и эффектов, видов преобразования свойств
и энергии, которые можно использовать для создания датчиков.
Для датчиков технических систем необходимо преобразование интересующих явлений и эффектов в
электрические сигналы. Некоторые датчики выполняют такое преобразование напрямую, за счет
соответствующего физического явления. Терморезистор, например, изменяет сопротивление в зависимости
от окружающей температуры.
Другие датчики требуют промежуточного преобразования. Примером такого датчика можно назвать датчик
обледенения, выполненный на основе оптического элемента. Осаждение инея приводит к изменению
освещенности, которое и преобразуется в электрический сигнал.
Из всего многообразия подобных устройств рассмотрим несколько наиболее важных типов датчиков.
Температурные датчики. С температурой мы сталкиваемся ежедневно, это наиболее знакомая нам
физическая величина. Температурные датчики отличаются особенно большим разнообразием типов и
являются самыми распространенными (таблица 0.1).
Таблица 0.1 – Температурные датчики
Тип датчика
Принцип действия
Примерный
диапазон
температур
7
Тип датчика
Биметаллический датчик
Платиновый термометр
сопротивления
Принцип действия
Тепловое расширение
Изменение
электрического
Окончание таблицы 0.1 сопротивления
Термопара
Генерация термо-ЭДС
Термоферрит
Изменение магнитной
проницаемости
Диод,
транзистор, Изменение
тиристор
проводимости
Инфракрасный
Тепловое излучение
пироэлектрический
детектор
Кварцевый резонатор
Изменение частоты
Плавкий предохранитель Деформация,
разрушение
Примерный
диапазон
температур
-50 - +500 С
-50 - +300 С
-100 - +1300 С
-20 - +150 С
-20 - +100 С
-150 - +1300 С
-20 - +200 С
+40 - +400 С
Как можно заключить из приведенной таблицы, различные температурные датчики имеют различную
чувствительность и разный диапазон рабочих температур. В последнее время практическое применение
нашли интегральные температурные датчики, имеющие на одном кристалле термочувствительный диод,
усилитель и периферийные схемы для связи с микро-ЭВМ.
Оптические датчики. Подобно температурным, оптические датчики отличаются большим разнообразием
и массовостью применения. По принципу преобразования «свет - электрический сигнал» в оптических датчиках
можно выделить типы, основанные на следующих явлениях:
 эффект фотоэлектронной эмиссии;
 эффект фотопроводимости;
 фотогальванический эффект;
 пироэлектрический эффект.
Фотоэлектронная эмиссия – это испускание электронов при падении света на физическое тело.
Эффект фотопроводимости связан с изменением электрического сопротивления физического тела
при облучении его светом.
Фотогальванический эффект – это возникновение ЭДС на выводах p-n перехода в облучаемом светом
полупроводнике.
Пироэлектрический эффект связан с появлением на поверхности физического тела электрических
зарядов при изменении уровня освещенности.
Преимущества оптических датчиков перед датчиками других типов заключаются в следующем:
 возможность бесконтактного обнаружения;
 возможность за счет изменения оптики работать с объектами чрезвычайно больших или очень
малых размеров;
 высокая скорость реакции;
 обширная сфера использования, например, от измерения перемещения до определения формы и
распознавания предметов.
Однако среди оптических датчиков практически нет датчиков, обладающих достаточной
чувствительностью во всем световом диапазоне. Большинство датчиков имеют оптимальную
чувствительность в довольно узкой зоне ультрафиолетовой, видимой или инфракрасной части спектра.
К недостаткам оптических датчиков следует также отнести чувствительность к загрязнению, уровням
посторонней фоновой засветки.
Датчики давления. Такие датчики используются в задачах измерения давления газов, массы и
положения твердых тел, уровня и расхода жидкости.
Обычным способом реакции на изменение давления в таких датчиках является эффект деформации
упругих тел (диафрагмы, мембраны и т.д.). Но при использовании эффекта деформации трудно получить
электрический сигнал. В датчиках давления типа потенциалометрических (реостатных), емкостных,
индукционных и ультразвуковых на выходе имеется электрический сигнал, но сами датчики более дорогие и
сравнительно сложны в изготовлении.
Более перспективным является использование тензометров. Полупроводниковые диффузионные
тензометры обладают высокой чувствительностью, малыми размерами, легко сопрягаются с
периферийными схемами.
8
При изготовлении тензометра на поверхности кристалла кремния с n-проводимостью по
тонкопленочной технологии формируется круглая диафрагма. На ее краях (рисунок 0.3) наносят пленочные
резисторы, имеющие p-проводимость и ориентированные вдоль осей.
+
R1
R1
R2
R2
R2
Uвых
R2
R1
R1
-
Рисунок 0.3 – Конструкция и схема тензометрического датчика
При приложении давления сопротивление одной пары резисторов увеличивается, а другой –
уменьшается. С помощью мостовой схемы формируется выходной сигнал датчика. Недостатками этого типа
датчика является температурная зависимость, небольшой срок службы.
Полупроводниковые датчики давления широко используются в автомобильной электронике,
компрессорах, системах измерения артериального давления крови и т.д.
Датчики влажности и газоанализаторы. Влажность – физический параметр, с которым человечество
имеет дело очень давно. Раньше датчиком влажности выступал человеческий или конский волос,
изменяющий свою длину при изменении влажности. Позднее применяли специальную полимерную пленку,
разбухающую от воды. Однако, датчики на этой основе обладают нестабильностью характеристик во
времени, узким рабочим диапазоном, наличием гистерезиса чувствительности.
В настоящее время для датчиков используется специальная пористая керамика и твердые электролиты.
В этих датчиках устранены описанные выше недостатки. Датчики на основе керамики используются в
видеомагнитофонах и видеокамерах для обнаружения повышенной влажности с последующим переводом
аппаратуры в нерабочее состояние до высыхания. Другой областью применения этих датчиков можно
назвать схемы управления электронными кухонными плитами. В плитах по уровню влажности можно
судить о степени готовности блюда.
Газовые датчики или газоанализаторы используются в бытовых случаях для обнаружения утечек
горючего газа. Датчики могут использовать свойства явления катализа в твердых электролитах,
интерференции и поглощения инфракрасных лучей, свойств полупроводниковой керамики, работающей по
принципу каталитического горения.
Однако газовые датчики обладают большой избирательной характеристикой относительно газовой
среды.
Магнитные датчики. Магнитные датчики, как и оптические, имеют возможность бесконтактного
измерения и обнаружения, обладают высоким быстродействием. Однако для этих датчиков важен фактор
расстояния, требуется достаточная близость к источнику магнитного поля. По классификации магнитных
датчиков можно выделить датчик Холла, магниторезистор, датчик Джозефсона.
Среди магнитных датчиков широко известен датчик Холла. Принцип эффекта Холла основан на
возникновении разности потенциалов на гранях твердого тела при протекании тока в условиях приложения
магнитного поля перпендикулярно направлению электрического тока. Датчики Холла в интегральном
исполнении широко применяются в двигателях видеомагнитофонов и видеокамер для определения
положения, угла поворота и управления частотой вращения двигателя.
Магниторезистивные датчики изменяют свое сопротивление в магнитном поле. Более ранними
являются магниторезисторы на основе полупроводников. Сейчас активно разрабатываются
магниторезисторы на основе ферромагнетиков. Для последнего вида характерна высокая чувствительность и
технологичность производства. Датчики применяются в магнитных головках многодорожечных цифровых
магнитофонов. Недостатком отмечают узкий динамический диапазон обнаружения изменений магнитного
поля.
Перспективными являются магнитные датчики на эффекте Джозефсона – явлении
низкотемпературной сверхпроводимости, зависящей от магнитных полей. Датчики на этом принципе
отличаются сверхвысокой чувствительностью к изменению магнитного поля. В качестве недостатка можно
назвать относительную сложность изготовления и применения, особенно за счет необходимости
использования очень низких температур при работе.
Перечисленные типы датчиков являются очень интересными и распространенными. Можно также
назвать и другие типы датчиков: звуковые, радиационные, рентгеновские, СВЧ-датчики, датчики вибрации,
скорости вращения, датчики вкуса, запаха и т.п.
К современным датчикам предъявляются довольно жесткие требования:
9
 Высокие качественные характеристики: чувствительность, точность, линейность, скорость отклика,
взаимозаменяемость.
 Высокая надежность: длительный срок службы, устойчивость к влияниям внешней среды,
безотказность в работе.
 Технологичность: малые габариты, масса, низкая себестоимость, простота конструкции.
При подключении датчиков к устройству управления, выполненного на основе микро-ЭВМ,
появляются дополнительные возможности и для самих датчиков. Частично удается скомпенсировать
недостатки датчиков. При этом:
 линеаризуется нелинейная характеристика конкретного типа датчиков;
 подавляются шумы датчика;
 корректируются чувствительность датчика и точка нуля, которые могут изменяться при длительной
эксплуатации;
 производится автоматическая диагностика датчиков.
В дальнейшем для разработки датчиков будут ужесточены требования:
 Интегральное исполнение. В датчиках обязательными будут интерфейсные схемы, усилители, АЦП
и.т.д.
 Комбинирование. В одном корпусе нужно объединять несколько датчиков, либо объединять
датчики с исполнительными устройствами.
 «Интеллектуализация». На кристалле датчиков необходим микропроцессор, обрабатывающий и
контролирующий состояние датчиков. Микропроцессор также должен принимать решение относительно
полученных данных. Такая необходимость актуальна в системах обеспечения безопасности, где
недопустима ложная информация и важна малая протяженность и недоступность линии передачи данных к
устройству управления.
Принципы построения систем управления
и контроля БРЭА
Основной тенденцией развития систем управления и контроля бытовой РЭ аппаратурой является их
массовая интеграция и унификация составных блоков.
В своем развитии радиоэлектронная аппаратура начинала путь со схем на электронных лампах.
Ламповая РЭА имела скудные функциональные возможности, большие габариты, значительную
потребляемую мощность и низкую надежность. Появление полупроводников позволило снизить габариты,
потребляемую мощность, расширить сервисные возможности РЭА. В эту пору аппаратура создавалась
методом сборки отдельных радиокомпонентов, монтируемых на платах, соединяемых с помощью шлейфов
или специальных коммутационных кросс-плат.
Аналоговый характер работы схем, отсутствие унификации блоков аппаратуры не позволяли создавать
сложные системы контроля и управления бытовой РЭА. Любое расширение функциональных возможностей
разрабатываемой радиоэлектронной аппаратуры было связано с повышением потребляемой мощности,
увеличением стоимости РЭА, снижением ее надежности. Дополнительным мешающим фактором являлся
нецентрализованный характер управления компонентами РЭА (рис. 0.4). Элементы управления (регуляторы,
выключатели, коммутаторы и т.д.) были напрямую связаны с компонентами управления РЭА.
Орган
управления
Орган
управления
Орган
управления
Бытовое
радиоэлектронное
устройство
Объект
управления –
компонент
БРЭА
Объект
управления –
компонент
БРЭА
Объект
управления –
компонент
БРЭА
Рисунок 0.4 – Структура схемы управления простой БРЭА
При настройке, модернизации, изменении в схеме управления аппаратуры каждый элемент требовал
индивидуального подхода, отдельной разработки. Сложной задачей было выполнение функций контроля
работоспособности, функциональности устройства управления и всей РЭА.
10
Современное развитие радиоэлектроники, больших (БИС), сверхбольших (СБИС) и гибридных
интегральных схем, микропроцессоров (МП) и микро-ЭВМ позволило сделать значительный шаг в развитии
систем контроля и управления бытовой РЭА. Появилась возможность широкой интеграции и унификации
узлов и компонентов как самой РЭА, так и схем управления и контроля. В схемах управления часто стали
использовать цифровые методы и цифровые компоненты.
Основной чертой современных систем управления и контроля БРЭА является высокая централизация
функций управления за счет широкого использования микроконтроллеров (МК) и специализированных
интегральных схем (рис. 0.5). При этом появилась возможность унификации как органов управления, так и
объектов управления, входящих в различные виды бытовой РЭА.
Объект
управления –
компонент
БРЭА
Орган
управления
Орган
управления
Дистанционный
орган
управления
Микроконтроллер
или
специализированная
интегральная схема
Орган
управления
Объект
управления –
компонент
БРЭА
Объект
управления –
компонент
БРЭА
Объект
управления –
компонент
БРЭА
Рисунок 0.5 – Структура современной системы управления БРЭА
По этой причине разработка системы контроля и управления выполняется на высоком технологическом
уровне при низкой стоимости работы, высокой функциональности, возможности модификации, перестройки
на новые условия работы. При этом имеется возможность выпускать целую серию комплектов аппаратуры
одного вида, отличающихся по функциональным возможностям, стоимости, области применения, но
имеющих схожую структуру строения. В этом случае различия начинаются на уровне программной
реализации функций управления, выполняемых в микроконтроллере. За счет серийности выпуска
значительно падает стоимость аппаратуры, упрощается процедура управления сложной БРЭА.
В настоящее время широко применяют однокристальные микроконтроллеры. В этом случае для БРЭА
характерна программная перестройка режимов работы аппаратуры, функций управления, контроля и
самоконтроля при низкой стоимости и практически неограниченных возможностях модификаций, ремонта,
настройки.
Однокристальные контроллеры
Значительный прогресс и улучшение характеристик однокристальных микроконтроллеров (ОМК)
объясняет широкое распространение их в системах управления БРЭА. В микросхеме ОМК на одном
кристалле расположен полный набор компонентов микропроцессора: АЛУ, регистры, память программ,
память данных, порты ввода/вы-вода. Для ОМК характерно наличие небольшого объема памяти программ и
данных, простой набор команд, сравнительно ограниченные возможности ввода-вывода информации. ОМК
находят применение в качестве специализированного вычислителя, включаемого в контур управления
объектом или процессом.
При использовании контроллеров разработчик избавляется от необходимости разработки процессорной
части устройства и может уделить больше внимания программному обеспечению, схемам сопряжения
контроллера с датчиками, исполнительными механизмами объекта управления. При этом значительно
снижаются затраты на разработку и изготовление плат, как следствие, увеличивается скорость выполнения
разработки.
Многие известные зарубежные фирмы разработали и выпускают целые серии однокристальных
микроконтроллеров и микро-ЭВМ. Эти ОМК отличаются друг от друга системой команд, разрядностью
архитектуры, быстродействием, структурным составом, областью применения. Несмотря на эти
обстоятельства, с точки зрения пользователя, между ОМК, микро-ЭВМ разных производителей значительно
меньше различий, чем сходства. Приведем характеристики некоторых серий микро-ЭВМ, применяемых в
бытовой, медицинской, связной и другой радиоэлектронной аппаратуре [1].
Микро-ЭВМ серии PD-75х фирмы NEC представляют собой однокристальные 4-х разрядные микроЭВМ с различными емкостями программ и данных. Микро-ЭВМ управляют данными в 1/4/8 битовом
формате и имеют разнообразные порты ввода/вывода, которые могут функционировать при различных
напряжениях питания и токах нагрузки (например, для прямого управления светодиодными индикаторами и
подключения клавиатуры). Эти микро-ЭВМ применяются в схемах управления видеомагнитофонов,
видеокамер, CD-проигрыва-телей, радиоприемных устройств, копировальных аппаратов, телефонных
аппаратов, электронных кассовых аппаратов, медицинской технике и в других случаях.
11
Некоторые наиболее важные характеристики однокристальных микро-ЭВМ семейства PD-75х
приведены в таблице 0.2:
Таблица 0.2 – Типовые характеристики микро-ЭВМ семейства PD-75х
Характеристики
Емкость ПЗУ
Емкость ОЗУ
Окончание
табл.
1.2
Тактовая
частота
Время выполнения команд
Регистры общего назначения
Таймеры/Счетчики
Последовательный интерфейс
Аналого-цифровой
преобразователь
Система прерываний
Минимальные
Максимальные
значения
значения
4096 * 8 бит
16256 * 8 бит
396 * 4 бит
1024 * 4 бит
32768 Гц
4.19 МГц
0,95 мкс
122 мкс
8*4 бит / 4*8 бит
3
4
3 или 2-х проводной стандарта NEC
8 бит * 8 каналов
-
3 внешних и
3 внешних и
3 внутренних
5 внутренних
а) Режим холостого хода;
б) Спящий режим
+2.7 В
+6 В
Пониженное
энергопотребление
Напряжение питания
Серия содержит большое число разнообразных микро-ЭВМ, совместимых на программном уровне,
предназначенных для выполнения разнообразных задач управления РЭА. Перечислим имеющиеся ЭВМ
этой серии: PD75004, PD75006, PD75008, PD75028, PD75036, PD75104, PD75108, PD75111, PD75112,
PD75116, PD75208, PD75212, PD75216, PD75238, PD75304, PD75306, PD75316 и другие.
Примером развития микро-ЭВМ серии PD-75x можно назвать быстродействующую архитектуру
микро-ЭВМ серии COM-75x. Для сравнения в таблице 0.3 приведены только улучшенные характеристики, в
сравнении с микро-ЭВМ серии PD-75x.
Таблица 0.3  Характеристики микро-ЭВМ серии COM-75x
Характеристики
Емкость ПЗУ
Тактовая частота
Время выполнения команд
Регистры общего назначения
Таймеры/Счетчики
Последовательный интерфейс
Система прерываний
Новое значение
32640 * 8 бит
6.0 МГц
0,67 мкс
(8*4/4*8) *4 банка
5
2 канала
4 внешних и 5 внутренних
Микро-ЭВМ серии LC6xxx фирмы SANYO представляют собой однокристальные 4-х разрядные
микро-ЭВМ с высокопроизводительным ядром. Часть выводов микро-ЭВМ могут прямо управлять
вакуумными люминесцентными индикаторами и светодиодами. Микро-ЭВМ применяется в схемах
управления и индикации музыкальных центров, усилителей, видеомагнитофонов, телефонов,
автоответчиков, факсимильных аппаратов и другом оборудовании.
Перечислим некоторые микро-ЭВМ этой серии: LC65204А, LC662304А, LC662306А, LC662308А,
LC662312А, LC662312А, LC66304А, LC66306А, LC66308А, LC66354В, LC66356В, LC66358В, LC66506В,
LC66508В, LC66512В, LC66516В и другие.
Наиболее важные характеристики микро-ЭВМ серии LC6xxx приведены в таблице 0.4.
Таблица 0.4 – Характеристики микро-ЭВМ серии LC6xxx
Характеристики
Емкость ПЗУ
Емкость ОЗУ
Тактовая частота
Время выполнения команд
Регистры общего назначения
Таймеры/Счетчики
Последовательный интерфейс
Аналого-цифровой
преобразователь
Минимальные
Максимальные
значения
значения
4096 * 8 бит
16384 * 8
256 * 4 бит
512 * 4
32768 Гц
4.33 МГц
0,92 мкс
61 мкс
8*4 бит/4*8 бит
2
8 разрядный
8 бит * 2 канала
8 бит * 8 каналов
12
Характеристики
Система прерываний
Пониженное
энергопотребление
Напряжение питания
Минимальные
Максимальные
значения
значения
2 внешних и
6 внешних и
3 внутренних
7 внутренних
а) Режим холостого хода;
б) Спящий режим
+2.7 В
+6 В
Микро-ЭВМ серии LC86x фирмы SANYO относятся к 8 разрядным однокристальным микро-ЭВМ и
имеют различную емкость внутренних ПЗУ и ОЗУ. Имеются варианты микросхем с электрически
перепрограммируемыми ППЗУ и с однократно программируемыми ПЗУ.
Перечислим микро-ЭВМ этой серии, опубликованные в [1]: LC865008В, LC865012В, LC865016В,
LC865020В, LC865008В, LC866216А, LC866220А, LC866224А, LC866228А, LC866232А.
Наиболее важные характеристики микро-ЭВМ серии LC86x приведены в таблице 0.5.
Таблица 0.5 – Типовые характеристики микро-ЭВМ серии LC86x
Характеристики
Емкость ПЗУ
Емкость ОЗУ
Тактовая частота
Время выполнения команд
Регистры общего назначения
Таймеры/Счетчики
Последовательный интерфейс
АЦ преобразователь
Система прерываний
Пониженное
энергопотребление
Напряжение питания
Минимальные
Максимальные
значения
значения
8192 * 8 бит
32512 * 8 бит
384 * 8 бит
640 * 8 бит
800 кГц
12 МГц
0,92 мкс
61 мкс
8*4 бит/4*8 бит
2*8 или 1*16 бит
8 бит * 2 канала
8 бит * 8 каналов
5 внешних,
5 внешних,
8 внутренних;
9 внутренних;
3 уровня
3 уровня
приоритета
приоритета
а) Режим холостого хода;
б) Спящий режим
+5.0В
Микро-ЭВМ серии 68HCxx фирмы MOTOROLA относятся к 8 разрядным однокристальным микроЭВМ с различной емкостью памяти программ и данных. Серия микро-ЭВМ находит применение в
устройствах управления компьютерными мониторами, средствах беспроводной связи, устройствах сбора
информации, телефонии и автомобильной электронике.
Примеры микро-ЭВМ этой серии: 68HC05В, 68HC11Е.
Наиболее важные характеристики микро-ЭВМ фирмы MOTOROLA приведены в таблице 0.6
Таблица 0.6 – Типовые характеристики микро-ЭВМ серии 68HCxx
Характеристики
Тактовая частота
Емкость ПЗУ
Емкость ОЗУ
Таймеры/Счетчики
Минимальные
Максимальные
значения
значения
2 МГц
5 МГц
4160* 8 бит
20К * 8 бит
176 * 8 бит
768 * 8 бит
1 * 16 бит многофункциональный
Окончание таблицы 0.6
Характеристики
Последовательный интерфейс
АЦ преобразователь
Пониженное
энергопотребление
Минимальные
значения
Максимальные
значения
Синхронный SPI
2
2 проводной I C
асинхронный SCI
6 бит * 4 канала
8 бит * 8 каналов
а) Режим холостого хода;
б) Спящий режим
Микро-ЭВМ серии AT89 фирмы ATMEL представляют собой 8 разрядные однокристальные микроЭВМ с различными емкостями внутренних ПЗУ команд, ОЗУ данных, типами запоминающих устройств,
13
различной тактовой частотой. Микро-ЭВМ находят применение в качестве встроенных управляющих
микроконтроллеров в промышленной и бытовой аппаратуре.
В семейство входят АТ89С1051, АТ89С2051, АТ89С51, АТ89LV51, АТ89С52, АТ89LV52, АТ89S8252 и
т.д. Семейство по структуре, расположению выводов и по системе команд совместимо с семейством серии
MSC-51, рассматриваемой в другом разделе.
Микро-ЭВМ серии AT90S фирмы ATMEL представляют собой высокопроизводительные 8
разрядные однокристальные RISC - микроконтроллеры с различными емкостями внутренних ПЗУ команд,
ОЗУ данных, типами запоминающих устройств, различной тактовой частотой. Контроллеры находят
применение в качестве встраиваемых управляющих микроконтроллеров.
В семейство входят AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4434,
AT90S8535, AT90S8515, AT mega 103, AT mega 603 и другие.
Важные характеристики данного семейства приведены в таблице 0.7.
Таблица 0.7 – Типовые характеристики микро-ЭВМ серии AT90S
Характеристики
Тактовая частота
Время выполнения команд
Емкость ПЗУ команд
Емкость ОЗУтабл.
данных
Окончание
1.7
Таймеры/Счетчики
Последовательный интерфейс
АЦ преобразователь
Пониженное
энергопотребление
Напряжение питания
Минимальные
Максимальные
значения
значения
0 – 6 МГц
12 МГц
83,3 мкс
 – 166,6 мкс
512* 16 бит
64К * 16 бит
64 * 8 бит
64К * 8 бит
1 * 8 бит
3 *16 бит
–
UART
–
10 бит * 8 каналов
а) Режим холостого хода;
б) Спящий режим
+2.7 В
+6 В
Микро-ЭВМ серии MSC-51 фирмы INTEL представляют собой 8 разрядные однокристальные
микро-ЭВМ с различными емкостями внутренних ПЗУ команд, ОЗУ данных, типами запоминающих
устройств, различной тактовой частотой, разным внутренним набором компонентов и количеством разрядов
ввода/вывода.
Среди микро-ЭВМ этой серии можно назвать 8031AH, 8051AH, 8751BH, 80C32, 80C32, 87C52, 80C54,
87C54, 87C58, 80C51GB, 83C51GB, 87C51GB и еще более 35 представителей семейства. Более подробная
характеристика будет дана в следующих разделах.
Из рассмотренных примеров можно сделать вывод, что решение с помощью микро-ЭВМ задач
управления в бытовой РЭА требует некоторого схожего набора характеристик по объему программ, данных,
длительности выполняемых команд и других. Поэтому, при кажущихся серьезных различиях структур
микро-ЭВМ разных фирм, для разработчика и пользователя управляющие микро-ЭВМ и
микроконтроллеры, используемые в БРЭА, весьма близки.
Для изучения можно ограничиться одним, наиболее характерным представителем разнообразного
множества управляющих микро-ЭВМ и микроконтроллеров. В практической деятельности при
рассмотрении другого представителя этого множества микроконтроллеров достаточно будет уяснить
имеющиеся различия в архитектуре, системе команд и используемых ресурсах.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
Дайте определение понятию «управление».
Дайте определение понятию «объект управления».
Дайте определение понятию «цель управление».
Дайте определение понятию «алгоритм управление».
Дайте определение понятию «кросс-технология».
Перечислите сходства между управляющими микро-ЭВМ разных производителей.
Системы дистанционного управления
Определения и термины
Появление систем дистанционного управления (ДУ), применяющих для передачи команд кодовые
посылки в диапазоне инфракрасного излучения (ИК-лучи), позволило приобрести принципиально новые
потребительские качества аппаратуры, такие как беспроводное помехозащищенное дистанционное
управление ее включением и выключением, переключением программ и режимов работы устройства,
14
регулировкой звука, яркости и прочее. Стало удобно управлять запоминанием десятков программ, выводом
информации на индикаторы или непосредственно на телевизионный экран и т.д.
На рис.0.1 показаны компоненты пульта ДУ, компоненты приемной части системы ДУ, перечислены
некоторые системы команд управления, нашедшие широкое применение в бытовой радиоэлектронной
аппаратуре, а особенно в современных видео и аудиосистемах с дистанционным управлением, а также
указаны некоторые разновидности шин управления блоками аппаратуры [2].
Бытовое
Радиоэлектронное
устройство
Пульт дистанционного
управления
(ПДУ)
Ж
К
И
Контроллер
или
передатчик
команд ДУ
У
Ф
ИК-лучи
Системы команд
управления
Код RC-5
(фирма PHILIPS)
Код ITT
(фирма ITT)
Код SIEMENS
(фирма SIEMENS)
Входной
усилитель или
приемник ИК сигналов
К другим блокам устройства
Контроллер
Дешифратор
ПЗУ
ОЗУ
Энергонезависимая
память
Типы шин управления
I2C – шина
(фирма PHILIPS)
IM – шина
(фирма ITT)
S – шина
(фирма THOMSON)
Рисунок 0.1 – Системы команд управления
и типы шин управления
Следует отметить, что встречающиеся на отечественных пультах дистанционного управления
обозначения RC-4; RC-10; RC-500 и т.п. являются не обозначением системы команд, а лишь
внутризаводской маркировкой.
Всю систему ДУ можно условно разбить на передающую и приемную части. Рассмотрим составные
части системы ДУ на примере телевизионного приемника.
Передающая часть
Обычно передающая часть представляет собой пульт дистанционного управления (ПДУ).
Современные ПДУ состоят из клавиатуры, жидкокристаллического индикатора (ЖКИ), контроллера,
усилителя-формирователя (У-Ф) и излучающего инфракрасного светодиода. В простых случаях ЖКИ может
отсутствовать, а вместо контроллера может применяться микросхема передатчика команд ДУ.
Контроллер - микросхема, которая, кроме функции шифрации команд управления ТВ-приемником,
имеет встроенную память и может управлять ЖКИ.
Передатчик команд ДУ - микросхема, предназначенная для шифрации команд управления ТВприемником. Иногда его называют «шифратором». В соответствии с форматом конкретной системы команд
управления передатчик команд ДУ формирует электрический сигнал и подает его на усилительформирователь.
Усилитель-формирователь - устанавливается на выходе контроллера или передатчика и выполняет
функции формирования и усиления по мощности сигнала, поступающего на ИК-излучающий диод. В
простом случае состоит из транзистора, работающего в ключевом режиме.
Жидкокристаллический индикатор - предназначен для отображения вводимой или текущей
информации.
Приемная часть
Приемник системы ДУ обычно включает в себя фотодиод, входной усилитель, контроллер и
энергонезависимую память. В случае, когда энергонезависимая память и перечисленные выше типы шин
управления не используются, на выходе входного усилителя вместо контроллера ставится микросхема
дешифратора команд ДУ.
Входной усилитель - микросхема, выполняющая функцию преобразования ИК-сигналов с выхода
приемного фотодиода, в импульсную последовательность, соответствующую передаваемому коду для
подачи на дешифратор или контроллер. В литературе может называться «предусилителем».
В настоящее время выпускаются микросхемы, объединяющие входной усилитель со схемой
автоматической регулировки усиления (AРУ), фотодиод, светофильтр, полосовой фильтр и формирователь
выходного сигнала. Такие схемы называются «приемниками ИК-сигналов».
Дешифратор команд - микросхема, выполняющая в основном функции дешифрации команд
управления ТВ-приемником и не имеющая в своем составе запоминающего устройства. По простому может
называться «приемником».
Контроллер - микросхема, которая, кроме функции дешифрации команд управления ТВ-приемником,
имеет встроенную постоянную память (ПЗУ), программируемую на заводе-изготовителе или потребителем,
15
и может обмениваться информацией в процессе работы с внешней энергонезависимой памятью и другими
блоками ТВ-приемника. В литературе может называться «микроконтроллером», «микропроцессором»,
«процессором», «компьютером».
Энергонезависимая память - микросхема, сохраняющая данные о настройке на конкретные ТВканалы и значения заводских и пользовательских регулировок (яркость, контрастность и т.п.) при
отключении приемника от сети.
Система дистанционного управления по протоколу RC-5
Характеристика системы ДУ RC-5
Бесспорна высокая значимость и перспективность разработок, ориентированных на упрощение
организации управления, применяемого в широком диапазоне современного сложного бытового
электронного электротехнического оборудования и аппаратуры, путем введения шинной организации
последовательного обмена цифровыми данными между интегральными схемами. Естественным результатом
перехода к цифровому управлению стало активное развитие средств и методов дистанционного управления,
позволяющих упростить и автоматизировать многие рутинные операции ручного управления бытовой
аппаратурой, повысить эргономичность этой аппаратуры. Несомненным является также тот факт, что
неукомплектованность набора команд контроллеров дистанционного управления и нестандартизованность
таких команд, а также протоколов обмена данными означает невозможность полноценно и в любой момент
времени использовать все дистанционно управляемое оборудование, управляя им от единого переносного
пульта дистанционного управления.
Для разрешения этих проблем фирма Philips разработала протокол дистанционного управления RC-5
позволяющий унифицировать организацию дистанционного управления аппаратурой потребителя.
Очевидно, что для обеспечения правильной отработки команд оборудованием различных фирмизготовителей необходимо стандартизованное распределение кодов команд и адресов систем. Подобная
стандартизация проведена фирмой Philips. Фирмой также предусмотрена организационная процедура
введения новых или дополнительных кодов в систему RC-5.
Протокол RC-5 включает до 4096 команд, упорядоченных в виде 32 независимо адресуемых групп,
каждая из которых содержит по два набора (set) с 64 командами в каждом. В каждом наборе отдельно
упорядочены контролируемые параметры соответствующей аппаратуры или системы. Благодаря тому, что
большинство команд предназначено для выполнения аналогичных функций в различной аппаратуре
(например, ТВ-приемник, видеомагнитофон, акустическая система), система RC-5 позволяет с единого
переносного пульта дистанционного управления со сравнительно небольшим числом клавиш обеспечить как
независимое управление контролируемыми параметрами каждого устройства, так и комплексное, групповое
управление разнообразной аппаратурой как единой интегрированной системой.
Фирма Philips разработала также новый набор (семейство) ИМС для дистанционного управления,
который включает в себя передатчик команд ДУ, контроллер и ИК-приемник. Предусмотрено
программирование передатчика для работы по протоколу RC-5 либо по любому другому протоколу,
который определяет разработчик аппаратуры.
Архитектура системы ДУ по протоколу RC-5
Базовая конфигурация (рисунок 0.2) системы дистанционного управления состоит из переносного
пульта дистанционного управления с клавиатурой и передатчиком команд, который формирует сигналы
срабатывания схемы на инфракрасных излучающих диодах (ИКД), ИК-приемника либо входного усилителя,
клавиатуры панели ТВ-приемника и программ декодирования для центрального контроллера аппаратуры,
для управления которой предназначены поступающие команды.
Изделие пользователя
Контроллер
или
передатчик
команд ДУ
Клавиатура 8Х8
У
Ф
Входной
усилитель
ИК-лучи
Пульт
ДУ
Центральный
контроллер
Клавиатура
ТВприемника
Рисунок 0.2 – Система дистанционного управления RC-5
Передатчик команд ДУ - это специализированный контроллер (на ИМС РСА84С122) с масочным
программированием, предназначенный для формирования требуемого выходного сигнала цифровых
данных. В несложных и недорогих системах используются специализированные микросхемы передатчика
16
команд ДУ типа SAA3006, SAA3010. Поток бит командного слова модулирует несущую частоту 36 кГц и
последовательно преобразуется в ИК-сигнал активизацией ИКД.
На принимающей стороне системы RC-5 ИК-сигнал от передатчика воспринимается ИК-фотодиодом,
подключенным к входному усилителю, либо ИК-приемником, построенном на ИМС TSA9036. Эта ИМС
выполняет операции демодуляции, усиления и фильтрации сигнала.
Выходной сигнал ИК-приемника, или выходной сигнал схемы опроса локальной клавиатуры ТВприемника, передается непосредственно для декодирования. Декодирование осуществляется программно
контроллером, который обеспечивает управление всеми рабочими операциями и режимами аппаратуры. В
качестве контроллера можно использовать либо PCF84CXX, либо PCB80С51. Фирма Philips имеет в
наличии готовое программное обеспечение, необходимое для подобных задач.
Протокол передачи в системе ДУ RC-5
Командное слово по коду RC-5 состоит из 14 бит. Длительность каждого бита строго фиксирована и
равна 1.778·10-3 сек (1.778 мс). Эта длительность называется бит-интервалом. На передачу всего 14-ти
битового командного слова необходимо 24.889·10-3 сек (24.889 мс). Пока нажата текущая клавиша на
пульте ДУ, командное слово повторяется с интервалом в 64 бита, т.е. с периодичностью 113.78·10-3 сек.
Командное слово (рисунок 0.3) имеет следующий формат:
 Два стартовых бита (S и F) для установки уровня АРУ приемника, первый из которых всегда
логическая «1», а второй - бит задания набора (Field Bit). Он указывает на один из двух возможных
вариантов декодирования команд (коды команд от №0 до №63 в случае логической «1» либо коды команд от
№64 до №127 в случае логического «0»).
 Один управляющий бит (С), состояние которого меняется на противоположное при каждом
размыкании клавишного контакта для обозначения запуска новой передачи.
 Пять бит адреса системы, которые позволяют выбрать одну из 32-х возможных систем.
 Шесть битов команды, предназначенных вместе со вторым старт-битом для передачи одной из 128
возможных команд RC-5.
Для повышения устойчивости к помехам, вызванным влиянием других источников ИК-излучения
(прямые лучи солнечного света, искусственные источники света типа ламп накаливания и люминесцентных
ламп, строчная развертка ТВ-приемников и передатчики стереозвуковых сигналов в ИК-диапазоне),
использован метод двухфазной модуляции. Такой метод кодирования информации называется
Манчестерским кодом.
24.889 мс
113.778 мс
1.778 мс
S F C
1
1
0
Шесть бит команды
Пять бит адреса
0
0
0
0
1
1
0
1
1
1
1
Всего 32 импульса
27.777 мкс
6.944 мкс
Рисунок 0.3 – Временная диаграмма кода RC-5 на примере
команды №47 системы 1
По этому методу (рисунок 0.4) содержимое каждого бита командного слова определяется направлением
изменения логического уровня в середине соответствующего бит-интервала: переход с ВЫСОКОГО на
НИЗКИЙ уровень означает логический «0», а обратный переход (с НИЗКОГО на ВЫСОКИЙ уровень) логическую «1».
17
Логический «0»
1 бит-интервал
Логическая «1»
1 бит-интервал
Рисунок 0.4 – Метод двухфазной модуляции
Перед передачей командного слова через схему на ИКД информационный поток модулируется
частотой 36 кГц. Для этого ВЫСОКИЙ логический уровень внутри бит-интервала (1.778 мс) заполняется
импульсами несущей частоты (36 кГц), имеющей коэффициент заполнения импульсной последовательности
0.25. Каждая такая половина бит-интервала с ВЫСОКИМ логическим уровнем содержит ровно 32 импульса
длительностью 6.944 мкс и периодом повторения 27.777 мкс. За счет модулирования выходного сигнала
достигается снижение потребляемой мощности от автономного источника питания пульта ДУ.
Помехоустойчивость
ИК-сигнал, в силу специфики среды его распространения, испытывает воздействие различных
помехообразующих факторов. Среди основных источников таких помех следует назвать солнце (в основном
прямые лучи солнечного света), искусственные источники света типа ламп накаливания и люминесцентных
ламп, передатчики стереозвуковых сигналов в ИК-диапазоне и строчная развертка в ТВ-приемниках.
Для устранения перечисленных мешающих факторов в схеме приемника используется индуктивная
нагрузка, которая позволяет устранить пульсации с частотами напряжения сети и его гармонических
составляющих. Использование оптического полосового ИК-фильтра позволяет снизить влияние облучения
фотодиода солнечным светом, освещением от ламп накаливания и люминесцентных ламп. Несущая частота
36 кГц системы RC-5 обеспечивает помехозащищенность приемника от излучения системы телевизионной
строчной развертки и беспроводной акустической передачи на стереофонические наушники.
Пульт ДУ на основе контроллера РСА84С122А
Контроллер РСА84С122
Контроллер РСА84С122 является автономным низковольтным 8-разрядным контроллером с малым
энергопотреблением, предназначенным для запуска схемы на инфракрасных диодах в переносном пульте
дистанционного управления. Минимальное значение питающего напряжения равно 2 В. Контроллер
РСА84С122 функционирует на базе центрального процессора серии 84СХХХ с ПЗУ 1 Кбайт и оперативной
памятью 1 Кбайт. Кроме указанного ЦП, в состав ИМС входят следующие дополнительные компоненты:
 стробирование прерываний;
 модулятор для формирования импульсной последовательности с регулируемыми параметрами,
такими как число импульсов в пакете, длительность импульсов и коэффициент заполнения импульсной
последовательности;
 сторожевой таймер (Watchdog Timer) для предотвращения неправильного функционирования либо
для блокирования передатчика;
 генератор импульсов частотой от 1 МГц до 5 МГц;
 формирователь выходного (до 30 мА) тока.
Следует отметить другие существенные показатели контроллера РСА84С122.
 Низковольтное питание (от 2 В до 5.5 В) с малым током потребления.
 Два входа тестирования Т0 и Т1. Вход Т0 можно использовать в качестве входа прерывания, а Т1
можно использовать в качестве входа 8-разрядного счетчика.
 Три источника одноуровневого векторного прерывания: внешнее прерывание (T0/INT и порт 1 для
запуска с клавиатуры), прерывание по таймеру-счетчику (Т1) и прерывание от аппаратного модулятора.
 Восьмиразрядный программируемый таймер с пятиразрядной предварительной пересчетной
схемой. Диапазон рабочих температур от –20 С до +70 С.
 Дежурный режим «Idle» и режим останова «Stop» для сокращения энергопотребления в интервалах
между нажатием функциональных клавиш на переносном пульте дистанционного управления.
 Есть две модификации контроллера: РСА84С122А в пластмассовом SOP-корпусе на 24 вывода, с
опросом клавиатуры 8 на 8, а также РСА84С122В в пластмассовом SOP-корпусе на 20 выводов, с опросом
клавиатуры 6 на 6.
Пример переносного пульта дистанционного управления с автономным контроллером РСА84С122А
фирмы Philips, выполняющим функции передатчика команд в стандарте RC-5, приведен на рисунке 0.5.
18
22 пФ
VDD
3B
47мкФ
Vss
22 пФ
PCA84C122A
ПЗУ 1Кб
Генератор
ОЗУ 1 Кб
Reset
VDD
4.3МГц
Аппаратный
модулятор
Ядро процессора
84Сххх
T1
INT
T0
S1


Выходной
формирователь
12
VDD
VDD
ИК диод
Рисунок 0.5 – Переносной пульт ДУ на контроллере PCA84C122A
Переносной пульт дистанционного управления имеет 60 клавиш и боковой ползунковый
переключатель (S1) для задания альтернативных функций тринадцати клавиш. Каждая из команд
формируется нажатием одной из клавиш, в результате которого происходит непосредственное подключение
соответствующей линии ввода/вывода порта 0 (линии опроса) к одной из линий ввода/вывода порта 1
(линия считывания).
Постоянное напряжение питания (номинальное значение 3 В) передатчика обеспечивают две
последовательно соединенных батареи с параллельно подключенным конденсатором для сглаживания
пульсаций и стабилизации тока цепи ИКД. Коммутация тока цепи ИКД (около 0.8 А) обеспечивается
транзистором. Ток базы транзистора через ограничивающий резистор подается непосредственно с выхода
контроллера в виде пакета импульсов. Боковой переключатель S1 замыкает вход Т1 контроллера на общую
шину для задания альтернативных функций 13 клавиш. Частота встроенного генератора задается
керамическим резонатором на 4.3 МГц.
Программное обеспечение пульта ДУ
Программный пакет дистанционного управления RC-5 для РСА84С122А образуют четыре модуля
программ.
1. Установка системы в исходное состояние и ожидание момента срабатывания клавиши.
2. Опрос клавиатуры.
3. Формирование командного слова дистанционного управления.
4. Передача командного слова.
Рассмотрим программные модули подробнее.
Установка системы в исходное состояние и ожидание момента срабатывания клавиши
После инициализации устанавливается НИЗКИЙ логический уровень на линиях опроса клавиатуры
(строки), при этом контроллер находится в STOP-режиме.
При нажатии клавиши соответствующая линия считывания (столбцы) переходит на НИЗКИЙ
логический уровень. Нулевой сигнал поступает на вход прерывания INT и контроллер переключается в
рабочий режим. В этот момент запускается модуль опроса клавиатуры.
Опрос клавиатуры
Все линии опроса (строки) устанавливаются на ВЫСОКИЙ логический уровень. Затем они
последовательно переключаются на НИЗКИЙ логический уровень. При каждом переключении
осуществляется проверка всех линий считывания на выявление нажатой клавиши. В обнаружении нажатой
клавиши запоминается номер соответствующей клавиши и, если нажата только одна клавиша, выставляется
флаг «Одна клавиша» (One Key). Повторный опрос клавиатуры спустя 20 мс устраняет «дребезг» контактов.
Если подтверждается, что нажата та же самая клавиша, устанавливается флаг «Переключение» (Toggle) -
19
контроллер переходит к выполнению модуля формирования командного слова дистанционного управления.
В случае нажатия нескольких клавиш передача блокируется. Если при повторном опросе нажатой клавиши
не обнаружено, контроллер переходит в STOP-peжим.
Формирование командного слова
Аппаратный модулятор и сторожевой таймер РСА84С122А устанавливаются в исходное состояние.
Проверяется состояние флага «Переключение» (Toggle) для слежения за моментом завершения временного
интервала устранения «дребезга» контактов. При отсутствии установки такого флага процессор ждет
период, равный времени повторения слова команды (114 мс).
Затем формируются и запоминаются стартовые биты и системные биты командного слова. Номер
нажатой клавиши преобразуется в соответствующий код команды. Запускается последний программный
модуль.
Передача командного слова
При использовании керамического резонатора на 4.3 МГц (Рисунок 0.5) частота модуляции равна 35.83
кГц (t = 27.91 мкс), а не 36 кГц. Для формирования пакета импульсов с коэффициентом заполнения 0.25
аппаратный модулятор в РСА84С122А устанавливается на длительность интервала «включено», равного
6.977 мкс, и интервала «выключено» - 20.925 мкс.
При двухфазной модуляции (код Манчестер) число формируемых импульсов с частотой 36 кГц в
«пачке» определяется комбинацией двух соседних бит. Если логические уровни этих двух бит совпадают, то
формируется 32 импульса. Если такая комбинация имеет вид «1-0», то формируется 64 импульса. В случае
комбинации вида «0-1» импульсы не формируются.
Передатчик команд ДУ по протоколу RC-5 SAA3010
Общее описание
Системы дистанционного управления, не имеющие в составе ПДУ контроллер РСА84С122А, для
реализации системы команд по протоколу RC-5 используют передатчик команд ДУ на микросхеме
SAA3010. Такое построение снижает стоимость системы ДУ за счет упрощения функциональных
возможностей всей системы.
ИМС SAA3010 предназначена для реализации системы инфракрасного дистанционного управления
общего назначения (по протоколу RC-5). Характеризуется низким уровнем напряжения питания. ИМС
SAA3010 формирует 2048 различных команд и рассчитана на работу с клавиатурой на однополюсных
нормально-разомкнутых контактах. Команды упорядочены для возможности адресации к 32 системам,
каждая из которых содержит 64 различных команды.
ОСОБЕННОСТИ
 Низкое напряжение питания.
 Метод двухфазной модуляции.
 Генератор с одним внешним выводом.
 Доступность режима тестирования.
Формат кодовой посылки приведен на рисунке 0.6. Посылка состоит из 14 битов, соответствующих
протоколу RC-5. Для уверенного формирования команды требуется минимальный интервал удержания
нажатой клавиши, не менее 18 бит-интервалов.
Минимальное время
удержания нажатой
клавиши
Время
устранения
дребезга
контактов
(16 битинтервалов)
Время
сканирования
(2 битинтервала)
S4 S3 S2 S1 S0 C5 C4 C3 C2 C1 C0
СЗР
Стартовые Управлябиты
ющий бит
МЗР
СЗР
Биты системного
адреса
Кодовая посылка
1-я кодовая
посылка
18 бит-интервалов
МЗР
Командные биты
2-я кодовая
посылка
Период повторения - 64 бит-интервала
Рисунок 0.6 – Формат слова данных
20
При длительном удержании клавиши в нажатом состоянии пульт повторяет кодовую посылку с
периодом в 64 бит-интервала. При обнаружении более одной замкнутой клавиши пульт на 64 бит-интервала
блокируется.
Схема переносного пульта на ИМС SAA3010 приведена на рисунке 0.7.
100
1k
SAA3010
10 k
3B
68
47 k
432 кГц
6.8 k
Клавиатура
Выбор системы
Рисунок 0.7 – Переносной пульт ДУ на ИМС SAA3010
Конструктивно ИМС SAA3010 выполнена в пластмассовом DIP-корпусе или SOP-корпусе на 28
выводов. Диапазон напряжений питания – от 2 до 7 В. Входной и выходной токи – не более 10 мА. Диапазон
рабочих температур – от -25 до +85 С.
Приемная часть системы ДУ
ИК-приемник дистанционного управления
Входной приемник ИК сигнала строится на биполярной ИМС TSA9036. В состав ИМС входит цепь с
фотодиодом для приема ИК-посылок от переносного пульта ДУ. Микросхема принимает
двухфазномодулированный сигнал протокола RC-5 в виде ИК-несущей, модулированной частотой 36 кГц.
ИМС обеспечивает выполнение всех необходимых операций по усилению, фильтрации и формированию
импульсов для подготовки импульсного пакета дистанционного управления для последующего
декодирования этого пакета центральным контроллером аппаратуры.
Из других характерных особенностей ИК-приемника на этой ИМС следует отметить:
 Небольшое число дискретных компонентов.
 Единственное напряжение питания 5 В ±10%.
 Встроенная схема формирования опорного напряжения и подавления пульсаций питания.
 Автоматическое регулирование уровня смещения по постоянному току во входном каскаде для
подавления помех от солнечного излучения и ламп накаливания в ИК-диапазоне.
 Усилители с АРУ, а также регулируемые длительность фронта импульса и длительность самого
импульса.
 Ограничитель.
 Выходной полосовой фильтр на частоту 36 кГц с интегрирующими конденсаторами.
 Выходной формирователь импульсов.
 Рабочий диапазон температур: от 0 С до +80 С.
 Пластмассовый пятивыводной корпус, «прозрачный» в ИК-диапазоне.
Дешифрация контроллером принятых сигналов ДУ
До недавнего времени считалось целесообразным использование специализированных ИМС для
дешифрации сигналов дистанционного управления после демодуляции и усиления в ИК-приемнике. В
подобных системах дешифратор на ИМС мог оставаться в дежурном режиме до тех пор, пока не завершится
прием и преобразование в соответствующий двоичный код правильной команды дистанционного
управления (например, системы RC-5).
Этот код обычно содержал указание на прерывание центральному контроллеру аппаратуры с
дистанционным управлением. В этом случае центральный контроллер мог, например, прочитать
дешифрированный сигнал как простую последовательность бит через соответствующую последовательную
либо параллельную шину и управлять функциональными блоками аппаратуры. Такая компоновка имела то
преимущество, что кодированные сигналы, не соответствующие требованиям к их формату (например, RC5), либо слабые сигналы с ошибками в передаваемых данных, автоматически подавлялись аппаратными
средствами дешифратора и не приводили к дополнительной нагрузке на центральный контроллер.
Современная перспективная технология позволяет контроллерам вести обработку битовой
последовательности демодулированного сигнала дистанционного управления с дешифрацией
непосредственно в процессоре контроллера. Это вызвано двумя следующими факторами:
21
 Улучшенные показатели современных микропроцессоров позволяют большинству контроллеров
дешифрировать сигналы дистанционного управления в масштабе реального времени, без ограничения
возможностей выполнения такими процессорами других задач.
 Экономические оценки выявляют нецелесообразность использования для дешифрации
специализированных ИМС.
Возможности процессора позволяют сделать выбор программы дешифрации битовой
последовательности сигналов дистанционного управления из имеющегося программного обеспечения,
содержащего ряд альтернативных алгоритмов выполнения этой задачи. Наиболее распространенный метод
заключается в том, что подобная импульсная последовательность подается на тактируемый перепадами
уровней вход прерывания, при этом используется таймер контроллера (при наличии такой возможности) для
отсчета временного интервала прохождения импульсов. Однако для ряда контроллеров допускается
прерывание только по отрицательному перепаду сигнала, что повышает вероятность некорректной
дешифрации сигнала, поскольку в этом случае импульсные помехи могут интерпретироваться как
достоверные данные.
Поскольку доступно много типов контроллеров, пригодных для выполнения данной задачи, и
требования к обеспечению достоверной дешифрации с учетом искажающего воздействия помех меняются в
широких пределах, невозможно для общего случая строго обосновать и точно сформулировать средние
значения емкостей постоянной и оперативной памяти, необходимые для выполнения задачи дешифрации
сигналов дистанционного управления. Тем не менее, экспериментальные исследования, проведенные с
контроллерами различных типов, показывают, что требуемый для этой цели объем постоянной памяти
лежит в пределах от 200 до 500 байт и оперативной памяти - от пяти до десяти байт.
Для выполнения задачи дешифрации сигналов дистанционного управления наиболее подходят, с
учетом приведенных выше соображений, два семейства контроллеров - PCF84CXX и РСВ80С51 (фирма
Philips Semiconductors). Разработаны и предлагаются готовые варианты программного обеспечения для этих
контроллеров.
Система RC-5 и распределение команд
Фирма Philips Semiconductors предложила распределение номеров систем и команд дистанционного
управления в системе ДУ RC-5. В таблице 0.1 приведено распределение номеров стандартных систем ДУ по
протоколу RC-5 [2].
Каждый номер системы отведен определенному типу оборудования (аппаратуры), и каждый такой
номер опознается и соотносится с командами, которые перечислены в соответствующих таблицах команд,
предложенных фирмой. Любая такая таблица содержит два набора команд RC-5 (от №0 до №63 и от №64 до
№127).
Таблица 0.1 – Распределение порядковых номеров Систем для RC-5
№
№
систем
Описание
систем
Описание
ы
ы
0
TV1 (ТВ-приемник)
16 Аудиоусилитель 1
1
TV2 (Тюнер с декодером)
17 Радиотюнер
2
ТХТ (Телетекст)
18 Аудио кассетный магнитофон 1
TV1 (Команды от 0 до 63),
Аудиоусилитель 2 (функции и
3
19
TV2 (Команды от 64 до 127)
номера команд, как в системе 16)
LV1 (Видеопроигрыватель лазерных
4
20 Проигрыватель компакт-дисков
дисков - LaserVision)
VCR1 (Кассетный видеомагнитофон
Комбинированный / Записывающий
5
21
1)
плеер
VCR2 (Кассетный видеомагнитофон
DSR (Тюнер германского
6
22
2, аналогично системе 5)
спутникового радиовещания)
Цифровой аудио кассетный
7
Зарезервирован
23 магнитофон 2 (функции и номера
команд, как в системе 18)
STV1 (Тюнер спутникового
8
24 Зарезервирован
телевидения 1)
9
VCR1 (Команды от 0 до 63),
25 Зарезервирован
22
10
11
12
13
14
15
VCR2 (Команды от 64 до 127)
STV2 (Тюнер спутникового
телевидения 2)
Зарезервирован
CDV (Видеопроигрыватель
компакт-дисков) LV2
Зарезервирован
Зарезервирован
Зарезервирован
26
Зарезервирован
27
Зарезервирован
28
Зарезервирован
29
30
31
Зарезервирован
Зарезервирован
Зарезервирован
Количество зарезервированных систем говорит о возможности добавления новых типов бытовой РЭА.
Этот факт повышает перспективность данной системы команд дистанционного управления RC-5.
Система дистанционного управления по протоколу ITT
Архитектура системы ДУ
Для передачи команд ДУ по протоколу ITT используются короткие импульсы ИК диапазона.
Информация кодируется путем изменения временного интервала между импульсами. Это позволяет
работать при высоком импульсном токе светодиода (1 А и выше), что увеличивает расстояние передачи и
помехозащищенность при одновременном увеличении срока службы батарей. Рассмотрим архитектуру
системы ДУ по протоколу ITT на примере системы ДУ управления телевизионным приемником.
В приемной части ДУ фотодиод преобразует ИК-сигнал в электрический, который затем усиливается
ИМС TBA2800, после чего поступает для дешифрации команд ДУ на ИМС контроллера ТВ-приемника, как
показано на рисунке 0.8.
Контроллер
SAA1251 или
CCU20 или
MAA8000 или
SAA1290 или
SAA1293
ТВ-приемник
ПДУ
Клавиатура
Микросхема
передатчика
команд ДУ
SAA 1250
Усилительформирователь
сигнала
светодиода
ИК
лучи
Микросхема
усилителя
TBA2800
К другим
блокам ТВприемника
Клавиатура
панели
Рисунок 0.8 – Структура системы ДУ по протоколу ITT
В ИМС контроллера сигнал преобразуется в соответствующие команды: вкл/выкл, выбор принимаемых
программ, установка аналоговых значений для громкости, яркости, управления телетекстом и т.д.
Каждая кодовая посылка или слово ДУ состоит из 10 бит. Поэтому микросхема передатчика SAA1250
может передать 1024 различных слова. Слово обычно состоит из четырех бит, кодирующих 16 адресов, и
шести бит, кодирующих 64 команды. Однако такое разделение не ограничивает возможностей ИМС
SAA1250. ИМС дешифратора позволяет использовать режим, в котором могут вызываться команды
подсистем, типа меню. В этом случае число передаваемых команд и адресов для дополнительных ИМС
оказывается практически не ограниченным.
КМОП ИМС SAA1250 была разработана для использования в устройствах ДУ цветных телевизоров, но
с успехом может также использоваться в других системах ДУ. Малый потребляемый ток и большой набор
команд обеспечивает ей широкую область применений. Системой ДУ на SAA1250 может быть передано до
1024 команд.
Синтез сигналов ДУ по протоколу ITT
Команда ДУ передается с помощью ИК-излучения в виде пакета импульсов. Для передачи команды в
10 бит требуется 14 импульсов. Бит информации кодируется длительностью интервала времени между
двумя импульсами (рисунок 0.9).
Т=100мкс
Т=200мкс
«0»
«1»
10мкс
t
Рисунок 0.9 – Представление «0» и «1» интервалами различной
длительности
23
Временной интервал Т (около 100 мкс) определен в качестве базы для каждого используемого кода.
Короткий интервал Т между любыми двумя импульсами соответствует двоичному «0», в то время как
длинный интервал, равный 2Т - двоичной «1». Поэтому для слова в 10 бит требуется 11 импульсов. Кроме
того, каждый сигнал содержит предварительный импульс, старт-импульс и стоп-импульс. Временной
интервал между предварительным импульсом и старт-импульсом составляет 3Т. Затем через Т следуют 11
импульсов данных и после них через 3Т - стоп-импульс (рисунок 0.10).
0 1 0 1
Биты адреса
1 0 0 1 0 0
Биты управления
Старт-импульс
Стоп-импульс
Предварительный импульс
Полная команда
Рисунок 0.10 –Пример командного слова 0101100100
Следовательно, команда, состоящая из 10 двоичных «0», будет иметь общую длительность 17Т.
Команда, состоящая из 10 двоичных «1», имеет длительность 27Т.
Первая команда передается в течение 20 мс после замыкания контакта, для устранения дребезга
механических контактов. Функция антидребезга срабатывает за счет повторного опроса клавиатуры через 20
мс. Команда принимается к передаче только при повторном подтверждении единственной нажатой
клавиши. Все последующие команды передаются периодически каждые 130 мс. Функция автоповтора
действует, пока нажата выбранная клавиша.
Помехоустойчивость системы ДУ
При наличии высокого уровня помех в ИК-сигнале, например, от ИК-систем передачи звука,
рекомендуется использовать входной усилитель с АРУ, например, ТВА2800.
Анализ амплитуды предварительного импульса позволяет приемнику установить коэффициент
усиления для информационного сигнала до прихода информационной посылки. Для устранения влияния
ИК-помех, вход приемной ИМС блокируется после каждого принятого импульса и включается только через
интервал времени Т на короткое время tF. Если в течение времени tF принят импульс, это соответствует
логическому «0». Если этого не произошло, то следующее временное окно открывается опять через
интервал времени Т. Импульс, пришедший в течение этого временного окна, означает логическую единицу.
При таком порядке работы импульс может быть принят, по крайней мере, в течение каждого второго
временного окна. Если этого не случилось, то произошла ошибка и прием сигнала прекращается. После
того, как ошибка будет устранена, опять включается вход приемника.
Исключениями из этого правила являются первый импульс данных и стоп-импульс. Первый импульс
данных появляется всегда в течение первого временного окна за старт-импульсом. Старт-импульс и
последующие принятые идентифицированные импульсы данных подсчитываются. После 12-го импульса
условия проверки изменяются на следующие: ни одного импульса не должно появиться во время
последующих двух временных окон, и стоп-импульс должен быть принят в течение третьего временного
окна.
Таким образом, система подавления помех распознает посторонние импульсы (помехи), попадающие
во временное окно. Она так же распознает подавление информационных импульсов, так как в этом случае
для стоп-импульса не будут выполняться вышеописанные условия.
Как отмечалось ранее, предварительный импульс позволяет сформировать управляющий сигнал для
системы АРУ усилителя. ИМС приемника воспринимает его, как и любую другую помеху, то есть анализ
следующих импульсов начинается только после старт-импульса.
Синхронизация между передатчиком и приемником
В отличие от аналогичных систем, система ИК ДУ с использованием SAA1250 и SAA1251 имеет
преимущество в том, что кварц (0.4... 4.4 Мгц) используется только на приемной стороне, а в передатчике
используется простой RC-генератор.
Удовлетворительная синхронизация между интегральными микросхемами передатчика команд и
дешифратора (контроллера), необходимая для описанной выше помехоустойчивости, достигается в ИМС
дешифратора команд путем измерения временного интервала между старт-импульсом и первым импульсом
данных, запоминанием и использованием его за базовый интервал Т между временными окнами.
Длительность временного окна tF для первого импульса данных сравнивается с последующим временным
интервалом и окнами, так что этот первый импульс данных определяется безошибочно за счет того, что
частота передатчика находится в полосе захвата (в определенном интервале). Для надежной синхронизации
24
приемной ИМС с частотой генератора передатчика частота передатчика должна быть стабильна за время
передачи одной команды. Это условие легко выполнить.
Пульт ДУ на основе передатчика команд SAA1250
Приводимые ниже схемы рекомендованы специалистами из Лаборатории ITT Semiconductors для
использования в ИК ДУ телевизоров. Возможно, что они не являются самым лучшим решением. Для других
применений систем ИК-передачи (больший диапазон, различные способы передачи и т.д.) конструкция
усилителя может изменяться.
Для того чтобы иметь при передаче большую дальность действия, через ИК передающие светодиоды
необходимо обеспечить импульсы тока с амплитудой около 1 А. Так как ИМС изготовлена по МОПтехнологии, она имеет ограничения по выходному току порядка нескольких миллиампер. Для обеспечения
требуемого значения тока излучающих диодов необходим усилитель.
Практическая схема пульта ДУ на базе ИМС SAA1250 приведена на рисунке 0.11.
270
VT2
9В
Клавиатура
8Х8
150
мкф
220
SAA1250
130
Z1
3.3
В
VT1
VT3
1k
150
мкф
47
270
0.75
Рисунок 0.11 – Рекомендуемая схема пульта ДУ на SAA1250
В дежурном режиме и в промежутках между импульсами все три транзистора закрыты, и два
электролитических конденсатора по 150 мкФ заряжаются до напряжения источника питания. Когда они
зарядятся, ток потребления будет определяться током потребления ИМС SAA1250 и током утечки
конденсаторов.
Когда передается команда, импульс с ИМС SAA1250 открывает транзистор VT1, который в свою
очередь открывает два других транзистора. Транзистор VT2 соединяет два конденсатора последовательно. С
его помощью к последовательно соединенным светодиодам прикладывается около 15 В питающего
напряжения. Транзистор VT3 вместе со стабилитроном Z1 образует источник тока с выходным током около
1 А. Эта схема всегда обеспечивает необходимый ток через ИК-светодиоды, несмотря на состояние батареи
и разброс прямых напряжений у ИК-светодиодов. Таким образом, гарантируется постоянная дальность при
передаче. Светодиод, включенный в цепь питания, зажигается при работе ИК-светодиодов, индицируя факт
передачи.
Простая и более экономичная схема усилителя для ИК-светодиодов показана на рисунке 0.12. Здесь нет
схемы удвоения напряжения, как в схеме рис. 2.11 и используются только два ИК-светодиода.
1000
мкф
Клавиатура
8Х8
47
SAA1250
1k
3.3
9В
27k
100
Рисунок 0.12 – Упрощенная схема пульта ДУ на SAA1250
Конструктивно ИМС SAA1250 выполнена в пластмассовом DIP корпусе на 24 вывода. Напряжение
питания от 6 до 9 Вольт. Выходной ток не превышает 10 мА. Рабочая температура от 0 до 65 С.
25
Приемная часть системы ДУ
Приемник ИК сигналов. Дешифрация принятых сигналов ДУ
В качестве дешифратора команд управления в системе ДУ по протоколу ITT можно использовать
целый ряд контроллеров типа SAA1251, SAA1290, SAA1293, CCU20, CCU30 или MAA6000.
Рассмотрим дешифратор команд управления SAA1251. Микросхема SAA1251 предназначена для
дешифрации команд управления телевизионным или радиоприемником, а также может быть использована
для реализации функций дистанционного управления различными бытовыми приборами и устройствами. В
общем случае микросхема может распознать 16 групп по 64 команды в каждой. Ввод команд может
осуществляться без передатчика команд ДУ непосредственно на специальные входы микросхемы.
Возможно управление с одного передатчика несколькими устройствами, использующими в качестве
дешифратора ИМС SAA1251. Организация такого управления может быть различной (паралельной,
независимой) в зависимости от вариантов использования микросхемы.
Микросхема SAA1251 разрабатывалась как центральная микросхема целого комплекта микросхем,
предназначенных для управления телевизионным приемником (рис. 0.13).
Приемная часть
ПДУ
Клавиатура
Микросхема
передатчика
команд ДУ
SAA 1250
Контроллер
SAA1251
Блоки ТВприемника
SAA1271
ИК
лучи
SAA2008
Входной
усилитель


SAA1075
Рисунок 0.13 – Система ДУ на основе приемника SAA1251
В состав комплекта в различных сочетаниях могут входить:
 SAA1121 - схема управления телевизионным селектором каналов (синтезатор напряжения
настройки);
 SAA1250 - передатчик команд управления;
 SAA1271 -преобразователь последовательного кода в параллельный;
 SAA1272 - адаптер сопряжения данных от ИМС SAA1251 с декодером телетекста;
 SAA1274 - схема управления синтезатора частоты;
 SAA1075 - энергонезависимая память;
 SAA1276 - знакогенератор экранного индикатора;
 SAA2008 - знакогенератор номера выбранного канала.
Особенности SAA1251
 Работа в коде фирмы ITT для ДУ.
 Общая шина микросхемы подключена к отрицательному источнику питания.
 Возможность организации работы до 16-и микросхем SAA1251 независимо друг от друга.
 Трансляция принятого кода команды ДУ на другие устройства (телетекст, видеоигры и др.).
Для формирования тактовых импульсов используется кварцевый резонатор на частоту 4.4 МГц.
Подключенный к выходу генератора формирователь тактовых импульсов выдает два типа сигналов
тактирования F1 и F2, следующих с частотой 277 кГц. Эти тактовые импульсы предназначены для работы
ИМС SAA1251 и обеспечивают синхронную работу всех остальных ИМС, связанных с ИМС SAA1251.
Конструктивно ИМС SAA1251 выполнена в пластмассовом DIP корпусе на 24 вывода. Напряжение
питания от –16.5 до –19.5 В. Рабочий диапазон температур от –20 до 65 С.
Контрольные вопросы
1. Объясните способ кодирования цифровой информации в системе команд ДУ RC-5.
2. Объясните способ кодирования цифровой информации в системе команд ДУ ITT.
3. Что такое «Манчестерский код»?
4. С помощью какого физического носителя информации передается команда
дистанционного управления на управляемое устройство?
5. Зачем применяются разные форматы команд управления в системах ДУ?
с
пульта
26
Шины управления и обмена информацией
Введение
Для восьмибитных систем, например, систем с однокристальным микроконтроллером, можно
установить следующие критерии проектирования.
 Полная система обычно состоит из одного микроконтроллера и периферийных устройств
(запоминающие устройства, устройства ввода/вывода).
 Стоимость различных устройств, связанных внутри системы, должна быть минимизирована.
 Такие системы обычно выполняют функции управления и не требуют высокой скорости передачи
данных.
 Общая эффективность зависит от выбранных приборов и взаимосвязей в шинной структуре.
Чтобы построить систему, удовлетворяющую этим критериям, нужна шинная структура
последовательного типа. Хотя последовательные шины не обладают пропускной мощностью параллельных
шин, они требуют меньше проводов и контактных выводов.
Однако шина - это не только соединительные провода. Она включает в себя форматы и процедуры
обмена информацией внутри системы. Устройства, обменивающиеся информацией по последовательной
шине, должны иметь определенную форму протокола, которая устраняла бы возможности ошибок: потери
данных и блокирования информации. Быстрые приборы должны иметь возможность обмениваться
информацией с медленными. Система не должна зависеть от устройств, подключенных к ней. В противном
случае модификация и усовершенствования стали бы невозможными.
Должна быть разработана процедура, предусматривающая принятие решения, какое устройство
является управляющим в шине и когда. И, если к шине присоединены приборы с различными тактовыми
скоростями, должен быть определен источник тактового сигнала шины. Все эти критерии включены в
спецификацию I2C-шины (Inter Integrated Circuit) [3].
Шина I2C
Концепция I2C-шины
Интегральные схемы любой технологии изготовления (n-МОП, КМОП, биполярной) могут
поддерживать I2C-шину. Шина содержит всего две линии: последовательности данных (SDA) и
последовательности тактовых сигналов (SCL). По этим двум проводам информация передается между
устройствами, присоединенными к шине.
Каждое устройство в шине должно иметь свой уникальный адрес, по которому оно распознает
обращение к себе. Все устройства в шине (например, микроконтроллер, схема управления ЖК-дисплея,
запоминающее устройство, клавиатура и т.д.) могут работать как передатчик, или как приемник, в
зависимости от функции этого прибора. Очевидно, что схема управления дисплеем может быть только
приемником, а запоминающее устройство может быть и приемником, и передатчиком.
В связи с этим передающие и принимающие устройства также могут рассматриваться как ведущие
(master) и ведомые (slave) при выполнении передачи данных (таблица 0.1). Ведущим является устройство,
27
которое инициирует передачу данных по шине и генерирует тактовые сигналы для разрешения этой
передачи. В это время все адресуемые устройства рассматриваются как ведомые.
Таблица 0.1 – Терминология I2C-шины
ТЕРМИН
ОПИСАНИЕ
Устройство, которое посылает данные на
Передатчик
шину
Приемник
Устройство, получающее данные с шины
Устройство, инициирующее передачу,
Ведущий
генерирующее сигналы и обрывающее
(мастер)
передачу
Ведомый
Устройство, адресуемое ведущим
Ситуация, когда более одного ведущего
Мультимастер может пытаться управлять шиной в одно и
то же время без искажения информации
Процедура, гарантирующая, что если
более одного ведущего одновременно
Арбитраж
пытаются управлять шиной, только
одному будет позволено делать это, и
сообщения не будут искажены
Процедура
синхронизации,
гарантирующая
системы
при
генерации
тактовых сигналов от двух или более устройств
Синхронизация работоспособность
I2C-шина является мультимастер шиной. Это означает, что к шине может быть присоединено больше
одного устройства, которое может управлять ей. Поскольку обычно ведущим является микроконтроллер,
рассмотрим случай передачи данных между двумя микроконтроллерами, присоединенными к шине
(рис.0.1). Этот случай ярко отражает отношения «ведущий - ведомый» и «передатчик - приемник», которые
могут быть на I2C-шине. Следует отметить, что последнее отношение не является постоянным, оно зависит
только от направления передачи данных в данный момент времени.
Микроконтроллер
А
Схема
управления
ЖК диспл.
Аналого
цифровой
преобраз.
SDA
SCL
ОЗУ
ПЗУ,
РППЗУ,
УФ ППЗУ
Микроконтроллер
В
Рисунок 0.1 – Конфигурация I2C шины
Передача данных может проходить следующим образом:
1) Предположим, микроконтроллер А хочет послать информацию микроконтроллеру В:
- микроконтроллер А (ведущий) адресует микроконтроллер В (ведомого);
- микроконтроллер А (ведущий передатчик) посылает данные микроконтроллеру В (ведомому
приемнику);
- микроконтроллер А обрывает передачу.
2) Если микроконтроллер А хочет получить информацию от микроконтроллера В:
- микроконтроллер А (ведущий) адресует микроконтроллер В (ведомого);
- микроконтроллер А (ведущий приемник) получает данные от микроконтроллера В (ведомого
передатчика);
- микроконтроллер А обрывает передачу.
Даже в этом (втором) случае ведущий (микроконтроллер А) генерирует синхронизацию и обрывает
передачу.
Возможность присоединения более одного микроконтроллера к I2C-шине означает, что более, чем один
ведущий, может пытаться инициировать передачу данных в одно и то же время. Чтобы избежать хаоса,
который может возникнуть в данном случае, была разработана процедура арбитража. Эта процедура
28
обеспечивается соединением всех интерфейсных выводов (каждой из двух линий) I2C-шины по схеме
«монтажное И».
Если два или более ведущих пытаются передать информацию по шине, то первый прибор, который
выдаст «единицу», в то время когда остальные выдадут «ноль», выбывает в результате арбитража. Тактовые
сигналы в течение процедуры арбитража являются синхронизированной комбинацией тактов, генерируемых
ведущими при помощи соединения «монтажное И» с линией SCL-выходов тактовых сигналов.
Генерация тактовых сигналов на I2C-шине всегда является обязанностью ведущих; каждый ведущий
генерирует свои собственные тактовые сигналы при передаче данных по шине. Шинные тактовые сигналы
от ведущего могут изменяться в случае, когда они растягиваются медленными ведомыми, удерживающими
в низком состоянии линию синхронизации, или другими ведущими в процессе арбитража.
Общие характеристики
Линия данных (SDA) и линия синхронизации (SCL) являются двунаправленными линиями, связанными
с положительным напряжением источника питания через подтягивающий резистор (рис.0.2).
Vp
Rp
Подтягивающие
резисторы
Rp
Линия данных
SDA
Линия синхронизации
SCL
SCLK1
(с выхода
прибора)
1
SCLK2
(с выхода
прибора)
DATA1
(с выхода
прибора)
SCLK
(на вход)
1
Прибор 1
DATA
(на вход
прибора)
1
DATA2
(с выхода
прибора)
SCLK
(на вход)
1
Прибор 2
Рисунок 0.2 – Соединение приборов с
I2C
DATA
(на вход
прибора)
шиной
Когда шина свободна, обе линии находятся в состоянии «1». Выходной каскад устройств, соединенных
с шиной, должен иметь открытый сток или открытый коллектор для того, чтобы выполнять функцию
«монтажное И». Данные на I2C-шине могут передаваться со скоростью до 100 Кбит/с в стандартном режиме
или 400 Кбит/с в быстром режиме. Количество интерфейсов, связанных с шиной, зависит только от
ограничения на емкость шины (400 пФ).
Передача бита
Из-за разнообразия технологий (КМОП, n-МОП, биполярная), применяемых при изготовлении
приборов, которые могут быть присоединены к I2C-шине, уровни логических «нуля» и «единицы» не
фиксированы и зависят от уровня используемого питающего напряжения VDD.
Для каждого передаваемого бита данных генерируется один тактовый импульс. Данные на SDA линии
должны быть стабильными в течение высокого уровня периода тактовой частоты. Смена состояния на
линии данных должна происходить только тогда, когда тактовый сигнал на SCL-линии находится в низком
состоянии (рис.0.3).
SDA
SCL
Линия данных
стабильна:
Данные достоверны
Изменение
данных
разрешено
Рисунок 0.3 – Передача бита данных по I2C – шине
Условия START и STOP
29
В порядке действия I2C-шины возникают особые ситуации, которые определяются как START- и
STOP- условия (рис. 0.4).
SDA
SDA
SCL
SCL
S
P
START
условие
STOP
условие
Рисунок 0.4 – START и STOP - условия
Переход «10» на линии данных SDA, если при этом линия SCL находится в состоянии «1»,- это одно
из таких состояний. Такая ситуация определяет START-условие.
Переход «01» на линии SDA, если при этом линия SCL находится в состоянии «1», определяет STOPусловие.
Условия START и STOP всегда генерируются ведущими. Считается, что шина занята после условия
START и свободна после условия STOP.
Определение состояний START- и STOP-устройствами, связанными с шиной, осуществляется легко,
если они содержат необходимые интерфейсные аппаратные средства. Однако, микроконтроллерам, не
имеющим таких средств, приходится опрашивать SDA-линию, по крайней мере, дважды за тактовый
период, чтобы обнаружить этот переход (от «0» к «1» или наоборот).
Передача данных в I2C – шине
Байтовый формат
Все данные, проходящие по линии данных SDA, должны быть восьмибитными. Число байт, которое
может быть послано за передачу, не ограничено. Каждый байт должен сопровождаться подтверждающим
(квитирующим) битом.
Данные передаются, начиная со старшего бита (MSB) (рис. 0.5). Если приемник не может принять
другой полный байт данных до тех пор, пока не выполнит некоторые другие функции, например,
обслуживания внутреннего прерывания, он может установить линию SCL в положение «0», чтобы перевести
передатчик в ожидающее состояние. Передача данных продолжится тогда, когда приемник будет готов к
приему следующего байта данных и освободит линию SCL.
SDA
Подтверждение
от приемника
Старший
бит
Байт завершен, прерывание в приемнике
SCL
1
S
START
условие
2
7
8
9
Подтверждение
от приемника
Низкое состояние до окончания
обслуживания прерывания
1
2
3-8
9
ACK
ACK
(подтверждение)
(подтверждение)
P
STOP
условие
Рисунок 0.5 – Передача данных по I2C шине
В некоторых случаях допускается использовать форматы, отличные от формата I2C-шины. Сообщение
должно содержать особый адрес. Оно может быть оборвано генерацией STOP-условия, даже во время
передачи байта. В этом случае никакое подтверждение не генерируется.
Подтверждение приема (квитирование)
Передача данных с подтверждением обязательна. Тактовый импульс, связанный с подтверждением,
генерируется ведущим. Передатчик освобождает SDA-линию (переводит в состояние «1») во время
тактового импульса подтверждения.
Приемник должен понизить потенциал SDA-линии на время тактового импульса подтверждения, так
что она остается постоянно в положении «0» в течение периода высокого уровня тактового импульса
подтверждения (рис.0.6).
30
Выход данных
передатчика
Выход данных
приемника
Выход тактирования
от ведущего
S
1
2
START
условие
8
9
Тактовый импульс
для подтверждения
Рисунок 0.6 – Подтверждение приема на I2C шине
Обычно приемник, который был адресован, обязан генерировать подтверждение приема после каждого
полученного байта. Отсутствие подтверждения может приводить к разным ситуациям. Рассмотрим два
случая: ведомый приемник и ведущий приемник.
Если ведомый приемник не подтверждает прием на свой адрес, (например, он не может принимать,
т.к. выполняет некоторые функции реального времени), то выходной каскад приемника выдает высокий
уровень. В результате вся линия данных переводится в состояние «1». Ведущий передатчик теперь может
выдать STOP-условие для обрыва передачи. Если ведомый приемник подтверждает прием на свой адрес, но
через некоторое время при передаче не может больше получать байты данных, ведущий опять прекращает
передачу. Это выражается тем, что приемник не генерирует подтверждения приема в первом следующем
байте. Ведомый оставляет линию данных в состоянии «1» и ведущий генерирует STOP-условие.
Если ведущий приемник включен в передачу, он должен сообщать об окончании данных ведомому
передатчику посредством невыдачи подтверждения в последнем байте, которым отмечается окончание
работы ведомого. Ведомый передатчик должен освободить линию данных, чтобы позволить ведущему
выдать STOP-условие.
Все эти процедуры призваны защитить шину от возможной потери данных. При таком порядке
передатчик всегда точно знает, сколько байтов уже передано и может в любой момент продолжить передачу
с нужного байта.
Синхронизация
Все ведущие генерируют свои собственные тактовые сигналы для SCL-линии при пересылке
информации по I2C-шине. Данные являются достоверными только в течение высокого уровня периода
тактовой частоты. Для процедуры побитного арбитража необходим устойчивый тактовый сигнал.
Для тактовой синхронизации используется «монтажное И» - соединение I2C интерфейсов с SCLлинией. Оно необходимо для того, чтобы переход «10» на линии SCL заставил рассматриваемые приборы
начать отсчет отключения своих нулевых состояний. Переход в «0» одного из выходов тактовой частоты
удержит SCL линию в этом состоянии, пока не будет достигнуто состояние «1» (рис.0.7).
Выход CLK
прибора 1
Выход CLK
прибора 2
Состояние
ожидания
Начало отсчета
высокого уровня
Сброс
счетчика
Суммарный
сигнал на
шине SCL
Рисунок 0.7 – Тактовая синхронизация в процедуре арбитража
Однако переход «01» у одного прибора не изменит состояния SCL-линии, если выходы других
приборов все еще находятся в состоянии «0». Поэтому SCL-линия будет удерживаться в нулевом состоянии
устройством с наиболее продолжительным нулем. Устройства с более короткими нулями войдут в
состояние ожидания («1») в течение этого времени.
Когда все упомянутые устройства выйдут из своего нулевого состояния, линия синхронизации
освободится и перейдет в состояние «1». С этого момента все устройства начнут отсчет длительности своего
единичного уровня. Первое устройство, которое завершит свой единичный уровень, снова приведет SCLлинию в состояние «0». Таким образом, на линии тактовой синхронизации длительность генерируемого
низкого уровня определяется устройством с наиболее длинным «нулем», а длительность высокого уровня устройством с наиболее короткой «единицей».
31
Дополнительно механизм тактовой синхронизации может использоваться для предоставления приемнику
возможности справиться с быстрыми передачами данных на байтовом или битовом уровнях.
На байтовом уровне устройство может получать байты данных в быстром темпе, но требовать больше
времени для запоминания полученного байта или подготовки другого байта для передачи. Приемник в этом
случае удерживает SCL-линию в состоянии «0» после приема байта и подтверждения его приема, чтобы
заставить передатчик войти в состояние ожидания до тех пор, пока приемник не будет готов к приему
следующего байта по типу процедуры подтверждения связи.
На битовом уровне прибор может замедлить тактовую частоту шины удлинением каждой нулевой
части периода. Таким образом, скорость любого передатчика адаптируется к рабочему темпу приемного
устройства.
Арбитраж
Ведущий может начать передачу, только если шина свободна. Несмотря на то, что два или более
ведущих могут генерировать START-условие на протяжении минимального периода времени, такое
совпадение вполне возможно. В такой ситуации используется процедура арбитража, призванная разрешить
возникший конфликт без потери информации.
Арбитраж осуществляется на SDA-линии, пока SCL линия находится в состоянии «1». Ведущий,
который передает высокий уровень на линии данных, в то время как другие ведущие передают низкий
уровень, будет выключать свой выходной каскад данных (DATA), т.к. уровень на шине не соответствует его
собственному уровню.
Арбитраж может продолжаться для многих бит. Его первая стадия - это сравнение адресных бит. Если
ведущие пытаются адресовать одно и то же устройство, арбитраж продолжается сравнением данных.
Поскольку для арбитража используются и адрес, и данные, то никакая информация не теряется при этой
процедуре.
Ведущий, который выбыл в результате арбитража, может генерировать тактовые импульсы до конца
байта, в котором он выбыл. Если ведущий, также принимающий на себя и некоторую подчиненную
функцию, выбывает из арбитража, то, возможно, что победивший ведущий попытается адресовать его.
Следовательно, выбывший ведущий должен немедленно переключиться в режим ведомого приемника.
Рисунок 0.8 представляет процедуру арбитража для двух ведущих. Конечно, можно рассмотреть и
больше (в зависимости от того, сколько ведущих подсоединено к шине). В момент высокого уровня на
линии SCL, когда фиксируется разница между внутренним уровнем данных ведущего прибора 1,
генерирующего данные DATA, и действительным уровнем на SDA-линии, выключается вывод данных этого
устройства. Это не влияет на передачу данных, осуществляемую победившим ведущим.
Поскольку управление I2C-шиной определяется однозначно для адресов и данных, посылаемых
соревнующимися ведущими, то не существует ни центрального ведущего, ни какого-либо порядка
приоритета на шине. Этим также гарантируется сохранность данных на шине при арбитраже.
Передатчик 1 проигрывает
арбитраж
Выход DATA
прибора 1
Выход DATA
прибора 2
Сигнал на
линии SDA
SCL
Рисунок 0.8 – Процедура арбитража между двумя ведущими
Особое внимание нужно обратить на случай, когда по шине передается повторное START- или STOPусловие в процессе последовательной передачи, в момент, когда процедура арбитража все еще
осуществляется. Если все же такая ситуация произошла, то рассматриваемые ведущие должны послать это
повторное START- или STOP-условие в той же позиции в рамках формата. Таким образом, арбитраж не
допускается между битом данных и START или STOP-условиями и между самими START и/или STOPусловиями.
Формат 7-и битной адресации
Передача данных осуществляется по формату, показанному на рис. 0.9.
32
SDA
SCL
1-7
8
9
Адрес
R\W
ACK
подтверждение
S
START
условие
1-7
8
9
Данные
1-7
8
Данные
ACK
9
ACK
P
STOP
условие
Рисунок 0.9 – Завершенная передача данных
После START-условия (S) посылается адрес ведомого. Этот адрес имеет длину 7 бит, за ним следует
восьмой бит, который является битом направления данных (R/W - чтение/запись). «Нуль» означает передачу
(WRITE), «единица» - это запрос данных (READ). Передача данных всегда обрывается STOP-условием (Р),
генерируемым ведущим. Однако, если ведущий еще желает продолжать обмен информацией на шине, он
может выдать повторное START-условие (Sr) и адресовать другого ведомого без предварительного
генерирования STOP-условия. При такой передаче возможны различные комбинации форматов чтения и
записи.
Перечислим возможные форматы передачи данных.
1. Ведущий передатчик передает ведомому приемнику. После передачи адреса направление
передачи данных не меняется (рис. 0.10). Завершение передачи может инициировать ведомый приемник
невыдачей подтверждения или ведущий передатчик выдачей STOP-условия.
8 битов
Адрес ведомого R/W A
S
START
условие
Данные
A
Данные
A/N P
Передаваемые данные
N байт и подтверждений
“0”
(запись)
STOP
условие
A –Подтверждение
N – Неподтверждение
Направление
от ведущего к ведомому
Направление
от ведомого к ведущему
Рисунок 0.10 – Ведущий передатчик передает на ведомый приемник
2. Ведущий приемник принимает данные от ведомого передатчика сразу после байта адреса (рис.
0.11). После передачи адреса изменяется направление передачи данных. В момент первого подтверждения
приема ведущий передатчик становится ведущим приемником, а ведомый приемник становится ведомым
передатчиком. Подтверждение этого приема все еще генерируется ведомым. В завершении цикла ведущий
приемник не выдает подтверждения ведомому передатчику. После этого ведущий генерирует STOP условие.
8 битов
Адрес ведомого
S
START
условие
R/W A
Данные
A
Данные
N
Передаваемые данные
N байт и подтверждений
“1”
(чтение)
P
STOP
условие
Подтверждение
Рисунок 0.11 – Ведущий приемник принимает от ведомого передатчика
3. Комбинированный формат (рис. 0.12). Для примера рассмотрен случай приема данных и
последующей передачи. Для изменения направления в передаче повторяются и START-условие, и адрес
ведомого, но R/W бит заменяется на противоположный. Аналогично, с выдачей повторного START-условия,
можно действовать для изменения адреса ведомого.
S
Адрес ведомого
R/W A
Чтение
Данные
A
Данные
N байт и
подтверждений
N Sr
Адрес ведомого
R/W A
Запись
Повторное
START условие
Данные
A/N
P
N байт и
подтверждений
Рисунок 0.12 – Комбинированный
формат
Особенности 7-и битной адресации
Процедура адресации для I2C-шины такова, что первый байт после START-условия обычно определяет,
какой из ведомых выбран ведущим. Исключение составляет так называемый «адрес общего вызова» вида
0000 0000, который может адресовать все устройства. Когда используется этот адрес, теоретически, всем
33
устройствам следует откликнуться с подтверждением приема. Однако можно заставить устройства
проигнорировать этот адрес. Второй байт адреса общего вызова в этом случае определяет действие, которое
должно быть выполнено.
Первые 7 бит первого байта определяют адрес ведомого. Восьмой - младший бит (LSB) - определяет
направление сообщения. Распределение I2C адресов координируется комитетом I2C-шины (Philips) (таблица
0.2 ).
Таблица 0.2 – Распределение 7-ми битных адресов
Адрес
R/W
ОПИСАНИЕ
ведомого бит
0000 000
0
Адрес общего вызова
0000 000
1
START-байт
0000 001
Адрес, зарезервированный для иного
X
формата шины
0000 010
Адрес, зарезервированный для иного
X
формата шины
0000 011
X
Зарезервированы для будущих целей
0000 1ХХ X
0001 000
X
Диапазон используемых рабочих адресов
1110 111
X
1111 1ХХ X
Зарезервированы для будущих целей
10-ти битная адресация ведомых
1111 0ХХ X
Комбинация 11110ХХ адреса ведомого зарезервирована для 10-и битной адресации. Адреса,
зарезервированные для иного формата шины, позволяют использовать в системе I2C другие протоколы.
Только те устройства, совместимые с I2C-шиной, которые могут работать с такими форматами и
протоколами, могут откликаться на этот адрес.
Таким образом, при 7-ми битовой адресации в системе доступно до 112 уникальных адресов,
распределяемых устройствам.
Когда адрес послан, каждое устройство в системе сравнивает первые 7 бит после START-условия со
своим адресом. Если они совпадают, то данное устройство считает себя адресованным. По отношению к
ведущему, адресовавшему его, оно является ведомым приемником или ведомым передатчиком, в
зависимости от R/W бита.
Адрес ведомого может быть построен из фиксированной и программируемой частей. Так как наверняка
в системе могут быть несколько одинаковых устройств, то программируемая часть адреса ведомого
позволяет присоединить к шине максимально возможное число таких приборов. Число бит
программируемой части адреса устройства зависит от числа внешних выводов (контактов). Например, если
прибор имеет 4 фиксированных и 3 программируемых бита адреса, то с одной шиной может быть связано
восемь идентичных приборов.
Адрес общего вызова
Адрес общего вызова 0000 0000 следует использовать для адресации одновременно всех устройств,
связанных с I2C-шиной. Однако, если некоторому устройству не нужны данные, представляемые в рамках
структуры адреса общего вызова, оно может проигнорировать этот адрес неподтверждением приема. Если
устройство нуждается в данных указанной структуры, то оно подтверждает прием адреса и ведет себя как
ведомый приемник. Второй и следующие байты подтверждаются каждым ведомым приемником, способным
обрабатывать эти данные. Ведомый, который не может работать с одним из этих байтов, должен
проигнорировать его неподтверждением приема. Команда адреса общего вызова всегда заключена во
втором байте.
START-байт
Микроконтроллер может быть связан с I2C-шиной двумя способами:
1. Микроконтроллер с аппаратным обеспечением интерфейса I 2C-шины на кристалле может быть
запрограммирован так, чтобы его прерывание производилось только запросом с шины.
2. Когда прибор не имеет подобного интерфейса, он должен постоянно следить за шиной с помощью
программного обеспечения. Очевидно, чем больше времени микроконтроллер опрашивает шину, тем
меньше времени остается у него для выполнения предназначенных ему функций. Следовательно,
существует разница в скоростях между быстрыми аппаратнообеспеченными приборами и относительно
медленным микроконтроллером, который опирается на программное опрашивание.
34
В последнем случае передаче данных может предшествовать стартовая процедура, которая намного
длиннее нормальной (рис. 0.13). Стартовая процедура состоит из:
- START-условия (S);
- START-байта (0000 0001);
- такта подтверждения приема;
- повторного START-условия (Sr).
Никаким устройствам не разрешается подтверждать прием при получении START-байта.
“1” – подтверждения
приема нет
SDA
SCL
S
1
2
7
8
9
Sr
АСК
Рисунок 0.13 – Байт START - процедуры
После того, как START-условие передано ведущим, который требует доступ к шине, передается
START-байт (0000 0001).
Следовательно, другой микроконтроллер может производить опрос SDA-линии с низкой частотой, пока
один из семи «нулей» START-байта не будет зарегистрирован. После регистрации «нуля» на SDA-линии
микроконтроллер может переключиться в режим высокой скорости опроса и обнаружить повторное STARTусловие (Sr), которое теперь используется для синхронизации.
Аппаратнообеспеченный приемник при получении повторного START-условия (Sr) приходит в
исходное состояние, игнорируя START-байт.
Тактовый импульс подтверждения генерируется после START-байта. Он нужен только для
соответствия формату, используемому на шине. Никаким устройствам не позволено подтверждать прием
START-байта.
Расширенная спецификация I2C-шины
Введение
I2C-шина со скоростью передачи данных до 100 Кбит/с и 7-и битной адресацией существует уже более
10 лет с неизменной спецификацией. Концепция повсеместно принята как фактический стандарт и сотни
различных типов интегральных схем, совместимых с I 2C-шиной, поставляются Philips и другими
производителями. Сейчас спецификация I2C-шины расширена следующими двумя особенностями:
 быстрый режим (fast mode), который позволяет 4-х кратно увеличить скорость до 400 Кбит/с;
 10-и битная адресация, которая позволяет использовать до 1024 дополнительных адресов.
Существуют две причины введения этих дополнений:
1. В новых приложениях нужно передавать большее количество последовательных данных и,
следовательно, требуется скорость большая, чем 100 кбит/с. Улучшенная технология изготовления
интегральных схем позволяет сегодня 4-х кратно увеличить скорость без увеличения стоимости
производства интерфейсных цепей.
2. К большинству из 112 адресов, доступных при 7-и битной адресации, обращение происходит не один
раз. Для преодоления проблемы с размещением адресов ведомых желательно иметь большее количество
адресных комбинаций. Почти 10-и кратное увеличение числа доступных адресов получается при новой 10-и
битной адресации.
Все новые приборы с интерфейсом I2C-шины имеют возможность поддержания быстрого режима.
Предпочтительно, чтобы они могли принимать и/или передавать со скоростью 400 Кбит/с. Минимальное
требование состоит в том, чтобы они могли синхронизироваться со скоростью передачи 400 Кбит/с, тогда они
могут продлить низкий уровень сигнала SCL-линии, чтобы замедлить передачу. Устройства с быстрым
режимом должны быть совместимы с устройствами низкого быстродействия. Это означает, что они должны
обладать способностью обмениваться информацией с устройствами, имеющими скорость от 0 до 100 Кбит/с в
I2C-шинных системах со скоростью от 0 до 100 Кбит/с.
35
Очевидно, что старые устройства с интерфейсом I 2C-шины со скоростью от 0 до 100 Кбит/с не могут
быть включены в высокоскоростную I2C-шинную систему, т.к. они не могут следовать высокой скорости
передачи. Могут произойти непредсказуемые ситуации.
Ведомые с высокоскоростным интерфейсом I2C-шины могут иметь 7-и битный или 10-и битный адрес.
Однако 7-и битный адрес предпочтительнее, т.к. это наиболее дешевое решение аппаратного обеспечения, и
при такой адресации получается наименьшая длина сообщения. Устройства с 7-и битным и 10-и битным
адресами можно смешивать в одной I2C-шинной системе, несмотря на то, является ли эта система
стандартной (0 - 100 Кбит/с) или быстрой (0 - 400 Кбит/с). Существующие и будущие ведущие могут
генерировать 7-и битные или 10-и битные адреса.
Быстрый режим
В быстром режиме I2C-шины протокол, формат, логические уровни и максимальная емкостная нагрузка
для SDA- и SCL-линий остаются неизменными. Имеются следующие изменения спецификации I2C-шины:
 максимальная скорость увеличена до 400 Кбит/с;
 доработаны временные характеристики последовательности данных (SDA) и последовательных
тактовых (SCL) сигналов. Нет нужды иметь совместимость с другими системами, т.к. они не могут работать
в режиме повышенной скорости;
 SDA- и SCL-входы высокоскоростных приборов должны иметь схему подавления выбросов и
триггер Шмидта;
 выходные каскады SDA- и SCL-линий высокоскоростных приборов должны иметь ограничение
крутизны среза выходных импульсов;
 если питание высокоскоростного прибора выключено, выводы SDA и SCL должны иметь
плавающий потенциал, чтобы не мешать работе линий шины;
 внешние подтягивающие устройства (схемы), соединенные с линиями шины, должны быть
настроены на получение наименьшего времени установления I2C-шины быстрого режима.
10-и битная адресация
10-и битная адресация не изменяет формат в спецификации I2C-шины. Использование 10-и бит для
адреса опирается на зарезервированную комбинацию 1111 ХХХ для первых 7-и бит первого байта,
следующего за START-условием (S) или повторным START-условием (Sr). 10-и битная адресация не влияет
на существующую 7-и битную адресацию. Устройства с 7-и битной и 10-и битной адресацией могут быть
присоединены к одной и той же шине. И 7-и битная, и 10-и битная адресация могут использоваться в
стандартных системах (до 100 Кбит/с) или в системах быстрого режима (до 400 Кбит/с).
Хотя существует 8 возможных комбинаций зарезервированных адресных бит 1111 ХХХ, только 4
комбинации 1111 0ХХ используются для 10-и битной адресации. Оставшиеся 4 комбинации 1111 1ХХ
зарезервированы для дальнейших улучшений I2C-шины.
10-и битный адрес ведомого формируется из первых двух байт, следующих за START-условием (S) или
повторным START-условием (Sr). Первые 7 бит первого байта - это комбинация 11110ХХ, в которой
последние два бита (XX) являются двумя старшими битами (MSBs) 10-и битного адреса. Восьмой бит первого
байта – это R/W-бит, который определяет направление сообщения.
«Нуль» в младшем бите первого байта означает, что ведущий будет передавать информацию
выбранному ведомому. «Единица» в этой позиции означает, что ведущий будет принимать информацию от
ведомого. Если бит R/W равен «нуль», то второй байт содержит оставшиеся 8 бит (ХХХХ XХХХ) 10-и
битного адреса. Если бит R/W – «единица», тогда следующий байт содержит данные, передаваемые от
ведомого ведущему.
В рамках передачи, которая включает 10-и битную адресацию, возможны различные комбинации
форматов чтения/ записи. Рассмотрим возможные форматы передачи.
1. Ведущий передатчик передает ведомому приемнику с 10-и битным адресом. Направление
передачи не изменяется (рис. 0.14). Когда 10-и битный адрес следует за START-условием, каждый ведомый
сравнивает первые 7 бит первого байта адреса ведомого (1111 0ХХ) со своим собственным адресом и
проверяет, содержит ли 8-ой бит (R/W-бит направления) «нуль».
S
1 1 1 1 0 Х Х
Адрес ведомого
первые 7 бит
0
ХХХХ ХХХХ
R/W A1 Адрес ведомого
A
A2
второй байт
Данные
A
Данные
A/N P
Запись
Рисунок 0.14 – Формат записи с 10-ти битным адресом ведомого
приемника
Возможно, что более одного устройства установят соответствие и дадут подтверждение приема (А1).
Все ведомые, которые обнаружили соответствие, будут сравнивать восемь бит второго байта адреса
ведомого (ХХХХ ХХХХ) с их собственным адресом, но только один ведомый обнаружит соответствие и
36
выдаст подтверждение приема (А2). Этот ведомый будет оставаться адресованным ведущим, пока не
получит STOP-условие (Р) или повторное START-условие (Sr), за которым следует другой адрес ведомого.
2. Ведущий приемник принимает от ведомого передатчика с 10-и битным адресом (ведомого).
Направление передачи изменяется после второго R/W-бита (рис. 0.15). До и включая бит подтверждения
приема (А2), процедура такая же, как описано выше для ведущего передатчика, адресующего ведомый
приемник.
11110ХХ
0
11110ХХ
1
S Адрес ведомого R/W A1 Адрес ведомого
A A2 Sr Адрес ведомого R/W A3
первые 7 бит
второй байт
первые 7 бит
Запись
Данные
A
Данные
N
P
Чтение
Рисунок 0.15 – Формат чтения с 10-ти битным адресом ведомого
передатчика
После повторного START-условия (Sr) соответствующий ведомый помнит, что ранее он был адресован.
Этот ведомый теперь проверяет, являются ли первые семь бит первого байта адреса ведомого, следующего
за Sr условием, теми же, что и раньше, после START-условия (S), и проверяет, содержит ли 8-ой бит (R/W)
«единицу». Если соответствие есть, ведомый считает, что он адресован как передатчик и генерирует
подтверждение (A3). Ведомый передатчик остается адресованным, пока не получит STOP-условие (Р) или
другое повторное START-условие (Sr) с последующим отличным адресом ведомого. После Sr все остальные
ведомые также будут сравнивать первые семь бит первого байта адреса ведомого (11110ХХ) со своими
собственными адресами и проверять 8-ой(R/W) бит. Однако, ни одно из них не будет адресовано, если R/W
= 1 (для 10-и битных устройств), или 11110ХХ адрес ведомого (для 7-и битных устройств) не будет
совпадать.
3. Комбинированный формат. Ведущий передает информацию ведомому с 10-ти битным адресом,
после читает данные от того же ведомого. Один и тот же ведущий занимает шину все это время. Процедура
похожа на описанную выше (рис. 0.15). Разница заключается в том, что до повторного START-условия (Sr)
ведущий передатчик выдает на приемник нужное количество байт данных. Затем после повторного STARTусловия (Sr) повторяется старший байт адреса того же ведомого. Направление передачи изменяется после
R/W бита.
4. Комбинированный формат. Ведущий передает данные одному ведомому с 10-ти битовой
адресацией, после передает данные другому ведомому с 10-ти битовой адресацией. Ведущий занимает шину
все это время. Процедура (рис. 0.14) полностью повторяется после выдачи повторного START-условия (Sr) с
учетом смены адреса ведомого.
5. Комбинированный формат. 10-и битная и 7-и битная адресация присутствуют в одной
последовательной передаче. После каждого START-условия (Sr) может быть передан 10-и или 7-и битный адрес.
Адрес общего вызова и START-байт
При 10-и битной адресации первые два байта после START-условия (S) обычно определяют адрес
ведомого. Исключение составляет адрес общего вызова 0000 0000. Ведомые с 10-и битной адресацией будут
реагировать на «общий вызов» так же, как ведомые с 7-и битной адресацией.
Ранее описанный START-байт 00000001 может предшествовать 10-и битному адресу так же, как 7-и
битному.
Электрические и временные характеристики
I2C-шины
В I2C-шине могут быть смешаны приборы с разным напряжением питания VDD (1.5В, 3.0В, 5.0В, 9.0В,
12.0В) и с разными скоростными характеристиками. Разброс напряжения питания у приборов не влияет на
работоспособность шины, так как к каждой линии обычно должен подключаться подтягивающий резистор,
соединенный с питанием 5В.
Для I2C-шины не заданы жесткие значения логической единицы и нуля. Согласно спецификации I2C-шины
входное напряжение низкого уровня для любого прибора с любой скоростью работы не должно быть ниже –0.5В и
выше 0.3VDD. Входное напряжение высокого уровня для медленных и быстрых устройств должно быть не ниже
0.7VDD и не выше VDD.
В абсолютных величинах это требование составляет приблизительно от –0.5В до 1.5В для низкого
уровня и выше 3.0В для высокого уровня входного напряжения. Емкость любого вывода входа/выхода не
должна превышать 10 пФ.
Тактовая частота на линии SCL не должна превышать 100 кГц для медленных и 400 кГц для быстрых
устройств. Длительность нулевого уровня периода тактовой частоты должна быть не менее 4.710-6 с для
медленных устройств и не менее 1.310-6 с – для быстрых. Длительность высокого уровня периода тактовой
частоты составляет не менее 4.010-6 с и 0.610-6 с аналогично.
Пауза между STOP и START-условием составляет не менее 4.710-6 с для низкоскоростных устройств и
0.610-6 с – для быстрых устройств.
37
Адаптер параллельного порта принтера
К шине I2C несложно подключить компьютер. Такое подключение используется при настройке
компонентов шины, для контроля работоспособности устройств, загрузки инициирующей информации, для
использования возможностей компьютера по документированию информации, визуализации протекающих
процессов и для других целей.
В [3] приведена схема (рисунок 0.16) подключения IBM-совместимого компьютера к шине. Схема
позволяет I2C-компьютер-ным программам обмениваться информацией через любой IBM-совместимый
параллельный порт принтера, используя последовательный I2C-протокол. В приведенном примере
используется параллельный принтерный порт LPT с разъемом DB25. Фирмы Signetics и Philips разработали
необходимое программное обеспечение обслуживания шины по I2C-протоколу. Программно
переключаемые SDA- и SCL-линии совместимы со всеми I2C-интегральными схемами и I2C-платами
расширения, такими как DTV 7191 и DTV 9051.
Разъем IBM
CENTRONICS
DB25
Вывод 12
+5 B
R1-R6
10К
Вывод 17
1
Вывод 15
1
1
Вывод 9
1
Вывод 11
1
Выводы 23,24, 25
1
Земля
C1
10мкФ
SLC
I2C – шина
4 контакта
SDA
555ЛН2
Рисунок 0.16 – Адаптер параллельного порта принтера
В схеме используется микросхема инверторов с открытым коллектором К555ЛН2. Такое подключение
полностью отвечает идеологии шины. Питание интерфейсной платы должно осуществляться от устройства,
для которого она применяется, а не из порта принтера компьютера.
IM - шина
INTERMETALL-BUS (IM-bus) IM-шина была разработана для управления микросхемами системы
DIGIT 2000 от центрального контроллера (CCU). Через эту шину CCU может записать данные в ИС системы
DIGIT 2000 или прочесть данные из них. CCU всегда действует как ведущий, а все управляемые им ИМС как ведомые.
IM-шина состоит из трех линий:
 IMI – линия подтверждения (Ident);
 IMC – линия тактовой частоты (Clock);
 IMD – линия данных (DATA).
Значение тактовой частоты находится в диапазоне от 50 Гц до 170 кГц. Линии тактовой частоты и
подтверждения являются однонаправленными, и сигналы IMC и IMI идут от CCU к ведомым устройствам.
Линия данных IMD является двунаправленной, т.е. данные идут в обоих направлениях.
Двунаправленность линии достигается за счет использования выходов с открытым стоком. В этом случае
максимальное сопротивление выхода элемента в открытом состоянии 150 Ом.
CCU включает в себя общий для всех выходов данных подтягивающий резистор 2.5 кОм. Микросхемы
с интерфейсом IM-шины работают, как правило, с сигналами ТТЛ-уровней.
Временная диаграмма работы IM-шины приведена на рисунке 0.17.
38
IMI
IMC
IMD
1
2
LSB
3
4
5
6
АДРЕС
7
8
MSB
9
10
LSB
11
12
13
ДАННЫЕ
16 или 24
MSB
Рисунок 0.17 – Временная диаграмма работы IM-шины
В пассивном состоянии сигналы всех трех линий шины находятся в состоянии ВЫСОКОГО уровня.
Чтобы начать передачу, CCU выставляет на IMI-линию НИЗКИЙ уровень, показывающий передачу адреса.
На линии IMC формируются тактовые импульсы. Синхронно по фронту сигнала тактовой частоты
происходит смена данных у ведомых ИМС.
По линии IMD передаются восемь адресных бит, начиная с младшего значащего бита (LSB). В конце
адресного байта сигнал IMI переходит в ВЫСОКИЙ уровень, разрешая процедуру сравнения адреса в
ведомых ИМС. В схеме, опознавшей свой адрес, интерфейс IM-шины переключает линию данных на чтение
или запись, так как эти функции взаимосвязаны с адресами.
Также с адресом жестко связан размер данных. Поэтому CCU передает восемь или шестнадцать
тактовых импульсов, в зависимости от переданного адреса. Один или два байта записываются в адресуемую
ИМС (или считываются из нее), начиная с младшего (LSB) значащего бита.
Завершением обмена данными по шине является короткий импульс НИЗКОГО уровня на IMI-линии.
Это инициализирует запоминание принятых данных. Последнее обуславливает прерывание обмена по шине
на время до 10 мс.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
Чем в шине I2C отличается понятие «Передатчик» от понятия «Ведущий»?
Чем в шине I2C отличается понятие «Приемник» от понятия «Ведомый»?
Зачем в шине I2C используется арбитраж?
Объясните смысл процедуры квитирования в шине I2C.
Как в шине I2C устройства могут синхронизовать свою работу?
Чем отличается START-условие от START-байта в шине I2C?
В чем отличие шины I2C от IM- шины?
Однокристальная ЭВМ архитектуры MCS-51
Структура ОЭВМ КМ1816ВЕ51
КМ1816ВЕ51 – высоко интегрированный 8-битовый микроконт-роллер, основанный на архитектуре MCS®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 Кбайт за счет внешней
памяти программ.
39
 128 байт резидентной памяти данных с возможностью расширения до 64 Кбайт за счет подключения
внешней памяти данных.
 Один источник питания +5В.
 Асинхронный сброс.
 5 источников прерывания с двумя уровнями приоритета.
 Режим пониженного энергопотребления и холостого хода.
В основе структурной схемы МК51 (рисунок 0.1) имеется 8-битная внутренняя шина, к которой
подключены практически все элементы: резидентная память данных (РПД), резидентная память программ
(РПП), арифметико-логическое устройство (АЛУ), устройство управления, порты ввода/вывода, регистры
специальных функций (РСФ).
Рисунок 0.1 – Структурная схема
ОЭВМ МК51
Организация памяти МК51
Для всего семейства MCS-51 характерно разделение адресного пространства для памяти программ и
памяти данных. Такая архитектура ЭВМ получила название «Гарвардская». Память разделена на логическом
и физическом уровнях, управляется разными сигналами и выполняет разные функции. Разделение
затрагивает как резидентную память, так и внешнюю память.
Альтернативой является структура ЭВМ «фон Неймана», имеющая общую память программ и данных.
Память программ
На кристалле МК51 расположена резидентная память программ (РПП) объемом 4 Кб. Память программ
используется для хранения:
a) команд;
b) констант;
c) управляющих слов инициализации;
d) таблицы перекодировки входных и выходных данных.
40
После выполнения сигнала сброса RESET МК начинает выполнение программы с адреса 0000. При
любой конфигурации памяти программ из нее можно только читать информацию, и принципиально
отсутствует возможность производить в нее запись средствами МК.
За счет подключения внешней памяти программ (ВПП) суммарный объем памяти программ можно
довести до 64 Кбайт.
Память данных
Внутреннее ОЗУ данных МК содержит 256 байт. Адресное пространство памяти данных разделено на
два блока: 128 байт резидентной памяти данных (РПД) и область регистров специальных функций (SFR). В
памяти данных хранятся переменные, используемые при выполнении прикладной программы. Все байты
ОЗУ данных могут быть доступны с помощью либо прямой, либо косвенной адресации, для адресации
используется один байт.
Самые младшие 32 байта РПД (рисунок 0.2) сгруппированы в 4 банка по 8 регистров. К регистрам
можно обращаться по именам как R0-R7. В каждый момент времени может быть активным только один из
четырех банков. Для переключения банков используются программно изменяемые биты RS1 и RS0 в слове
состояния процессора PSW.
В интервале адресов РПД с 32 (20H) по 47 (2FH) расположена область битовой адресации, содержащая
128 битов пользователя. Обращение в этой области возможно как к байтам, так и к отдельным битам при
использовании прямого 8-битового адреса (bit).
В интервале адресов РПД с 48 (30H) по 127 (7FH) расположена сверхоперативная область, в которую
можно записывать и считывать байты с помощью прямого адреса (ad), либо с помощью косвенной
адресации, используя регистры R0 или R1 в качестве байта адреса (MOV @Ri).
18H
17H
10H
0FH
08H
07H
06H
05H
04H
03H
02H
01H
00H
Прямые адреса битов области
битовой адресации
(D7)
(D0)
7F
77
6F
67
5F
57
4F
47
3F
37
2F
27
1F
17
0F
07
7E
76
6E
66
5E
56
4E
46
3E
36
2E
26
1E
16
0E
06
7D
75
6D
65
5D
55
4D
45
3D
35
2D
25
1D
15
0D
05
7C
74
6C
64
5C
54
4C
44
3C
34
2C
24
1C
14
0C
04
7B
73
6B
63
5B
53
4B
43
3B
33
2B
23
1B
13
0B
03
7A
72
6A
62
5A
52
4A
42
3A
32
2A
22
1A
12
0A
02
79
71
69
61
59
51
49
41
39
31
29
21
19
11
09
01
78
70
68
60
58
50
48
40
38
30
28
20
18
10
08
00
Область битовой адресации байтов РПД
Сверхоперативная область ЗУ
Банк 3
Банк 2
Банк 1
R7
R6
R5
R4
R3
R2
R1
R0
Банк 0
Рисунок 0.2 – Распределение резидентной памяти данных
Банки регистров РОН
Адрес
а РПД
7FH
30H
2FH
2EH
2DH
2CH
2BH
2AH
29H
28H
27H
26H
25H
24H
23H
22H
21H
20H
1FH
41
Начальные значения всех ячеек РПД являются случайными величинами. Изменение значения любой
ячейки РПД происходит только при операции записи в нее байта.
Память данных можно расширить за счет подключения до
64 Кбайт внешней памяти (ВПД).
Регистры специального назначения
К области РПД примыкает область регистров специального назначения, адреса которых расположены в
интервале от 128 (80H) до 255 (0FFH). К регистрам специального назначения относятся регистры-защелки
портов, регистры таймеров, регистры управления периферийными устройствами, аккумулятор и т.д.
Из распределения адресов области регистров специального назначения (таблица 0.1) видно, что не все
адреса заняты. Не используемые адреса физически отсутствуют на кристалле. Чтение по этим адресам
возвращает случайные значения, а запись не результативна. Пользователю не рекомендуется производить
запись по незанятым адресам, так как эти адреса могут быть задействованы в новых версиях MCS-51.
Таблица 0.1 – Блок регистров специального назначения
Битовая
адресац
ия
Обоз
начен
ие
Наименование
ACC Аккумулятор
Регистр-расширитель аккумулятора
B
PSW Слово состояния процессора
Регистр-указатель стека
SP
DPT Регистр-указатель данных (старший
-DPH)
R
DPT Регистр-указатель данных
(младший -DPL)
R
Порт 0
+
P0
Порт 1
+
P1
Порт 2
+
P2
Порт
+
P3 табл.
Окончание
4.1 3
Регистр приоритетов
+
IP
Регистр маски прерываний
+
IE
TMO Регистр режима таймера/счетчика
D
+
TCO Регистр управления/статуса таймера
N
TH0 Таймер 0 (старший байт)
TL0 Таймер 0 (младший байт)
TH1 Таймер 1 (старший байт)
TL1 Таймер 1 (младший байт)
+
SCO Регистр управления
приемопередатчиком
N
SBUF Буфер приемопередатчика
PCO Регистр управления
энергопотреблением
N
+
+
+
-
Адрес
0E0H
0F0H
0D0H
81H
83H
82H
80H
90H
0A0H
0B0H
0B8H
0A8H
89H
88H
8CH
8AH
8DH
8BH
98H
99H
87H
Среди SFR есть несколько регистров, допускающих как байтовую, так и битовую адресацию. Двоичные
адреса этих регистров оканчиваются на три нуля, т. е. имеют в конце цифру 0 или 8Н. К отдельным битам
этих регистров можно обращаться при использовании прямого 8-битового адреса (bit) в диапазоне 128 (80H)
– 255(0FFH) (рисунок 0.3).
Назначением данных битов, чаще всего, является управление режимами и контроль состояния
периферийных устройств и микроконтроллера. Назначение и выполняемые этими битами функции будут
показаны ниже, при рассмотрении периферийных устройств.
42
Рассмотрим функции регистров, входящих в блок SFR.
Регистр аккумулятора (АСС). Аккумулятор является источником операнда и местом записи
результата при выполнении арифметических, логических операций, операций сдвига, проверки на нуль и
т.п. В зависимости от вида адресации аккумулятор в инструкциях именуется как (А), или как (АСС) (при
задании прямого адреса).
Регистр В. Используется в операциях умножения и деления. В других случаях можно использовать как
обычный сверхоперативный регистр.
Указатель стека (SP). 8-разрядный регистр SP увеличивается на 1 (инкрементируется) перед записью
информации в память при выполнении операций, связанных со стеком, типа PUSH и CALL. Стек может
занимать любое место в РПД. После сброса указателю SP присваивается значение 07Н, означая, что по
умолчанию стек начинается с адреса 08Н.
Прямой
адрес
байта
0FFh
0F1h
0F0h
0EFh
0E1h
0E0h
0DFh
0D1h
0D0h
0CFh
0B9h
0B8h
0B7h
0B1h
0B0h
0AFh
0A9h
0A8h
0A7h
0A1h
0A0h
09Fh
099h
098h
097h
091h
090h
08Fh
089h
088h
087h
081h
080h
(D0)
Имя
регистра
F1
F0
B
E1
E0
Aсс
D1
D0
PSW
B9
B8
IP
B1
B0
P3
A9
A8
IE
A1
A0
P2
99
98
SCON
91
90
P1
89
88
TCON
81
80
P0
Прямой адрес бита
(D7)
Несуществующие ячейки
F7
F6
F5
F4
F3
F2
Несуществующие ячейки
E7
E6
E5
E4
E3
E2
Несуществующие ячейки
D7
D6
D5
D4
D3
D2
Несуществующие ячейки
–
–
–
BC
BB
BA
Несуществующие ячейки
B7
B6
B5
B4
B3
B2
Несуществующие ячейки
AF
–
–
AC
AB
AA
Несуществующие ячейки
A7
A6
A5
A4
A3
A2
Несуществующие ячейки
9F
9E
9D
9C
9B
9A
Несуществующие ячейки
97
96
95
94
93
92
Несуществующие ячейки
8F
8E
8D
8C
8B
8A
Несуществующие ячейки
87
86
85
84
83
82
Рисунок 0.3 – Карта адресуемых бит в SFR
Указатель данных (DPTR). Указатель данных состоит из старшего байта (DPH) и младшего (DPL).
Предназначен для задания 16-битного адреса в операциях с обращением к внешней памяти ВПД, но может
использоваться как рабочий 16-разрядный регистр или как два независимых 8-битных регистра.
Регистры портов (Р0 – Р3). Р0, Р1, Р2 и Р3 являются регистрами-защелками портов 0 – 3.
Регистры таймеров. Регистровые пары (TH0, TL0), (TH1, TL1) – это 16-битные счетные регистры для
таймеров/счетчиков 0 и 1. Для управления таймерами используется регистр состояния (TCON) и регистр
управления (TMOD).
43
Регистры последовательного порта. Регистр последовательных данных (SBUF) – в действительности
это два раздельных регистра: передающий и принимающий буферные регистры. Для управления и контроля
состояниями последовательного порта используется регистр (SCON).
Регистры прерываний. В регистре (IE) находятся биты индивидуального разрешения прерываний.
Для управления приоритетами используется регистр (IP).
Регистр управления энергопотреблением (PCON). Управляет скоростью последовательного порта,
режимом пониженной мощности и режимом холостого хода.
Слово состояния процессора (PSW). Регистр содержит информацию о состоянии процессора (таблица
0.2) в виде битов признаков (флагов). Часть флагов изменяется только программно, другая часть флагов
изменяется при выполнении большинства команд, использующих арифметико-логическое устройство.
Таблица 0.2 – Регистр PSW
Регистр слова состояния процессора PSW
Адрес 0D0h
Позиция
бита
Адрес
бита
Названи
е бита
Имеет битовую адресацию
0D7 PSW.
C
Окончание
H табл. 74.2
AC
Имя и назначение
Флаг переноса. Установка/сброс
аппаратно или программно при
выполнении арифметических и
логических операций
Флаг вспомогательного переноса.
Установка/сброс только аппаратно
при выполнении команд сложения и
вычитания. Отображает перенос или
заем в бите 3 ACC
Флаг пользователя F0.
Установка/сброс и проверка
программно пользователем.
Выбор банка регистров R0-R7.
Установка/ сброс программно для
выбора банка.
RS1 RS0 Банк рабочих регистров и
адреса
0
0
Банк 0
(00H07H)
0
1
Банк 1
(08H0FH)
1
0
Банк 2
(10H17H)
1
1
Банк 3
(18H1FH)
Флаг переполнения. Установка/сброс
аппаратно при выполнении
арифметич.операций.
Не используется
0D6
H
PSW.
6
F0
0D5
H
PSW.
5
RS1
RS0
0D4
H
0D3
H
PSW.
4
PSW.
3
OV
0D2
H
PSW.
2
–
0D1
H
PSW.
1
0D0
H
Флаг паритета. Установка/сброс
PSW. аппаратно в каждом цикле команды
0
для указания четного/нечетного
числа «1» в аккумуляторе
P
44
Наиболее «активный» флаг – это флаг переноса C, участвующий в арифметических, логических
операциях и сдвигах, некоторых битовых операциях. Флаг переполнения (OV) используется при
выполнении арифметических операций со знаковыми числами. Флаг вспомогательного переноса (АС)
нужен при десятичной коррекции результата сложения или вычитания.
Устройство управления и синхронизации
К внешним выводам XTAL1 и XTAL2 МК51 подключается кварцевый резонатор, который управляет
работой внутреннего генератора OSC. С его помощью устройство управления формирует сигналы
синхронизации. Устройство управления и синхронизации формирует машинный цикл фиксированной
длительности. Каждый машинный цикл равен 12 периодам резонатора или 6 состояниям первичного
управляющего автомата.
Состояния обозначаются как S1 – S6. Каждое состояние содержит две фазы P1 и P2. В фазе Р1, как
правило, выполняется операция в АЛУ, а в фазе Р2 выполняется межрегистровая передача. Большинство
сигналов устройства управления являются внутренними и ненаблюдаемыми. Внешними, наблюдаемыми
сигналами синхронизации МК51 являются только сигнал резонатора XTAL2 и строб адреса внешней памяти
ALE (рисунок 0.4).
S1
S2
S3
S4
S5
S6
S1
S2
P1P2 P1P2 P1P2 P1P2 P1P2 P1P2 P1P2 P1P2
XTAL2
ALE
Рисунок 0.4 – Внешние сигналы синхронизации
Сигнал ALE формируется дважды за машинный цикл (S1P2 – S2P1 и S4P2 – S5P1). Этот сигнал
используется для управления процессом обращения к внешней памяти. Этот же сигнал можно использовать
для синхронизации работы и тактирования внешних устройств, подключенных к МК51.
Весь машинный цикл состоит из 12 фаз, начиная с S1P1 и кончая S6P2. Поэтому при частоте
кварцевого резонатора 12 МГц период выполнения машинного цикла составляет 110-6 с. В этом случае
период сигнала ALE составляет 0.510-6 с.
Большинство команд МК51 выполняются за один машинный цикл. Команды, оперирующие 16битовыми словами, или требующие обращения к внешней памяти программ или данных, выполняются за
два машинных цикла. Только команды умножения и деления выполняются за четыре машинных цикла. На
основе знания этих особенностей в работе схемы синхронизации выполняется расчет необходимого времени
выполнения прикладных программ.
Порты ввода/вывода
Все четыре порта МК51 являются двунаправленными. Каждый из них состоит из регистра-защелки,
выходного драйвера и входного буфера. Выходные драйверы портов Р0 и Р2 и входной буфер порта Р0
используются при обращении к внешней памяти программ и внешней памяти данных. Через порт Р0 в
режиме временного мульти-плексирования выводится младший байт адреса внешней памяти, а затем
передается или принимается байт данных/команды. Через порт Р2 выдается старший байт адреса при 16битовых адресах.
Все выводы порта Р3 могут быть использованы для альтернативных функций (таблица 0.3). Для
разрешения альтернативных функций в соответствующие разряды регистра-защелки порта Р3 необходимо
записать «1».
Таблица 0.3 – Альтернативные функции порта P3
Позиция
бита
Адрес
бита
Названи
е бита
Порт ввода/вывода P3
Адрес 0B0h
Имеет битовую адресацию
Имя и назначение
45
Позиция
бита
Адрес
бита
Названи
е бита
Порт ввода/вывода P3
Адрес 0B0h
Имеет битовую адресацию
RD
0B7H
P3.7
WR
0B6H
P3.6
T1
0B5H
P3.5
T0
0B4H
P3.4
INT1
0B3H
P3.3
INT0
0B2H
P3.2
TXD
0B1H
P3.1
RXD
0B0H
P3.0
Имя и назначение
Чтение. При чтении ВПД
аппаратно формируется сигнал
низкого уровня
Запись. При записи в ВПД
аппаратно формируется сигнал
низкого уровня
Вход таймера/счетчика 1 или
тест–вход
Вход таймера/счетчика 0 или
тест–вход
Вход запроса прерывания 1.
Активен срез или низкий
уровень.
Вход запроса прерывания 0.
Активен срез или низкий
уровень.
Выход передатчика
последовательного порта. Выход
синхронизации в режиме
сдвигающего регистра.
Вход приемника
последовательного порта.
Ввод/вывод данных в режиме
сдвигающего регистра.
Каждый бит любого порта может быть независимо настроен на ввод или вывод информации. Для
использования разряда порта на ввод необходимо записать «1» в соответствующий триггер-защелку, что
закрывает выходной МОП-транзистор. Есть некоторая разница в строении порта Р0 и портов Р1, Р2 и Р3.
Порт Р0 является двунаправленным, а порты Р1 – Р3 – квазидвунаправленными.
Для вывода информации в нужный разряд порта Р0 (рисунок 0.5) используется сигнал «Запись в порт».
Сигнал «Управление» переключает мультиплексор для вывода через порт Р0 байта адреса или данных,
поступающих по линии «Адрес/данные». В этом режиме верхний МОП-транзистор открывается только при
выдаче бита «1». В других случаях этот транзистор заперт. Поэтому линии порта Р0, используемые для
вывода, являются выходами с открытым стоком.
46
+5 B
Управление
Адрес/данные
Чтение буфера
Линия Y
внутренней
шины
Запись
в буфер

1
1
Внешний
вывод МК
P0.Y
D
T
Q
Q
C
MUX
1
Ввод
Рисунок 0.5 – Структура одного разряда порта Р0
Строение битов порта Р2 близко к строению битов порта Р0, а строение порта Р1 аналогично строению
порта Р3 (рисунок 0.6).
Для выполнения альтернативных функций порта Р3 в его схеме имеются соответствующие выводы 
«Альтернативная функция выхода» и «Альтернативная функция входа». Для разрешения использования
альтернативных функций в соответствующие триггеры-защелки порта Р3 необходимо записать «1».
При чтении информации из разрядов порта Р0 и других портов могут использоваться два сигнала:
a) чтение буфера-защелки («Чтение буфера»);
b) чтение контакта вывода («Ввод»).
Соответственно, информация будет читаться из буфера-защелки или с внешнего вывода порта. Вид
чтения определяется типом команды. Разные способы чтения необходимы, чтобы исключить неправильное
чтение содержания порта в некоторых командах, искажаемое за счет мощной внешней нагрузки разрядов
порта.
Альтернативная функция выхода
Чтение буфера
Линия Y
внутренней
шины
Запись
в буфер

1
+5 B
Внешний
вывод МК
P3.Y
D
T
Q
Q
C
1
1
Ввод
Альтернативная
функция входа
Рисунок 0.6 – Структура одного разряда порта Р3
По сигналу сброса во все регистры-защелки всех портов записывается «1», и, таким образом, все порты
настраиваются на режим ввода.
Выходные линии портов Р1, Р2 и Р3 по нагрузочной способности могут работать на один вход ТТЛсхемы. Выходы порта Р0 могут быть подключены к двум ТТЛ-входам. Входные сигналы всех портов могут
обслуживаться как выходами ТТЛ-схем, так и n-МОП элементами.
Доступ к внешней памяти
Доступ к внешней памяти бывает двух типов: доступ к внешней памяти программ и доступ к внешней
памяти данных. При доступе к ВПП в качестве сигнала чтения используется сигнал PSEN (Program Store
Enable). Для доступа к ВПД используются сигналы чтения RD и записи WR .
Доступ к внешней памяти программ
Доступ к ВПП возможен в двух случаях:
1) если сигнал EA (External Access) низкий, что соответствует отключению РПП или
47
2) если сигнал EA высокий, а счетчик команд (PC) содержит адрес больший, чем 0FFFH (4К).
При выборке команд из ВПП всегда используется 16-битный адрес. В этом случае старший байт адреса
выводится в порт P2 и удерживается в течение полного цикла чтения команды. Младший байт адреса
выводится через порт P0 и должен быть на время операции чтения команды записан во внешнем регистре,
поскольку байт команды считывается через порт P0. При наличии ВПП программа не должна производить
запись информации в порт P0.
Диаграмма сигналов при доступе к внешней памяти программ (рисунок 0.7) привязана к тактовым
сигналам синхронизации. Для фиксации младшего байта адреса во внешнем регистре необходимо
использовать отрицательный перепад сигнала ALE (Address Latch Enable). Сигнал ALE дважды в каждом
машинном цикле принимает значение 1, даже если в цикле нет обращения к ВПП. Фиксация байта команды
КОП, поступающего из ВПП через порт P0, происходит по положительному фронту сигнала PSEN .
S1
S2
S3
S4
S5
S6
S1
S2
P1P2 P1P2 P1P2 P1P2 P1P2 P1P2 P1P2 P1P2
XTAL2
ALE
PSEN
P0
КОП
PCL
OUT
PCL
OUT
КОП
PCH OUT
P2
КОП
PCH OUT
PCL
OUT
PCH OUT
Рисунок 0.7 – Цикл доступа к внешней памяти программ
Доступ к внешней памяти данных
Доступ к внешней памяти данных возможен как с использованием 16-битового адреса, так и 8-битового
адреса. При 16-битовом адресе порты P0 и P2 используются аналогично обращению к ВПП. При
использовании 8-битового адреса содержимое порта P2 в цикле обращения к внешней памяти не изменяется.
Обращение к ВПД возможно при отсутствии сигнала ALE. Поэтому первый сигнал ALE во втором
машинном цикле команды обращения к ВПД подавляется. В цикле чтения ВПД (рисунок 0.8) формируется
сигнал RD , связанный с альтернативной функцией вывода P3.7.
Через порт P0 по срезу сигнала ALE передается 8-битовый адрес (команда типа MOVX @Ri) или
младший байт DPTR (команда типа MOVX @DPTR). Фиксация данных портом P0 происходит до
завершения сигнала RD .
S4
S5
S6
S1
S2
S3
S4
S5
P1P2 P1P2 P1P2 P1P2 P1P2 P1P2 P1P2 P1P2
XTAL2
ALE
RD
P0
P2
Для внешней ПП
DPL или Ri
OUT
PCH или
P2 OUT
Фиксация данных
DPH или P2 OUT
PCL
OUT
PCH или
P2 OUT
Рисунок 0.8 – Цикл чтения внешней памяти данных
Для записи данных в ВПД (рисунок 0.9) используется сигнал WR .
48
S4
S5
S6
S1
S2
S3
S4
S5
P1P2 P1P2 P1P2 P1P2 P1P2 P1P2 P1P2 P1P2
XTAL2
ALE
PCL OUT
WR
P0
P2
Для внешней ПП
DPL или Ri
OUT
PCH или
P2 OUT
Данные
PCL
OUT
PCH или
P2 OUT
DPH или P2 OUT
Рисунок 0.9 – Цикл записи во внешнюю память данных
Совмещение адресов ВПП и ВПД
Часто при разработке и отладке МП систем требуется объединить адресное пространство программ и
данных. Это можно сделать аппаратно, объединив с помощью логического элемента «И» сигналы чтения
памяти данных RD и сигнала чтения памяти программ PSEN (рисунок 0.10).
ОЭВМ
MCS-51
MEM WR
WR
RD

MEM RD
PSEN
Рисунок 0.10 – Схема совмещения адресного пространства ВПП и ВПД
В этом случае внешняя память может быть выполнена в виде двухпортового ОЗУ, запись и чтение
которого можно выполнять как из МК, так и из внешнего устройства. Запись программы также можно
выполнять средствами МК как массив данных. Чаще всего такой режим используется при отладке МП
системы с последующим разделением адресов программ и данных.
Таймеры/счетчики
В МК51 имеются два независимых 16-разрядных таймера/счетчика (Т/С0 и Т/С1). Каждый из них
может работать в режиме таймера или счетчика внешних событий. В режиме таймера содержимое Т/С
увеличивается на единицу (инкрементируется) в каждом машинном цикле, т.е. через каждые 12 периодов
резонатора.
В режиме счета внешних событий счетчик Т/С инкрементируется по каждому отрицательному
переходу (из «1» в «0») на соответствующем входе Т0 или Т1(альтернативные функции разрядов Р3.4 и Р3.5
порта Р3). На распознавание перехода требуется два машинных цикла, поэтому максимальная частота счета
внешних событий равна FOSC/24. На длительность сигнала ограничений нет, но для гарантированного
срабатывания счетчика необходимо обеспечить значение «1» в течение как минимум одного машинного
цикла МК51.
Для задания режимов работы обоих таймеров/счетчиков имеется специальный регистр TMOD (таблица
0.4). Старшие четыре бита регистра управляют режимами С/Т1, а младшие – С/Т0. Битами М0 и М1
выбирается режим работы соответствующего таймера/счетчика, бит С Т отвечает за выбор таймера или
счетчика.
Каждый таймер может независимо друг от друга работать в одном из 4 режимов.
Таблица 0.4 – Регистр управления режимами таймера/счетчика
Регистр режима таймера/счетчика TMOD
Адрес 089H
Не имеет битовой адресации
Позиция
бита
Названи
е бита
49
Имя и назначение битов
Управление блокировкой. При
GATE1=1 для разрешения работы
GATE TMOD. таймера/счетчика 1 необходимо
1
7
сочетание INT1=1  TR1=1. При
GATE1=0 для разрешения
таймера/счетчика 1 достаточно TR1=1
TMOD. Выбор таймера (C/T1=0) или счетчика
C/T1
6
(C/T1=1)
M11 M01 Режим работы
таймера/счетчика
0 0 13 бит. делитель, TH18,
TMOD.
TL15 бит
M11
5
0
1
16
бит.
делитель,
TH18,
M01
TMOD.
TL18 бит
4
1 0 8 бит. автозагружаемый
делитель
1 1
Останов таймера/счетчика 1
Управление блокировкой. При
Окончание табл. 4.4GATE0=1 для разрешения работы
GATE TMOD. таймера/счетчика 0 необходимо
0
3
сочетание INT0=1  TR0=1. При
GATE0=0 для разрешения
таймера/счетчика 0 достаточно TR0=1
TMOD. Выбор таймера (C/T0=0) или счетчика
C/T0
2
(C/T0=1)
M10
M10 M00 Режим работы
M00
таймера/счетчика
0 0 13 бит. делитель, TH08,
TMOD.
TL05 бит
1
0 1 16 бит. делитель, TH08,
TMOD.
TL08 бит
0
1 0 8 бит. автозагружаемый
делитель
1 1 TL0–8-битный таймер/счетчик 0,
TH0 – 8 битный независимый таймер 1
Режим 0. В этом режиме оба таймера работают как 13-битовые делители, причем старший регистр TH0
(TH1) имеет 8 бит, а младший TL0 (TL1) – 5 младших бит. Старшие 3 бита регистра TLx не определены и
игнорируются. Перед началом работы таймера/счетчика в регистры THх и TLх можно записать некоторое
предварительное значение, с которого начнет увеличивать свое значение таймер.
Когда содержимое таймера/счетчика перейдет из состояния «все единицы» в состояние «все нули»,
устанавливается флаг прерывания TF0 (TF1). Если разрешена реакция на прерывание от данного таймера,
МК51 вызывает подпрограмму обслуживания прерывания соответствующего таймера. Если реакция на
прерывание запрещена, МК может программно опросить состояние флага прерывания и зафиксировать
момент переполнения таймера.
Счет таймеру разрешается при установке бита TR0 (TR1) и запрещается при его сбросе, при условии,
что соответствующий бит GATEx (TMOD.3 или TMOD.7) задан равным «0». Этот метод управления
запуском/остановом таймера/счетчика можно назвать программным запуском и остановом.
При задании бита GATE0 (GATE1) равным «1» разрешение счета для таймера/счетчика определяется
при значении «1» бита TR0 (TR1) и высокого уровня на входе INT 0 ( INT 1 ). Такой метод управления
50
запуском/остановом можно назвать аппаратным запуском и остановом. Если на вход INT 0 ( INT 1 ) подавать
импульсный сигнал, то можно по значению таймера измерить длительность вершины импульса,
определяемое количеством тактов, изменяющих значение таймера.
Биты управления TR0 (TR1) и TF0 (TF1) находятся в регистре управления/статуса таймера TCON
(таблица 0.5). Кроме этого, в регистре имеются биты, связанные с внешними прерываниями.
Таблица 0.5 – Регистр управления/статуса таймера
Позиция
бита
Адрес
бита
Названи
е бита
Регистр управления/статуса таймера TCON
Адрес 088h
Имеет битовую адресацию
TF1
08F
H
TCON.
7
TR1
08E
H
TCON.
6
TF0
08D
H
TCON.
5
TR0
08C
H
TCON.
4
IE1
08B
H
TCON.
3
IT1
08A
H
TCON.
2
IE0
089
H
TCON.
1
IT0
088
H
TCON.
0
Имя и назначение
Флаг переполнения таймера 1.
Установка аппаратно при
переполнении таймера/счетчика 1.
Сброс аппаратно при
обслуживании прерывания
Бит управления таймера 1.
Установка /сброс программно для
запуска/останова таймера/
счетчика 1
Флаг переполнения таймера 0.
Установка аппаратно при
переполнении таймера/счетчика 0.
Сброс аппаратно при
обслуживании прерывания
Бит управления таймера 0.
Установка /сброс программно для
запуска/останова таймера/
счетчика 0
Флаг фронта прерывания 1.
Установка аппаратно по
активному INT1. Сброс
программно/аппаратно.
Бит типа прерывания 1.
Установка/сброс программно для
задания типа запроса прерывания
1 (срез/низкий уровень)
Флаг фронта прерывания 0.
Установка аппаратно по
активному INT0. Сброс
программно/аппаратно.
Бит типа прерывания 0.
Установка/сброс программно для
задания типа запроса прерывания
0 (срез/низкий уровень)
Схема функционирования таймера/счетчика в режиме 0 (на примере Т/С1, рисунок 0.11) показывает,
как воздействуют биты управления на работу таймера.
51
OSC
12
C/T1=0
TH1
TL1
(8 бит) (5 бит)
C/T1=1
T1
1
GATE1
TR1
TF1
Прерывание

1
INT1
Рисунок 0.11 – Таймер/счетчик в режиме 0
Режим 1. Этот режим отличается от режима 0 только тем, что оба таймера имеют 16-битовую
разрядность (рисунок 0.12).
OSC
12
C/T1=0
TH1
TL1
(8 бит) (8 бит)
C/T1=1
T1
1
GATE1
TR1
TF1
Прерывание

1
INT1
Рисунок 0.12 – Таймер/счетчик в режиме 1
Режим 2. В этом режиме таймер имеет размерность 8 бит и использует для счета младший байт TL0
(TL1). В старший байт таймера TH0 (TH1) программно заносится коэффициент. При переполнении
младшего счетчика не только устанавливается флаг TF0 (TF1), но и содержимое TH0 (TH1) перегружается в
TL0 (TL1) (рисунок 0.13). Перезагрузка не изменяет содержимого TH0 (TH1).
OSC
12
C/T0=0
TL0
(8 бит)
C/T0=1
T0
1
GATE0
TR0

1
Прерывание
TF0

TH0
(8 бит)
INT0
Рисунок 0.13 – Таймер/счетчик в режиме 2
Этот режим, за счет программно задаваемого коэффициента деления таймера, очень удобен при
управлении повторяющимися процессами, например, в программно перестраиваемом генераторе.
Оба таймера в этом режиме работают аналогично.
Режим 3. В этом режиме Т/С1 просто хранит свое значение. Т/С0 представляет собой два раздельных
8-битных счетчика (TH0 и TL0). Регистр TL0 управляется битами управления для таймера 0: GATE0, С Т 0 ,
TR0, TF0. Регистр TH0 работает только в режиме таймера и использует биты таймера 1: TR1, TF1 (рисунок
0.14).
OSC
TH0
(8 бит)
12
TR1
C/T0=0
T0
GATE0
TL0
(8 бит)
C/T0=1
1
TR0
TF1
Прерывание
TF0
Прерывание

1
INT0
Рисунок 0.14 – Таймер/счетчик 0 в режиме 3
Режим 3 применяется в тех приложениях, где требуется дополнительный 8-битный таймер или счетчик
событий. Когда таймер 0 работает в режиме 3, таймер 1 может быть разрешен, запрещен, переведен в свой
собственный режим 3, использован последовательным портом для управления скоростью передачи или в
любых других приложениях, не требующих прерывания.
52
Последовательный порт
Последовательный порт в МК51 – это универсальный асинхронный приемопередатчик (УАПП или
UART (Universal Asynchron Receiver Transmitter)), через который выполняется прием и передача
информации, представленной последовательным кодом. УАПП является полным дуплексным портом, что
означает возможность осуществлять передачу и прием одновременно. В состав УАПП входят сдвигающие
регистры приема и передачи и буферный регистр приемника/передатчика SBUF. На самом деле регистр
SBUF состоит из двух раздельных регистров: буферного регистра приемника и буферного регистра
передатчика.
Буферный регистр приемника организован таким образом, что прием нового байта можно начинать до
считывания программой предыдущего принятого байта. Если же к моменту окончания приема текущего
байта предыдущий байт не будет считан, он будет потерян.
Передача последовательного кода младшими разрядами вперед начинается из сдвигающего регистра
передатчика сразу после записи байта в буферный регистр передатчика SBUF.
Для управления режимами и контроля состояниями используется регистр SCON (таблица 0.6).
Таблица 0.6 – Регистр управления SCON
Позиция
бита
Адрес
бита
Названи
е бита
Регистр управления последовательным портом SCON
Адрес 098h
Имеет битовую адресацию
Имя и назначение
Режим последовательного
порта. Сброс/установка
программно
SM0
SM1 Режим
Описание Скорость
0 0 Регистр сдвига
FOSC/12
0 1 1 УАПП-8 бит
переменная
1 0 2 УАПП-9 бит
FOSC/
64 или
FOSC/3
2
1 1 3 УАПП-9 бит
переменная
Бит управления режимом. При
SM2=1 запрещается прием
сообщений с нулевым девятым
битом. Сброс/установка
программно
Бит разрешения приема.
Установка /сброс программно
для разрешения/запрета приема
последовательных данных.
9-тый бит данных для передачи в
2 и 3 режимах. Установка /сброс
программно.
0
SM0
SM1
09F
H
09E
H
SCON.
7
SCON.
6
SM2
09D
H
SCON.
5
REN
09C
H
SCON.
4
TB8
09B
H
SCON.
3
53
Регистр управления
последовательным портом SCON
Окончание
табл.
Адрес
098h
4.6
Имеет битовую адресацию
RB8 09A SCON. 9-тый принятый бит в режимах 2
H
2
и 3. Управляется аппаратно
Флаг прерывания передатчика.
099 SCON. Установка аппаратно после
TI
H
1
передачи байта. Сброс
программно.
Флаг прерывания приемника.
098 SCON.
RI
Установка аппаратно при приеме
H
0
байта. Сброс программно.
Этот регистр содержит биты выборки режима (SM0 и SM1), бит SM2, предназначенный для
мультипроцессорных режимов, бит разрешения приема (REN), 9-й бит данных для 9-битных режимов
передачи и приема (TB8 и TR8) и биты прерывания последовательного порта (TI и RI).
Режимы работы УАПП
Последовательный порт может работать в 4 режимах.
Режим 0. В этом режиме информация по 8 бит передается и принимается через внешний вывод входа
приемника (RXD, порт Р3.0). Через внешний вывод передатчика (TXD, порт P3.1) выдаются импульсы
сдвига с фиксированной частотой FOSC/12, которые синхронизируют каждый бит данных.
Передача начинается сразу после записи байта в SBUF. Прием начинается при условии (RI=0 
REN=1).
Режим 1. В этом режиме через TXD передаются и через RXD принимаются 10 бит: нулевой старт-бит,
8 бит данных, представленных младшими битами вперед и единичный стоп-бит (рисунок 0.15).
D0
D1
D2
D3
Стартбит
D4
D5
D6
Биты данных
D7
Стопбит
Рисунок 0.15 – Кадр данных в режиме 1
Скорость передачи в этом режиме переменная. Для ее задания можно использовать таймер Т/С1. Прием
данных начинается с приходом старт-бита при условии, что бит REN=1 (SCON.4).
Режим 2. В этом режиме через TXD передаются или через RXD принимаются 11 бит: нулевой стартбит, 8 бит данных, программируемый 9-тый бит и единичный стоп-бит (рисунок 0.16).
D0
Стартбит
D1
D2
D3
D4
D5
D6
D7
D8
9йбит Стопбит Рисунок 0.16 – Кадр данных в режиме
Биты данных
2
При передаче 9-тый бит данных считывается из бита TB8 (SCON.3), который можно изменять
программно, например, копируя в него бит четности Р (PSW.0). При приеме 9-тый принятый бит
записывается в бит RB8 (SCON.2) с возможностью его дальнейшего программного анализа.
Скорость передачи фиксирована и выбирается из двух возможных вариантов: FOSC/32 или FOSC/64.
Режим 3. Режим соответствует режиму 2, но имеет переменную скорость передачи, определяемую
частотой переполнения таймера/счетчика 1.
Скорость передачи
Сводка режимов (таблица 0.7) позволяет выбрать режим передачи с учетом требуемой скорости обмена
информацией.
54
Таблица 0.7 – Скорость передачи в УАПП
Режим
УАПП
0
Скорость передачи
F / 12
2
1
SMOD
 FOVT1 / 32 , FOVT1 – частота переполнения
таймера 1
2 SMOD  F / 64
2
2SMOD  FOVT1 / 32 , FOVT1 – частота переполнения
3
таймера 1
1 или
3. Т/С1
в
режим
ес
переза
грузко
й
2 SMOD 
FOSC
32  12  256  TH 1
Стандартные скорости передачи (таблица 0.8) получаются с использованием таймера 1. В этом случае
необходимо запретить прерывание TF1 (TCON.7). Таймер может работать либо как таймер, либо как
счетчик событий в любом из трех режимов. В большинстве применений он используется как таймер в
режиме 2 с автоперезагрузкой.
Таблица 0.8 – Типовые скорости передачи, генерируемые таймером 1
Режи
м
УАП
П
0
2
1,3
Скорост
ь
передач
и, бит
1М
375 К
62,5 К
–“–
19,2 К
–“–
9,6 К
–“–
4,8 К
–“–
2,4 К
–“–
1,2 К
–“–
137,5
–“–
–“–
FOSC,
МГц
SMO
D
Х
1
1
110
12
12
12
11,05
9
11,05
9
11,05
9
11,05
9
11,05
9
11,05
9
6
110
12
Таймер/счетчик 1
Бит
Режи
C/T
Число
м
1
Х
Х
Х
Х
Х
Х
0
2
0FFH
1
0
2
0FDH
0
0
2
0FDH
0
0
2
0FAH
0
0
2
0F4H
0
0
2
0E8H
0
0
2
01DH
0
0
2
0
0
1
072H
0FEEB
H
Скорость передачи в режимах 1, 2 или 3 дополнительно зависит от значения бита SMOD,
расположенного в регистре управления энергопотреблением PCON (таблица 0.9). Кроме этого, в регистре
имеются два бита, определяемые пользователем GF0 и GF1, бит пониженного энергопотребления PD и бит
холостого хода IDL.
Таблица 0.9 – Регистр PCON
55
Позиция
бита
Названи
е бита
Регистр управления энергопотреблением PCON
Адрес 087H
Не имеет битовой адресации
Окончание табл. 4.9
SMOD
–
–
–
PCON.
7
PCON.
6
PCON.
5
PCON.
4
GF1
PCON.
3
GF0
PCON.
2
PD
PCON.
1
IDL
PCON.
0
Имя и назначение битов
Удвоенная скорость передачи. В
режимах 1, 2 и 3 работы УАПП при
SMOD=1 скорость передачи вдвое
выше, чем при SMOD=0.
Не используются
Не используются
Не используются
Флаг пользователя GF1.
Установка/сброс программно по
желанию.
Флаг пользователя GF0.
Установка/сброс программно по
желанию.
Бит пониженной мощности. При PD =1
ОЭВМ работает в режиме пониженной
мощности потребления (режим сна).
Бит холостого хода. При IDL=1 ОЭВМ
работает в режиме холостого хода.
Режимы пониженного энергопотребления
Для применений, где потребление энергии критично, например, при питании от батарей, МК51 имеет
два режима пониженного энергопотребления: режим ожидания Idle (холостого хода) и режим
микропотребления PD (Power Down). Для активизации этих режимов требуется установить
соответствующие биты PCON.0 (IDL) или PCON.1 (PD) (таблица 0.9)
Режим ожидания. При поступлении команды, которая установит бит IDL, МК переходит в режим
ожидания (холостого хода). В контроллере работает внутренний тактовый генератор, работает схема
прерываний, таймеры и последовательный порт. Останавливается процесс выборки команд, сохраняются
данные в регистрах и на разрядах портов.
Для выхода из режима ожидания можно воспользоваться одним из двух способов:
a) аппаратный сброс. Используется сигнал сброса RESET . При этом переопределяются многие
регистры блока специальных функций, но сохраняется содержимое РПД;
b) прерывание. Активизация любого разрешенного прерывания приведет к сбросу бита IDL, вызову
программы обслуживания прерывания и возврату в основной программе к команде, следующей за
командой, которая включила режим ожидания.
Режим пониженной мощности. При выполнении команды, которая установит бит PD, МК перейдет в
режим низкого потребления Power Down. В этом режиме выключается работа тактового генератора, все
функции МК замораживаются, но РПД и блок регистров специальных функций сохраняют свои значения.
Напряжение питания схемы при этом можно понизить до +2 В. Важно не понижать напряжение до самого
момента включения режима Power Down, иначе может произойти аппаратный сброс.
Для выхода из данного режима можно использовать аппаратный сброс, или разрешенное прерывание
от внешнего источника. Перед выходом из режима необходимо восстановить нормальный уровень питания
и удержать его не менее 10-3 с. В этом случае успеет запуститься тактовый генератор, и его частота станет
стабильной к моменту активизации МК.
56
Система прерываний
Источники прерываний
МК51 имеет пять источников прерываний (внешние прерывания INT 0 , INT 1 , прерывания от таймеров
Т0, Т1 и прерывания от последовательного порта).
Внешние прерывания. Прерывания INT 0 и INT 1 могут быть вызваны либо уровнем, либо
отрицательным перепадом на одноименных входах МК. Выбор определяется состоянием программно
изменяемых бит IT0 и IT1 регистра TCON (TCON.0, TCON.2). При значении соответствующего бита «1», данное
внешнее прерывание вызывается отрицательным перепадом.
Для генерации внешних прерываний используются флаги IE0 и IE1, находящиеся в регистре TCON
(TCON.1, TCON.3). Если прерывание было вызвано отрицательным перепадом, то биты прерывания
сбрасываются при вызове программы обслуживания прерываний. Если прерывание вызвано низким
уровнем внешнего сигнала, то сброс флагов прерывания связан со снятием активного уровня запроса
прерывания.
При формировании запроса прерывания по перепаду высокий и низкий уровни входных сигналов
должны удерживаться не менее одного машинного цикла.
Если внешние прерывания INT 0 или INT 1 вызываются низким уровнем сигнала, внешний источник
должен удерживать активный уровень до вызова программы обслуживания прерывания. Запрос необходимо
снять до завершения программы прерывания.
Прерывания таймеров. Прерывания вызываются флагами TF0 и TF1 регистра TCON (TCON.5,
TCON.7). Флаги устанавливаются при переполнении соответствующего таймера/счетчика. Флаги
сбрасываются аппаратно при вызове программы прерывания.
Прерывания последовательного порта. Прерывание от последовательного порта вызывается при
единичном значении одного из флагов RI или TI регистра SCON (SCON.0, SCON.1). Значения флагов
проверяются по логическому условию ИЛИ. Программа обслуживания прерывания от последовательного
порта должна сама определить флаг, вызвавший прерывание, и сбросить его программно.
Все перечисленные флаги прерываний программно доступны, поэтому программа пользователя может
вызвать любое прерывание и сбросить его флаг аналогично аппаратной реакции и с тем же результатом.
Таким способом можно отлаживать соответствующие программы обслуживания прерываний или выполнять
их для нужд решаемой задачи.
За векторами прерываний (таблица 0.10) закреплены фиксированные адреса, по которым должны
находиться команды безусловного перехода на начало соответствующей программы обслуживания
прерывания.
Таблица 0.10 – Адреса векторов прерываний
Источник
прерывания
Бит
запроса
прерыван
ия
INT0
IE0
Таймер 0
TF0
INT1
IE1
Таймер 1
Последовательный порт
Сбрасываетс
я аппаратно
Адрес
вектора
000BH
TF1
Нет (уровень)
Да (переход)
Да
Нет (уровень)
Да (переход)
Да
RI, TI
Нет
0023H
0003H
0013H
001BH
В системе прерываний МК51 имеется возможность индивидуально разрешать и запрещать реакцию
системы на любое прерывание. Кроме этого имеется возможность группового запрета всех прерываний,
независимо от индивидуального разрешения/запрета.
Для управления процессом разрешения и запрета используется специальный регистр масок прерываний
IE (таблица 0.11).
При разрешении некоторого прерывания требуется отменить запрет всех прерываний (EA=1), и
установить нужный бит. Если сбросить бит (EA=0), все прерывания запрещаются, независимо от
индивидуального разрешения.
57
Таблица 0.11 – Регистр IE
Позиция
бита
Адрес
бита
Названи
е бита
Регистр масок прерываний IE
Адрес 0A8h
Имеет битовую адресацию
EA
0AFH
IE.7
–
0AEH
0AD
H
IE.6
–
IE.5
ES
0ACH
IE.4
ET1
0ABH
IE.3
EX1
0AA
H
IE.2
ET0
0A9H
IE.1
EX0
0A8H
IE.0
Имя и назначение
Бит общего запрета. При EA=0 все
прерывания запрещены. При
EA=1 каждое прерывание
разрешается/запрещается
индивидуально.
Не используется
Не используется
Бит разрешения прерывания от
УАПП. Установка /сброс
программно для
разрешения/запрета прерываний
от флагов TI или RI.
Бит разрешения прерывания от
таймера 1. Установка/сброс
программно для разрешения/запрета прерываний от
таймера 1.
Бит разрешения внешнего
прерывания INT1. Установка
/сброс программно для
разрешения/запрета прерываний
от контакта INT1.
Бит разрешения прерывания от
таймера 0. Установка/сброс
программно для разрешения/запрета прерываний от
таймера 0.
Бит разрешения внешнего
прерывания INT0. Установка
/сброс программно для
разрешения/запрета прерываний
от контакта INT0.
Такой способ группового запрета позволяет быстро и просто на заданное время сделать систему
нечувствительной к запросам прерываний (например, для выполнения важной процедуры, чувствительной к
времени выполнения).
Приоритеты прерываний
Есть возможность индивидуально управлять приоритетом источников прерываний при помощи регистра
приоритетов IP (таблица 0.12).
58
Таблица 0.12 – Регистр IP
Названи
е бита
Адрес
бита
Позиция
бита
Регистр приоритетов прерываний IP
Адрес 0B8h
Имеет битовую адресацию
–
–
–
0BFH
0BEH
0BDH
IP.7
IP.6
IP.5
PS
0BCH
IP.4
PT1
0BBH
IP.3
PX1
0BAH
IP.2
PT0
0B9H
IP.1
PX0
0B8H
IP.0
Имя и назначение
Не используется
Не используется
Не используется
Бит приоритета УАПП.
Установка/сброс программно для
присваивания прерыванию от
УАПП высшего/низшего
приоритета.
Бит приоритета таймера 1.
Установка/ сброс программно для
присваивания прерыванию от
таймера 1 высшего/низшего
приоритета.
Бит приоритета внешнего
прерывания 1. Установка /сброс
программно для присваивания
прерыванию от контакта INT1
высшего/низшего приоритета
Бит приоритета таймера 0.
Установка/ сброс программно для
присваивания прерыванию от
таймера 0 высшего/низшего
приоритета.
Бит приоритета внешнего
прерывания 0. Установка /сброс
программно для присваивания
прерыванию от контакта INT0
высшего/низшего приоритета
Каждому из прерываний можно индивидуально присвоить один из двух приоритетов. При этом сначала
обслуживаются запросы от прерываний с высшим приоритетом, а затем с низшим. Это делает систему
прерываний очень гибкой и позволяет ее легко перестраивать под нужды решаемой задачи.
Прерывание с низким приоритетом может быть прервано прерыванием с более высоким приоритетом.
Прерывание с наивысшим приоритетом не может быть прервано никаким другим источником прерывания.
Если два или более запросов с разными уровнями приоритетов принимаются одновременно, запрос
высокого уровня приоритета обслуживается первым.
Если одновременно принимаются запросы с одинаковыми уровнями приоритета, то порядок
обслуживания определяется внутренней последовательностью опроса. Если все прерывания имеют
одинаковый приоритет, то обслуживание запросов предполагает следующий порядок: INT 0 , Т0, INT 1 , Т1,
TI+RI. Данный порядок соблюдается внутри каждой группы запросов с одинаковым приоритетом.
Процесс прерывания
Флаги прерываний опрашиваются в фазе S5P2 каждого машинного цикла. При обнаружении запроса
прерывания, в следующем машинном цикле выполняется опрос по уровням приоритетов.
Если один из флагов прерывания равен «1», система аппаратно генерирует команду вызова
подпрограммы по фиксированному адресу вектора прерывания. При этом в стек загружается адрес
59
следующей команды, после текущей, а в программный счетчик грузится вектор прерываний (адрес
программы обслуживания).
Вызов подпрограммы может быть блокирован одним из условий:
1. В данный момент обслуживается прерывание равного или более высокого уровня приоритета.
2. Текущий цикл опроса не является последним циклом выполняемой команды.
3. Выполняется любая команда записи в регистр масок IE или регистр приоритетов IP.
Условие 2 гарантирует, что выполняемая команда будет завершена полностью. Условие 3 гарантирует,
что если выполняется любая команда записи в указанные регистры, то по крайней мере еще одна команда
будет выполнена после нее до вызова любой программы обслуживания.
Опрос повторяется в каждом машинном цикле. Каждый цикл опроса является новым, т.е. флаг
прерывания, не дождавшийся обслуживания, не запоминается. Для возврата из подпрограммы
обслуживания прерывания должна использоваться команда RETI, которая считывает из стека адрес
возврата, записывает его в программный счетчик и информирует систему, что завершена программа
обслуживания прерывания, что восстанавливает всю систему прерываний.
В случае использования для возврата из программы обслуживания команды RET система прерываний
будет считать, что продолжается обслуживание данного прерывания.
Запись в память программ МК51
В резидентную память программ МК51 можно записать объектные коды прикладной программы. Для
программирования РПП необходимо понизить частоту кварцевого резонатора до 4-6 МГц.
Схема подключения информации в режиме программирования (таблица 0.17) предусматривает подачу
младшего байта адреса записываемого байта РПП через порт Р1. Четыре старших бита адреса РПП
поступают через разряды Р2.0 – Р2.3. Через порт Р0 подается записываемый байт команды.
Адреса
P1
РПП
Vcc
P0
P2.0-P2.3
P2.4
P2.5
«1»ТТЛ P2.6 ALE
P2.7
EA/Vpp
X1
+5В
Коды
команд
+5
0
+21
+5
RESET «1»ТТЛ
X2
PSEN
Vss
Рисунок 0.17 – Программирование МК51
Выводы Р2.4 – Р2.6 и PSEN должны быть заземлены. На выводы Р2.7 и RESET необходимо подать
уровень логической «1». На входы ALE и EA/Vpp подается напряжение + 5 В.
В момент записи байта необходимо на выводе EA/Vpp повысить напряжение до + 21 В. При этом на
выводе ALE необходимо напряжение понизить до 0 В. Длительность сигналов должна превышать 5010-3 с.
После истечения времени оба напряжения необходимо восстановить до исходного значения. Затем
увеличивают адрес РПП, задают новый байт команды и повторяют процесс до завершения записи всей
программы.
Для повышения достоверности записи в каждом цикле записи байта повторяют до 5 импульсов
программирования.
В системе МК51 с целью защиты от несанкционированного копирования программ имеется
возможность запретить чтение РПП любыми внешними средствами. Для этого необходимо установить бит
защиты. При его установке нужно в схеме (рисунок 0.17) подать Р2.6=1 и выполнить произвольный цикл
записи.
Для сброса бита защиты потребуется полностью очистить память программ. При стирании РПП
микроконтроллер следует поместить под источник ультрафиолетового излучения с определенной длиной
волны. После стирания в матрице РПП содержатся все единицы.
60
Система команд ОЭВМ КР1816ВЕ51
Система команд МК51 содержит 111 базовых команд. По функциональному признаку команды можно
разделить на пять групп:
a) команды передачи данных;
b) арифметические команды;
c) логические команды;
d) команды передачи управления;
e) команды операций с битами.
Большинство команд (94) имеют формат один или два байта и выполняются за один или два машинных
цикла. Остальные команды – трехбайтные и выполняются за два машинных цикла. Только на выполнение
команд умножения и деления требуется четыре машинных цикла.
Первый байт всех 13 типов команд (рисунок 0.18) содержит код операции (КОП). Второй и третий
байты содержат либо адреса операндов, либо непосредственные данные.
D7
D0
1
КОП
2
КОП
#d
3
КОП
ad
4
КОП
bit
5
КОП
rel
6
a10a9a8 KОП
7
КОП
ad
#d
8
КОП
ad
rel
9
КОП
ads
add
10
КОП
#d
rel
11
КОП
bit
rel
12
КОП
ad16h
ad16l
13
КОП
#d16h
#d16l
D7
a7
D0
…
a0
D7
D0
Рисунок 0.18 – Типы операндов в МК51
В системе команд МК51 используется четыре способа адресации данных.
1. Регистровая адресация. В команде указано символическое название регистра.
2. Прямая адресация. В команде явно указан адрес операнда в памяти.
3. Непосредственная адресация. В команде задан сам операнд.
4. Косвенная адресация. В команде задано имя регистра или регистровой пары, в которых содержится
адрес, по которому и происходит обращение к операнду в памяти.
В системе команд используются следующие обозначения (в скобках показаны варианты обозначений,
встречающиеся в командах, с буквой 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) – 16-битовый адрес назначения в командах длинного перехода LJMP и вызова
подпрограмм LCALL, позволяющий охватить полное адресное пространство (64
К);
addr11
– 11-битовый адрес назначения в командах абсолютного перехода АJMP и вызова
подпрограмм АCALL, позволяющий выполнить переход в пределах 2 К
страницы от адреса текущей команды;
rel
– 8-битное значение смещения со знаком. Смещение с учетом знака суммируется
с текущим содержимым счетчика команд и позволяет выполнить переход в
пределах –128 +127 байт относительно текущего адреса;
bit
– 8-битовый прямой адрес адресуемого бита, находящегося в РПД (0-127) или в
регистре специальных функций (128-255).
Микроконтроллер оперирует данными четырех типов: биты, тетрады (4-битовые цифры), байты и 16битовые слова.
61
Биты. В МК51 определены 256 битов, из них 128 находятся в РПД и используются как флаги
пользователя, а остальные 128 битов расположены в блоке регистров специальных функций и входят в
состав некоторых регистров этого блока. Для обращения к битам используется прямой 8-битный адрес (bit).
Тетрады. Операции с тетрадами определены только в командах обмена тетрад в аккумуляторе и между
регистром и аккумулятором.
Байты. Байтовым операндом может быть адрес внутренней и внешней памяти данных и программ,
непосредственный операнд, константа, адрес регистра специальных функций или порта ввода/вывода.
Слова. Двухбайтовые операнды могут быть или константами, или прямыми адресами памяти и занимают
второй и третий байты команды.
В слове состояния процессора (PSW, таблица 0.2) имеются четыре флага, отражающие результат
операции в АЛУ: C – перенос, AC – вспомогательный перенос, OV – переполнение и P – паритет. Только
некоторые команды изменяют флаги результата (таблица 0.13).
Таблица 0.13 – Команды, изменяющие флаги результата
Команды
ADD
ADDC
SUBB
MUL
DIV
DA
RRC
RLC
SETB C
Флаги
C, OV, AC
C, OV, AC
C, OV, AC
C=0, OV
C=0, OV
C
C
C
C=1
Команды
CLR C
CPL C
ANL C,b
ANL C,/b
ORL C,b
ORL C,/b
MOV C,b
CJNE
Флаги
C=0
C= с
C
C
C
C
C
C
Флаги C, AC, OV связаны с состоянием АЛУ и не изменяются в операциях, минующих использование
АЛУ. Состояние этих флагов можно изменять и прямой записью соответствующих битов в регистре PSW.
Флаг паритета Р изменяется любой командой, изменяющей аккумулятор. Прямое изменение флага P не
вызовет сообщения об ошибке, но его значение останется соответствующим состоянию аккумулятора.
Команды передачи данных
Команды передачи данных не влияют на флаги результата.
На графе возможных путей передачи данных в МК (рисунок 0.19) аккумулятор представлен отдельной
вершиной, поскольку многие команды используют его при передаче данных.
@PC
@DPTR
ПП
ВПД
@DPTR
РСФ
РПД
порты
ad
DPTR
#d16
@Ri
@Ri
C
A
Rn
РПД
#d
bit
Рисунок 0.19 – Граф путей передачи данных в МК51
Большую часть команд данной группы (таблица 0.14) составляют команды передачи и обмена байтами.
Столбец «Байты» показывает количество байтов в команде, а «Циклы» – это количество машинных циклов
на выполнение команды.
Команда
Байт
Цикл
ы
ы
Таблица 0.14 – Команды передачи данных
Описание команды
MOV A,#D
2 1
ЗАГРУЗКА В АККУМУЛЯТОР
Команда
Байт
Цикл
ы
ы
62
Описание команды
КОНСТАНТЫ
ПЕРЕСЫЛКА В АККУМУЛЯТОР
MOV A,@RI
1 1
БАЙТА ИЗ РПД (I=0,1)
ПЕРЕСЫЛКА В АККУМУЛЯТОР
MOV A,AD
2 1
БАЙТА С АДРЕСА AD
ПЕРЕСЫЛКА В АККУМУЛЯТОР
MOV A,RN
1 1
РЕГИСТРА (N=07)
КОМАНДЫ, ПЕРЕСЫЛАЮЩИЕ БАЙТ ДАННЫХ В АККУМУЛЯТОР
С РАЗНЫМИ МЕТОДАМИ АДРЕСАЦИИ, РАБОТАЮТ ОЧЕНЬ
БЫСТРО
ЗАГРУЗКА В РЕГИСТР (N=07)
MOV RN,#D
2 1
КОНСТАНТЫ
ПЕРЕСЫЛКА В РЕГИСТР (N=07)
MOV RN,A
1 1
АККУМУЛЯТОРА
ПЕРЕСЫЛКА В РЕГИСТР (N=07)
MOV RN,AD
2 2
БАЙТА, ОПРЕДЕЛЯЕМОГО
ПРЯМЫМ 8-БИТНЫМ АДРЕСОМ
ПЕРЕСЫЛКА БАЙТА ДАННЫХ В ЛЮБОЙ ИЗ 8 (R0-R7) РЕГИСТРОВ
ТЕКУЩЕГО БАНКА С РАЗНЫМИ МЕТОДАМИ АДРЕСАЦИИ
ПЕРЕСЫЛКА ПО ПРЯМОМУ
MOV AD,#D
3 2
АДРЕСУ КОНСТАНТЫ
ПЕРЕСЫЛКА ПО ПРЯМОМУ
MOV AD,@RI
2 2
АДРЕСУ БАЙТА ИЗ РПД
ПЕРЕСЫЛКА ПО ПРЯМОМУ
MOV AD,A
2 1
АДРЕСУ АККУМУЛЯТОРА
ПЕРЕСЫЛКА ПО ПРЯМОМУ
MOV AD,RN
2 2
АДРЕСУ РЕГИСТРА (N=07)
ПЕРЕСЫЛКА
MOV ADD,ADS
3 2 ПРЯМОАДРЕСУЕМОГО БАЙТА ADS
ПО ПРЯМОМУ АДРЕСУ ADD
КОМАНДЫ ПЕРЕСЫЛКИ ПО ПРЯМОМУ АДРЕСУ БАЙТА,
Продолжение табл.
ПОЛУЧАЕМОГО ИЗ РАЗЛИЧНЫХ ИСТОЧНИКОВ, ЗНАЧИТЕЛЬНО
4.14
ПОВЫШАЮТ ЭФФЕКТИВНОСТЬ ПРОГРАММ
ПЕРЕСЫЛКА В РПД КОНСТАНТЫ
MOV @RI,#D
2 1
ПО АДРЕСУ ИЗ R0 ИЛИ R1 (I=0,1)
MOV @RI,A
ПЕРЕСЫЛКА В РПД БАЙТА ИЗ
1 1
АККУМУЛЯТОРА (I=0,1)
ПЕРЕСЫЛКА В РПД БАЙТА,
MOV @RI,AD
2 2
ВЗЯТОГО ПО АДРЕСУ AD
ПЕРЕСЫЛКА БАЙТА ВО ВНУТРЕННЕЙ ПАМЯТИ С
ИСПОЛЬЗОВАНИЕМ КОСВЕННОГО АДРЕСА, РАСПОЛОЖЕННОГО
В РЕГИСТРЕ R0 ИЛИ R1
MOV DPTR,#D16
3 2
ЗАГРУЗКА УКАЗАТЕЛЯ ДАННЫХ
ЗАГРУЗКА 16-БИТОВЫМ ОПЕРАНДОМ РЕГИСТРА УКАЗАТЕЛЯ
ДАННЫХ
1 2
ПЕРЕСЫЛКА В АККУМУЛЯТОР
БАЙТА ИЗ ПП
MOVC
A,@A+
DPTR
MOVC A,@A+PC
1 2
ПЕРЕСЫЛКА В АККУМУЛЯТОР
БАЙТА ИЗ ПП
Команда
Байт
Цикл
ы
ы
63
Описание команды
ЕДИНСТВЕННЫЕ КОМАНДЫ ДЛЯ ЧТЕНИЯ БАЙТОВ ДАННЫХ ИЗ
ПАМЯТИ ПРОГРАММ, НАПРИМЕР, КОНСТАНТ, КОДОВ
ИНИЦИАЛИЗАЦИИ
ПЕРЕСЫЛКА БАЙТА В ВПД ИЗ
MOVX @DPTR,A
1 2
АККУМУЛЯТОРА С 16-БИТОВЫМ
АДРЕСОМ
ПЕРЕСЫЛКА В АККУМУЛЯТОР
БАЙТА ИЗ РАСШИРЕННОЙ ВПД,
MOVX A,@DPTR
1 2
АДРЕСУЕМОГО 16-БИТОВЫМ
АДРЕСОМ
ПЕРЕСЫЛКА БАЙТА В ВПД ИЗ
MOVX @RI,A
1 2
АККУМУЛЯТОРА С 8-БИТОВЫМ
АДРЕСОМ ИЗ R0 ИЛИ R1 (I=0,1)
ПЕРЕСЫЛКА В АККУМУЛЯТОР
MOVX A,@RI
1 2
БАЙТА ИЗ ВПД (I=0,1)
КОМАНДЫ С КОСВЕННОЙ АДРЕСАЦИЕЙ ДЛЯ ЧТЕНИЯ И
ЗАПИСИ БАЙТОВ ВО ВНЕШНЕЙ ПАМЯТИ ДАННЫХ С
ИСПОЛЬЗОВАНИЕМ 16-БИТОВОГО И 8-БИТОВОГО АДРЕСОВ
ЗАГРУЗИТЬ В СТЕК БАЙТ, ВЗЯТЫЙ
PUSH AD
2 2
ПО АДРЕСУ AD
ИЗВЛЕЧЬ ИЗ СТЕКА БАЙТ, И
POP AD
2 2
ЗАПИСАТЬ ПО АДРЕСУ AD
КОМАНДЫ ЗАПИСИ И ЧТЕНИЯ ПРЯМО АДРЕСУЕМОГО БАЙТА В
ОБЛАСТЬ СТЕКА
ОБМЕН АККУМУЛЯТОРА С
XCH A,@RI
1 1
БАЙТОМ ИЗ РПД (I=0,1)
ОБМЕН АККУМУЛЯТОРА С
XCH A,AD
2 1
БАЙТОМ ПО АДРЕСУ AD
ОБМЕН АККУМУЛЯТОРА С
Окончание
табл. 1 1
XCH A,RN
РЕГИСТРОМ (N=07)
4.14
КОМАНДЫ ОБМЕНА АККУМУЛЯТОРА И БАЙТА С РАЗЛИЧНОЙ
АДРЕСАЦИЕЙ
XCHD A,@RI
ОБМЕНЯТЬ МЛАДШУЮ ТЕТРАДУ
1 1
АККУМУЛЯТОРА С МЛАДШЕЙ
ТЕТРАДОЙ БАЙТА ИЗ РПД (I=0,1)
ОБМЕНЯТЬ ТЕТРАДЫ В
SWAP A
1 1
АККУМУЛЯТОРЕ МЕЖДУ СОБОЙ
КОМАНДЫ ОБМЕНА 4-БИТОВЫХ ОПЕРАНДОВ ИСПОЛЬЗУЮТ
АККУМУЛЯТОР
Арифметические команды
В данную группу команд (таблица 0.15) входят команды сложения, вычитания, умножения и деления
байтов. Имеются команды десятичной коррекции результата сложения, увеличения на единицу как 8битовых, так и 16-битовых операндов, уменьшения на единицу для 8-битовых операндов.
Команда
Байт
Цикл
ы
ы
Таблица 0.15 – Группа арифметических операций
Описание команды
ADD A,#D
2 1
ADD A,@RI
1 1
СЛОЖИТЬ АККУМУЛЯТОР С
КОНСТАНТОЙ
СЛОЖИТЬ АККУМУЛЯТОР С
Команда
Байт
Цикл
ы
ы
64
Описание команды
БАЙТОМ ИЗ РПД (I=0,1)
СЛОЖИТЬ АККУМУЛЯТОР С
ADD A,AD
2 1
БАЙТОМ ПО АДРЕСУ AD
СЛОЖИТЬ АККУМУЛЯТОР С
ADD A,RN
1 1
РЕГИСТРОМ
КОМАНДЫ СЛОЖЕНИЯ ИСПОЛЬЗУЮТ АККУМУЛЯТОР КАК
ИСТОЧНИК ОДНОГО СЛАГАЕМОГО И КАК ПРИЕМНИК СУММЫ.
ДРУГОЙ БАЙТ БЕРЕТСЯ ИЗ КОМАНДЫ ИЛИ ИЗ РПД С
РАЗЛИЧНЫМИ СПОСОБАМИ АДРЕСАЦИИ
СЛОЖИТЬ АККУМУЛЯТОР С
ADDC A,#D
2 1
КОНСТАНТОЙ И С ПЕРЕНОСОМ
СЛОЖИТЬ АККУМУЛЯТОР С
ADDC A,@RI
1 1
БАЙТОМ ИЗ РПД (I=0,1) И С
Продолжение табл. 4.15
ПЕРЕНОСОМ
СЛОЖИТЬ АККУМУЛЯТОР С
ADDC A,AD
2 1
БАЙТОМ ПО АДРЕСУ AD И С
ПЕРЕНОСОМ
СЛОЖИТЬ АККУМУЛЯТОР С
ADDC A,RN
1 1
РЕГИСТРОМ (N=0,7) И С
ПЕРЕНОСОМ
АНАЛОГИЧНО ПРЕДЫДУЩЕЙ ПОДГРУППЕ, НО К РЕЗУЛЬТАТУ
ПРИБАВЛЯЕТСЯ БИТ ПЕРЕНОСА. ТАК ОРГАНИЗУЮТСЯ
МНОГОБАЙТОВЫЕ СЛОЖЕНИЯ
1 1
ДЕСЯТИЧНАЯ КОРРЕКЦИЯ
DA A
АККУМУЛЯТОРА
ДЕСЯТИЧНАЯ КОРРЕКЦИЯ ИСПОЛЬЗУЕТСЯ ПРИ РАБОТЕ С
ДВОИЧНО-ДЕСЯТИЧНЫМИ ЧИСЛАМИ
2 1
ВЫЧЕСТЬ ИЗ АККУМУЛЯТОРА
SUBB A,#D
КОНСТАНТУ И ЗАЕМ
1 1
ВЫЧЕСТЬ ИЗ АККУМУЛЯТОРА
SUBB A,@RI
БАЙТ ИЗ РПД (АДРЕС В R0 ИЛИ R1)
И ЗАЕМ
2 1
ВЫЧЕСТЬ ИЗ АККУМУЛЯТОРА
SUBB A,AD
БАЙТ ПО АДРЕСУ AD И ЗАЕМ
1 1
ВЫЧЕСТЬ ИЗ АККУМУЛЯТОРА
SUBB A,RN
РЕГИСТР (N=0,7) И ЗАЕМ
КОМАНДЫ ВЫЧИТАЮТ ИЗ РЕЗУЛЬТАТА БИТ ЗАЕМА, ЧТО
ПОЗВОЛЯЕТ ВЫПОЛНЯТЬ МНОГОБАЙТОВОЕ ВЫЧИТАНИЕ,
НАЧИНАЯ С МЛАДШИХ ПАР БАЙТОВ
1 1
ИНКРЕМЕНТ БАЙТА В РПД ПО
INC @RI
АДРЕСУ В R0 ИЛИ R1
INC A
1 1
ИНКРЕМЕНТ АККУМУЛЯТОРА
INC AD
2 1
ИНКРЕМЕНТ БАЙТА ПО АДР. AD
1 1
ИНКРЕМЕНТ РЕГИСТРА R0-R7,
INC RN
(N=0,7)
INC DPTR
1 2 ИНКРЕМЕНТ УКАЗАТЕЛЯ ДАННЫХ
КОМАНДЫ УВЕЛИЧЕНИЯ НА ЕДИНИЦУ КАК 8-БИТНЫХ, ТАК И
16-БИТНЫХ ОПЕРАНДОВ (DPTR), РАСПОЛОЖЕННЫХ В РПД, С
РАЗНЫМИ СПОСОБАМИ АДРЕСАЦИИ. УДОБНО ИСПОЛЬЗОВАТЬ
ДЛЯ ОРГАНИЗАЦИИ ПОСЛЕДОВАТЕЛЬНОГО ДОСТУПА К
ЭЛЕМЕНТАМ ДАННЫХ
1 1
ДЕКРЕМЕНТ БАЙТА В РПД ПО
DEC @RI
АДРЕСУ В R0 ИЛИ R1
DEC A
1 1
ДЕКРЕМЕНТ АККУМУЛЯТОРА
2 1
ДЕКРЕМЕНТ БАЙТА ПО АДРЕСУ
DEC AD
AD
DEC RN
1 1
ДЕКРЕМЕНТ РЕГИСТРА R0-R7,
Команда
Байт
Цикл
ы
ы
65
Описание команды
(N=0,7)
Окончание
табл. 4.15
КОМАНДЫ УМЕНЬШЕНИЯ НА ЕДИНИЦУ 8-БИТНЫХ ОПЕРАНДОВ
ИЗ РПД С РАЗНЫМИ СПОСОБАМИ АДРЕСАЦИИ. УДОБНО
ИСПОЛЬЗОВАТЬ ДЛЯ ОРГАНИЗАЦИИ ПОСЛЕДОВАТЕЛЬНОГО
ДОСТУПА К ЭЛЕМЕНТАМ ДАННЫХ, В КАЧЕСТВЕ СЧЕТЧИКОВ
MUL AB
1 4 УМНОЖЕНИЕ АККУМУЛЯТОРА НА
РЕГИСТР B
1 4
ДЕЛЕНИЕ АККУМУЛЯТОРА НА
DIV AB
РЕГИСТР B
КОМАНДА УМНОЖЕНИЯ ИСПОЛЬЗУЕТ ДЛЯ ПРИЕМА 16БИТОВОГО РЕЗУЛЬТАТА УМНОЖЕНИЯ РЕГИСТРЫ В И А.
КОМАНДА ДЕЛЕНИЯ ВОЗВРАЩАЕТ В АККУМУЛЯТОРЕ ЦЕЛУЮ
ЧАСТЬ ЧАСТНОГО, В РЕГИСТРЕ В ЗАПИСАН ОСТАТОК ОТ
ДЕЛЕНИЯ
Все команды этой группы используют АЛУ и влияют на состояние флагов.
Логические команды
В данную группу (таблица 0.16) входят команды, выполняющие логические операции вида «И»,
«ИЛИ», «Исключающее ИЛИ» над операндом в аккумуляторе и в любом байте РПД или в регистрах
специальных функций. Сюда же входят команды сдвига аккумулятора влево и вправо, а также сброса и
инверсии аккумулятора.
Команда
Байт
Цикл
ы
ы
Таблица 0.16 – Группа логических операций
ANL A,#D
2 1
ANL A,@RI
1 1
ANL A,AD
2 1
ANL A,RN
1 1
Продолжение табл.
2 1
4.16 ORL A,#D
ORL A,@RI
ORL A,AD
1 1
2 1
ORL A,RN
1 1
XRL A,#D
2 1
XRL A,@RI
1 1
XRL A,AD
2 1
XRL A,RN
1 1
Описание команды
ЛОГИЧЕСКОЕ И АККУМУЛЯТОРА
С 8-БИТОВОЙ КОНСТАНТОЙ
ЛОГИЧЕСКОЕ И АККУМУЛЯТОРА
С БАЙТОМ ИЗ РПД (I=0,1), АДРЕС
КОТОРОГО ЗАПИСАН В R0 ИЛИ R1
ЛОГИЧЕСКОЕ И АККУМУЛЯТОРА
С БАЙТОМ ПО АДРЕСУ AD
ЛОГИЧЕСКОЕ И АККУМУЛЯТОРА
С РЕГИСТРОМ (N=07)
ЛОГИЧЕСКОЕ ИЛИ
АККУМУЛЯТОРА С КОНСТАНТОЙ
ЛОГИЧЕСКОЕ ИЛИ АККУМУЛЯТОРА С БАЙТОМ ИЗ РПД (I=0,1)
ЛОГИЧЕСКОЕ ИЛИ АККУМУЛЯТОРА С БАЙТОМ ПО АДРЕСУ AD
ЛОГИЧЕСКОЕ ИЛИ АККУМУЛЯТОРА С РЕГИСТРОМ (N=07)
ИСКЛЮЧАЮЩЕЕ ИЛИ
АККУМУЛЯТОРА С КОНСТАНТОЙ
ИСКЛЮЧАЮЩЕЕ ИЛИ
АККУМУЛЯТОРА С БАЙТОМ ИЗ
РПД (I=0,1)
ИСКЛЮЧАЮЩЕЕ ИЛИ
АККУМУЛЯТОРА С БАЙТОМ ПО
АДРЕСУ AD
ИСКЛЮЧАЮЩЕЕ ИЛИ
АККУМУЛЯТОРА С РЕГИСТРОМ
Команда
Байт
Цикл
ы
ы
66
Описание команды
(N=07)
ПРИ ВЫПОЛНЕНИИ ЛОГИЧЕСКИХ ОПЕРАЦИЙ РЕЗУЛЬТАТ
ПОМЕЩАЕТСЯ В АККУМУЛЯТОР. ОН ЖЕ ЯВЛЯЕТСЯ
ИСТОЧНИКОМ ПЕРВОГО ОПЕРАНДА. ДРУГОЙ ОПЕРАНД
НАХОДИТСЯ ЛИБО В КОМАНДЕ, ЛИБО В РПД С РАЗНЫМИ
МЕТОДАМИ ДОСТУПА
3 2
ЛОГИЧЕСКОЕ И БАЙТА ПО
ANL AD,#D
АДРЕСУ AD С КОНСТАНТОЙ
2 1
ЛОГИЧЕСКОЕ И БАЙТА ПО
ANL AD,A
АДРЕСУ AD С АККУМУЛЯТОРОМ
3 2
ЛОГИЧЕСКОЕ ИЛИ БАЙТА ПО
ORL AD,#D
АДРЕСУ AD С КОНСТАНТОЙ
2 1
ЛОГИЧЕСКОЕ ИЛИ БАЙТА ПО
ORL AD,A
АДРЕСУ AD С АККУМУЛЯТОРОМ
3 2 ИСКЛЮЧАЮЩЕЕ ИЛИ БАЙТА ПО
XRL AD,#D
АДРЕСУ AD С КОНСТАНТОЙ
2 1 ИСКЛЮЧАЮЩЕЕ ИЛИ БАЙТА ПО
XRL AD,A
АДРЕСУ AD С АККУМУЛЯТОРОМ
КОМАНДЫ ПОЗВОЛЯЮТ ЛЮБОЙ БАЙТ ИЗ РПД И РЕГИСТРОВ
СПЕЦИАЛЬНЫХ ФУНКЦИЙ ПОДВЕРГНУТЬ ЛОГИЧЕСКОЙ
ОПЕРАЦИИ, ИСПОЛЬЗУЯ В КАЧЕСТВЕ МАСКИ КОНСТАНТУ ИЛИ
АККУМУЛЯТОР. МОЖНО ИЗМЕНЯТЬ ЗНАЧЕНИЯ ПОРТОВ,
РЕГИСТРОВ УПРАВЛЕНИЯ И СТАТУСА ТАЙМЕРОВ,
ПОСЛЕДОВАТЕЛЬНОГО ПОРТА И Т.Д.
Окончание
CLR Aтабл.
1 1
СБРОС АККУМУЛЯТОРА
4.16 CPL A
1 1
ИНВЕРСИЯ АККУМУЛЯТОРА
КОРОТКИЕ КОМАНДЫ ИЗМЕНЕНИЯ СОДЕРЖИМОГО
АККУМУЛЯТОРА
RL A
1 1
СДВИГ АККУМУЛЯТОРА ВЛЕВО
ПО ЦИКЛУ
1 1 СДВИГ АККУМУЛЯТОРА ВПРАВО
RR A
ПО ЦИКЛУ
1 1
СДВИГ АККУМУЛЯТОРА ВЛЕВО
RLC A
ЧЕРЕЗ ПЕРЕНОС
1 1 СДВИГ АККУМУЛЯТОРА ВПРАВО
RRC A
ЧЕРЕЗ ПЕРЕНОС
КОМАНДЫ СДВИГА НА РАЗРЯД ВЛЕВО И ВПРАВО РАБОТАЮТ ПО
ЦИКЛУ. СДВИГ ЧЕРЕЗ ПЕРЕНОС ВКЛЮЧАЕТ В ЦИКЛ ФЛАГ
ПЕРЕНОСА И ИСПОЛЬЗУЕТСЯ ПРИ АРИФМЕТИЧЕСКИХ
СДВИГАХ
Все команды этой группы используют АЛУ и влияют на состояние флагов.
Команды операций с битами
Данные команды (таблица 0.17) оперируют с однобитовыми операндами. Биты расположены в области
битовой адресации (128 битов пользователя) и в области регистров специальных функций. Для адресации
бит используется прямой 8-битовый адрес (bit). Косвенная адресация бит невозможна.
Команда
Байт
ы
Циклы
Таблица 0.17 – Битовые операции
Описание команды
CLR C
1 1
СБРОС ПЕРЕНОСА
Команда
Байт
ы
Циклы
67
Описание команды
SETB C
1 1
УСТАНОВКА ПЕРЕНОСА
CPL C
1 1
ИНВЕРСИЯ ПЕРЕНОСА
КОМАНДЫ СМЕНЫ СОСТОЯНИЯ ФЛАГА ПЕРЕНОСА. ПОЛЕЗНЫ
ДЛЯ ОПЕРАЦИЙ СДВИГА, ВЫЧИТАНИЯ И СЛОЖЕНИЯ С УЧЕТОМ
ПЕРЕНОСА
CLR BIT
2 1
СБРОС БИТА
SETB BIT
2 1
УСТАНОВКА БИТА
CPL BIT
2 1
ИНВЕРСИЯ БИТА
Окончание
табл.
КОМАНДЫ
СМЕНЫ СОСТОЯНИЯ ПРОИЗВОЛЬНОГО БИТА ИЗ
4.17
ОБЛАСТИ БИТОВ ПОЛЬЗОВАТЕЛЯ И РЕГИСТРОВ СПЕЦИАЛЬНЫХ
ФУНКЦИЙ. ПОЛЕЗНЫ ДЛЯ УПРАВЛЕНИЯ ВНУТРЕННИМИ
УСТРОЙСТВАМИ: ПОРТАМИ, ТАЙМЕРАМИ И Т.Д.
MOV BIT,C
2 1
ПЕРЕСЫЛКА ПЕРЕНОСА В БИТ
MOV C,BIT
2 1
ПЕРЕСЫЛКА БИТА В ПЕРЕНОС
КОМАНДЫ ПЕРЕСЫЛКИ БИТОВ ВО ФЛАГ ПЕРЕНОСА И
ОБРАТНО УВЕЛИЧИВАЮТ ЭФФЕКТИВНОСТЬ БИТОВОЙ
ОБРАБОТКИ В МК51 И ФУНКЦИЙ УПРАВЛЕНИЯ
УСТРОЙСТВАМИ
2 2
ЛОГИЧЕСКОЕ И БИТА И
ANL C,BIT
ПЕРЕНОСА
2 2 ЛОГИЧЕСКОЕ И ИНВЕРСИИ БИТА
ANL C,/BIT
И ПЕРЕНОСА
2 2
ЛОГИЧЕСКОЕ ИЛИ БИТА И
ORL C,BIT
ПЕРЕНОСА
2 2
ЛОГИЧЕСКОЕ ИЛИ ИНВЕРСИИ
ORL C,/BIT
БИТА И ПЕРЕНОСА
КОМАНДЫ ЛОГИЧЕСКИХ ФУНКЦИЙ ФЛАГА ПЕРЕНОСА И
ЗАДАННЫХ БИТОВ РАСШИРЯЮТ СИСТЕМУ БИТОВЫХ КОМАНД
Команды передачи управления
Данная группа команд (таблица 0.18) содержит команды условных и безусловных переходов, вызовы
подпрограмм и возврат из них, команды сравнения и цикла. Для выполнения условных переходов можно
проверять разнообразные условия, а безусловные переходы и вызовы подпрограмм различаются по
предельной удаленности перехода.
Команда
Байт
Цикл
ы
ы
Таблица 0.18 – Группа команд передачи управления
Описание команды
ДЛИННЫЙ ПЕРЕХОД В ПРЕДЕЛАХ
64 КБАЙТ
2 2
АБСОЛЮТНЫЙ ПЕРЕХОД В
AJMP AD11
СТРАНИЦЕ 2 КБАЙТ
1 2
КОСВЕННЫЙ ОТНОСИТЕЛЬНЫЙ
JMP @A+DPTR
ПЕРЕХОД
КОМАНДЫ БЕЗУСЛОВНОГО ПЕРЕХОДА ЗАГРУЖАЮТ СЧЕТЧИК
Продолжение
табл. 4.18
КОМАНД АДРЕСОМ, ЗАДАННЫМ В КОМАНДЕ 16-БИТОВЫМ, 11БИТОВЫМ ЧИСЛОМ ИЛИ СУММОЙ БАЙТА АККУМУЛЯТОРА С 16БИТОВЫМ ЧИСЛОМ В РЕГИСТРЕ УКАЗАТЕЛЯ ДАННЫХ
LJMP AD16
SJMP REL
3 2
2 2
КОРОТКИЙ ОТНОСИТЕЛЬНЫЙ
Команда
Байт
Цикл
ы
ы
68
Описание команды
ПЕРЕХОД
КОМАНДА БЕЗУСЛОВНОГО ПЕРЕХОДА СУММИРУЕТ СЧЕТЧИК
КОМАНД С УЧЕТОМ ЗНАКА С БАЙТОМ REL И ВЫПОЛНЯЕТ
ПЕРЕХОД В ПРЕДЕЛАХ –128 +127 БАЙТОВ
ПЕРЕХОД, ЕСЛИ АККУМУЛЯТОР
JZ REL
2 2
РАВЕН НУЛЮ
ПЕРЕХОД, ЕСЛИ АККУМУЛЯТОР
JNZ REL
2 2
НЕ РАВЕН НУЛЮ
ПЕРЕХОД, ЕСЛИ ПЕРЕНОС РАВЕН
JC REL
2 2
ЕДИНИЦЕ
ПЕРЕХОД, ЕСЛИ ПЕРЕНОС РАВЕН
JNC REL
2 2
НУЛЮ
ПЕРЕХОД, ЕСЛИ БИТ РАВЕН
JB BIT,REL
3 2
ЕДИНИЦЕ
JNB BIT,REL
3 2 ПЕРЕХОД, ЕСЛИ БИТ РАВЕН НУЛЮ
ПЕРЕХОД, ЕСЛИ БИТ
JBC BIT,REL
3 2 УСТАНОВЛЕН, С ПОСЛЕДУЮЩИМ
СБРОСОМ БИТА
КОМАНДЫ УСЛОВНОГО ПЕРЕХОДА ПРОВЕРЯЮТ ЗАДАННОЕ
УСЛОВИЕ И ВЫПОЛНЯЮТ, ПРИ НЕОБХОДИМОСТИ, ПЕРЕХОД В
ПРЕДЕЛАХ –128 +127 БАЙТОВ.
ПОСЛЕДНЯЯ КОМАНДА ДОПОЛНИТЕЛЬНО СБРАСЫВАЕТ
ПРОВЕРЯЕМЫЙ БИТ
ДЕКРЕМЕНТ БАЙТА ПО АДРЕСУ
DJNZ AD,REL
3 2
AD И ПЕРЕХОД, ЕСЛИ НЕ НУЛЬ
ДЕКРЕМЕНТ РЕГИСТРА И
DJNZ RN,REL
2 2
ПЕРЕХОД, ЕСЛИ НЕ НУЛЬ
КОМАНДЫ УСЛОВНОГО ПЕРЕХОДА ВЫЧИТАЮТ «1» ИЗ
ДАННОГО БАЙТА И ВЫПОЛНЯЮТ ПЕРЕХОД В ПРЕДЕЛАХ –128
+127 БАЙТОВ ПРИ НЕНУЛЕВОМ РЕЗУЛЬТАТЕ. ИНАЧЕ ПЕРЕХОДА
НЕТ. КОМАНДЫ ИСПОЛЬЗУЮТСЯ ДЛЯ ОРГАНИЗАЦИИ ЦИКЛОВ
СРАВНЕНИЕ АККУМУЛЯТОРА С
CJNE A,AD,REL
3 2
БАЙТОМ ПО АДРЕСУ AD И
ПЕРЕХОД, ЕСЛИ НЕ РАВНО
СРАВНЕНИЕ БАЙТА ИЗ РПД С
CJNE @RI,#D,REL 3 2 КОНСТАНТОЙ И ПЕРЕХОД, ЕСЛИ
НЕ РАВНО
СРАВНЕНИЕ АККУМУЛЯТОРА С
CJNE A,#D,REL
3 2 КОНСТАНТОЙ И ПЕРЕХОД, ЕСЛИ
НЕ РАВНО
СРАВНЕНИЕ РЕГИСТРА С
CJNE RN,#D,REL
3 2 КОНСТАНТОЙ И ПЕРЕХОД, ЕСЛИ
НЕ РАВНО
Окончание
табл. 4.18
КОМАНДЫ СРАВНИВАЮТ БАЙТ С КОНСТАНТОЙ ИЛИ ДРУГИМ
БАЙТОМ. ПРИ НЕРАВЕНСТВЕ ВЫПОЛНЯЮТ ПЕРЕХОД НА –128
+127 БАЙТОВ. ПРИМЕНЯЮТСЯ ПРИ ОЖИДАНИИ СОБЫТИЯ,
НАПРИМЕР, ОПРЕДЕЛЕННОГО ЗНАЧЕНИЯ ПОРТА.
LCALL AD16
3 2
ДЛИННЫЙ ВЫЗОВ
ПОДПРОГРАММЫ В ПРЕДЕЛАХ 64
КБАЙТ
2 2
АБСОЛЮТНЫЙ ВЫЗОВ
ACALL AD11
ПОДПРОГРАММЫ В СТРАНИЦЕ 2
КБАЙТА ПО 11-БИТОВОМУ АДРЕСУ
RET
1 2
ВОЗВРАТ ИЗ ПОДПРОГРАММЫ
1 2
ВОЗВРАТ ИЗ ПОДПРОГРАММЫ
RETI
ОБРАБОТКИ ПРЕРЫВАНИЯ
Команда
Байт
Цикл
ы
ы
69
Описание команды
КОМАНДЫ ВЫЗОВА ПОДПРОГРАММ ПО 16 И 11-БИТОВОМУ
АДРЕСУ ЗАПИСЫВАЮТ В СТЕК АДРЕС СЛЕДУЮЩЕЙ КОМАНДЫ
И ВЫПОЛНЯЮТ ПЕРЕХОД НА ДАННЫЙ АДРЕС. ПО КОМАНДАМ
ВОЗВРАТА В СЧЕТЧИК КОМАНД ЗАГРУЖАЕТСЯ АДРЕС ИЗ
СТЕКА. КОМАНДА RETI СООБЩАЕТ СИСТЕМЕ ПРЕРЫВАНИЙ О
ЗАВЕРШЕНИИ ПРЕРЫВАНИЯ
NOP
1 1
НЕТ ОПЕРАЦИИ
ПУСТАЯ КОМАНДА ИСПОЛЬЗУЕТСЯ ДЛЯ РЕЗЕРВИРОВАНИЯ
МЕСТА ПРИ ОТЛАДКЕ ПРОГРАММ, ФОРМИРОВАНИЯ ЗАДЕРЖКИ
И ДРУГИХ ЦЕЛЕЙ
В приложении А приведена система команд МК51 в табличной форме. По номеру строки (старшая
тетрада) и столбца (младшая тетерада) можно определить байт кода операции любой команды.
В приложении Б система команд МК51 разделена на функциональные группы и представлена в
списочной форме с описанием команд.
Пример составления простейших программ для ОЭВМ КР1816ВЕ51
Составление простейших программ и фрагментов для решения типовых задач пользователя
способствует лучшему усвоению методики программирования микропроцессорных систем на основе МК51.
Программы сопровождаются подробными комментариями и содержат список начальных условий и
результатов.
Использование команд передачи данных. Одной из типовых задач является инициализация
некоторой области резидентной памяти данных, например, ее очистка. Примером такой задачи является
фрагмент программы (таблица 0.19), выполняющей сброс всех 128 флагов пользователя, расположенных в
резидентной памяти данных.
Таблица 0.19 – Фрагмент программы сброса флагов пользователя
Начальные условия:
Флаги пользователя расположены в РПД в пределах адресов с 20Н по 2FH
Результаты:
Сброшены все 128 флагов пользователя в области РПД
Метка
Команда
Комментарий
MOV R0,#20H
; Начальный адрес области флагов
MOV R1,#0FH
; Счетчик длины области флагов
MET0: MOV @R0,#00
; Сброс очередных 8 флагов
INC
R0
; Переход к следующему байту флагов
DJNZ R1,MET0
; Делаем цикл до обнуления счетчика R1
…
…
; Следующие команды программы
Использование команд передачи управления. Одной из типовых для микропроцессорной системы
является задача обработки поступающей с внешних источников информации.
Допустим, во внешней памяти данных с некоторого датчика порциями по 60 байтов записывается
информация. После записи последнего байта, на вывод Р1.2 порта Р1 поступает положительный импульс
длительностью около 1010-6 с, что гарантирует его обнаружение в МК. Требуется обнаружить входной
импульс и, по его окончанию, перенести массив из ВПД в РПД с очисткой исходной области во внешней
памяти.
Для обнаружения импульса готовности данных в программе (таблица 0.20) сначала выполняется поиск
положительного фронта импульса. Команда условного перехода опрашивает значение заданного бита и
выполняет переход на саму себя. Другая условная команда предназначена для обнаружения спада импульса.
Две условные команды последовательно позволят обнаружить импульс управления.
70
Таблица 0.20 – Перенос массива из ВПД в РПД
Начальные условия:
1235Н – начальный адрес массива в ВПД. 60 байтов – длина массива.
40Н – начальный адрес приемника в РПД
Результаты:
Весь массив из ВПД перенесен в РПД. Массив в ВПД очищен
Метка
Команда
Комментарий
MOV DPTR,#1235H ; Начальный адрес массива в ВПД
MOV
R1,#40H
; Начальный адрес приемника в РПД
MOV
R2,#60D
; Счетчик длины массива
MET1: JNB
P1.2,MET1
; Ожидаем фронта импульса
MET2: JB
P1.2,MET2
; Ожидаем спад импульса
MET3: MOVX A,@DPTR
; Читаем текущий элемент массива
MOV
@R1,A
; Записываем его в РПД
CLR
A
; Очищаем аккумулятор
MOVX @DPTR,A
; Чистим текущий элемент массива
; Идем к следующему элементу в
INC
DPTR
ВПД
; Идем к следующему байту
INC
R1
приемника
; Делаем цикл до обнуления
DJNZ
R2,MET3
счетчика R2
…
…
; Следующие команды программы
Использование арифметических и битовых команд. Использование арифметических и битовых
команд удобно показать на примере подпрограммы табличного вычисления функции sin(x). В памяти
программ записана таблица значений синуса от 0º до 89º в виде байтов дробных значений. Значение угла в
градусах задается старшей частью в регистре В, а младшей – в аккумуляторе.
Значения синуса угла в 3 и 4 квадранте отличается только знаком от значения угла 1 и 2 квадрантов.
Значения из 2 квадранта соответствуют дополнительным значениям из 1 квадранта. Поэтому при
преобразовании значения угла использовались следующие формулы:
Y  sin( x),
при 0  x  90
Y  sin(180  x), при 90  x  180
Y   sin( x  180 ), при 180  x  270
Y   sin(360  x), при 270  x  360
При вычислении функции (таблица 0.21) для определения значения угла, превышающего 180º, старший
бит значения угла из регистра В копируется во флаг переноса. Затем этот бит вдвигается в аккумулятор.
Полученное половинное значение угла сравнивается с половинным значением от 180. Далее, при
необходимости, вычитаем 180 для перехода в 1, 2 квадрант. Аналогично происходит переход в 1 квадрант.
Затем значение берется из таблицы.
Таблица 0.21 – Табличное вычисление sin(x)
Начальные условия:
Рег В – старшая часть значения угла, А – мл. часть значения угла в
градусах. В памяти программ – таблица значений синуса в виде байта
Результаты:
А – байт дробной части значения синуса, рег. В = 0 для
положительного результата, и В=0FFH – для отрицательного
результата
Метка
Команда
Комментарий
; Копия младшей части значения
SINUS: MOV
R7,A
угла
; Определяем старший бит
MOV
C,B.0
значения угла
RRC
A
; Для работы делим угол пополам
CJNE
A,#90,MET4
; Угол относится к 3 или 4 квадранту?
; Нет! Значение синуса
MET4: JNC
POS
положительно!
MOV
A,R7
; Да! Перенесем угол в 1 - 2 квадрант
CLR
C
; Для вычитания подготовимся
SUBB
A,#180
; Корректируем значение угла на 180º
71
POS:
MET5:
SIN:
T_SIN:
MOV
MOV
SUBB
MOV
MOV
CJNE
JNC
CPL
INC
ADD
INC
MOVC
RET
DB
DB
DB
DB
DB
…
DB
R7,A
A,B
A,#00
B,#0FFH
A,R7
A,#90,MET5
SIN
A
A
A,#180
A
A,@A+PC
00000000B
00000100B
00001001B
00001101B
00010010B
…
11111111B
; Копия нового значения угла
; Корректируем старшую часть
; значения угла с учетом заема
; Значение синуса отрицательно
; Восстановим аккумулятор
; 1 или 2 квадрант?
; 1 квадрант можно вычислять
; Для 2 квадранта нужно перенести
; значение угла в 1 квадрант
; Формируем (180 – угол)
; Коррекция для обращения к таблице
; Читаем значение функции из таблицы
; Возврат в вызывающую программу
; Значение sin(0º) = 0.000
; Значение sin(1º) = 0.017
; Значение sin(2º) = 0.035
; Значение sin(3º) = 0.052
; Значение sin(4º) = 0.070
; Все значения от sin(5º) до sin(88º)
; Значение sin(89º) = 0.999
Использование подпрограмм. Одной из типовых задач является процедура формирования
программной задержки. Примером такой задачи является фрагмент программы (таблица 0.22),
выполняющей задержку на 1 секунду. Во фрагменте задана подпрограмма DELAY, выполняющая задержку
примерно на 0,1 сек. За счет повторных вызовов подпрограммы задержка доводится до 1 сек.
Таблица 0.22 – Фрагмент программы формирования задержки
Начальные условия:
Подпрограмма DELAY дает задержку около 0,1 секунды
Результаты:
Программа выполнит задержку на 1 секунду
Метка
Команда
Комментарий
MOV
R4,#10D
; Количество вызовов задержка в 0,1 сек
MOV
R4,#10
; Количество вызовов задержка в 0,1 сек
SNOV: LCALL DELAY01
; Вызов задержки в 0,1 сек
DJNZ
R4, SNOV ; Цикл на 10 повторений
LJMP
DALEE
; Переход на продолжение программы
NOP
DELAY01: MOV
R3,#250
; R3 – Счетчик внешнего цикла
HAP: NOP
MOV
R1,#36
; R1 – Счетчик среднего цикла
CP: MOV
R2,#4
; R2 – Счетчик внутреннего цикла
; Делаем цикл до обнуления счетчика
BH: DJNZ
R2,BH
R2
; Делаем цикл до обнуления счетчика
DJNZ
R1,CP
R1
; Делаем цикл до обнуления счетчика
DJNZ
R3,HAP
R3
RET
; Возврат из подпрограммы
Коэффициенты для счетчиков подбирались исходя из требуемого числа машинных циклов. При
тактовой частоте 12 МГц длительность машинного цикла равна 110-6 с. С учетом длительности команд и
повторения циклов получается около 100 тысяч машинных циклов. Это приближенно дает задержку в 0,1
секунды.
Безусловно, задачу можно решать с использованием таймера / счетчика. При этом нужно использовать
режим 16 битового делителя. Максимальный интервал задержки от таймера можно получить около 0,05 сек.
Если на внешний вход таймера подавать низкочастотные импульсы, можно с помощью больших
коэффициентов деления получать огромные длительности задержки. Это решение потребует наличия
внешнего генератора, что весьма неудобно. Вышеприведенный программный вариант не требует больших
затрат, позволяет перестраивать задержку в больших пределах и достаточно привлекателен.
Микропроцессорная система на основе ОЭВМ КР1816ВЕ51
72
Система на базе МК51 может быть реализована без использования внешней памяти программ и/или
данных. Это наиболее тривиальный случай системы, он не требует дополнительных пояснений для
реализации. Наиболее сложным является случай построения системы с использованием внешней памяти
программ и внешней памяти данных.
Система, имеющая полный объем внешней памяти программ и данных [6] (рисунок 0.20), может
использоваться для решения огромного числа прикладных задач в различных областях.
BF
8
P2
ОЭВМ
P0
8
RG
Старший байт
адреса
16
Младший
байт
ПЗУ
адреса 64К*8
C
BF
TxD
RxD
WR
Шина
данных

RD
XTAL1
XTAL2
RD
8
PSEN
BF
ОЗУ
64К*8
PSEN
ALE
ALE
PSEN
RD
WR
Шина адреса
Преобразователь
RS232
WR
Последовательный
канал
Рисунок 0.20 – Структурная схема системы с внешней памятью
Буферные усилители (BF) в системе предназначены для усиления сигналов, имеющих слабую
нагрузочную способность. Буферный усилитель, формирующий шину данных, должен работать в обоих
направлениях. Поэтому для его переключения формируется смесь сигналов чтения PSEN и RD, по каждому
из которых буфер включается на передачу сигналов в МК.
Другие буферные усилители стационарно работают в одном направлении. Регистр RG по сигналу ALE
записывает младший байт адреса внешней памяти, который вместе со старшим байтом адреса,
передаваемого через порт Р2, формирует 16-битную шину адреса. Принципиальная схема системы на основе
МК51 (рисунок 0.21) с 2 Кбайт ОЗУ данных и 2 Кбайт ПЗУ программ содержит 7 интегральных микросхем
средней и большой степени интеграции. В системе объем памяти ОЗУ и ПЗУ можно увеличить до 4 Кбайт
без изменения схемы.
Микропроцессорная система, не имеющая внешней памяти программ, или внешней памяти данных,
будет иметь более простой вид за счет исключения соответствующих компонентов (ПЗУ или ОЗУ) и их
сигналов управления.
Развитие архитектуры MCS-51
Микроконтроллеры архитектуры MCS-51 завоевали заслуженное признание во всем мире. Безусловно,
данная архитектура
не является единственно возможной. Но можно привести ряд факторов,
свидетельствующих в пользу ее популярности и современности.
Рассмотрение микроконтроллера МК51 было бы не полным, если не упомянуть о развитии
архитектуры MCS-51. Следующим поколением архитектуры фирмы INTEL является архитектура MCS-251.
Новые продукты семейства MCS-251 совместимы по выводам с микросхемами INTEL 80C51 и могут
устанавливаться прямо в панельку ОЭВМ. Новые ОЭВМ совместимы по системе команд и двоичному коду
с MCS-51. При выполнении кода, написанного для МК51, обеспечивается повышение производительности в
5 раз.
В системе команд MCS-251 появилось много новых команд, учитывающих новые возможности данной
архитектуры. Если переписать код программ, используя инструкции новой архитектуры, можно увеличить
производительность системы до 15 раз.
Некоторые новые параметры архитектуры MCS-251 указаны ниже:
 машинный цикл состоит из одного состояния и длится 2 такта;
 большинство команд выполняется за 1 машинный цикл;
 процессор имеет 3-уровневую конвейерную архитектуру;
73
P10
P11
P12
P13
P14
P15
P16
P17
RxD
TxD
INT0
INT1
RST
+5В
P10
P11
P12
P13
P14
P15
P16
P17
TxD
RxD
INT0
INT1
1
2
3
4
5
6
7
8
39
P1.0 КМ1816 P0.0
P1.1 ВЕ51 P0.1 38
P1.2
P0.2 37
P1.3
P0.3 36
P1.4
P0.4 35
P1.5
P0.5 34
P1.6
P0.6 33
P1.7
P0.7 32
P2.0 21
10 RxD
P2.1 22
11 TxD
P2.2 23
P2.3 24
12 INT0
P2.4 25
13 INT1
P2.5 26
9
RST
P2.6 27
19 XT1
P2.7 28
31 VPP
29
PSE
2
18 XT2
ALE
N 30
WR 16
40 Ucc
RD 17
20 GND
P10
P11
P12
P13
P14
P15
P16
P17
TxD
RxD
INT0
INT1
Х1
1
3
2 
555ЛА3
+5В
1
 3
2
555ЛИ1
1к 4
6
5 
10
555ЛА3
Сброс n
P00 P00
P01 P01
P02 P02
P03 P03
P04 P04
P05 P05
P06 P06
P07 P07
P20 PSRD
P21
P22
P23 P00
P24 P01
P25 P02
P26 P03
P27 P04
P05
PPSE P06
PALE P07
PWR ALE
PRD
18
17
16
15
14
13
12
11
1
D0 BF D0 2
3
D1 D1
D2 D2 4
D3 D3 5
D4 D4 6
D5 D5 7
D6 D6 8
D7 D7 9
T
EZ 19
КР1533АП6
3 D0 RG
2
4
5
D1 Q0
7 D2 Q 6
8 D3
1
Q 9
13 D4
2
Q 12
14 D5
3
Q 15
17 D6
4
Q 16
18 5D7 Q 19
11 C
6
Q 1
EZ
D0
D1
D2
D3
D4
D5
D6
D7
A0
A1
A2
A3
A4
A5
A6
A7
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
8
7
6
5
4
3
2
1
23
22
19
A0 RAM
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
D0
D1
D2
D3
D4
D5
D6
D7
9
10
11
13
14
15
16
17
D0
D1
D2
D3
D4
D5
D6
D7
9
10
11
13
14
15
16
17
D0
D1
D2
D3
D4
D5
D6
D7
SCA 18 SC1
20 SC2
WR 21 WR
КР537РУ8
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
8
7
6
5
4
3
2
1
23
22
19
A0 RОM D0
A1
D1
A2
D2
A3
D3
A4
D4
A5
D5
A6
D6
A7
D7
A8
A9
A10
7
КР1533ИР22
PSE P20 2
D0 BF D0 18 A8
PSRD P21 4 D1 D1 16 A9
P22 6 D2 D2 14 A10
P23 8 D3 D3 12 A11
RD
PPSE 11 D4 D4 9 PSE
CSA PALE 13
D5 D5 7 ALE
PWR 15 D6 D6 5 WR
PSE 18 SC
WR PRD 17
D7 D7 3 RD
20 SEO
19 E2 E1 1
RST
+5B 21 UPR
КР1533АП5
КР573РФ2
Рисунок 0.21 – Принципиальная схема системы с внешней памятью
 доступны 16 8-ми разрядных, 16 16-ти разрядных и 10 32-х разрядных регистра общего назначения;
 при одинаковой тактовой частоте рост производительности в сравнении с MCS-51 достигает от 5 до
15 раз;
 внутренняя шина команд содержит 16 бит, 2 байта команды выбираются за одно состояние;
 для адресации внешней памяти программ и данных предусмотрено 24 бита адреса, что расширяет
объем внешней памяти данных и программ до 16 Мбайт;
 объем стека увеличен до 64 Кбайт;
 введены новые команды и режимы адресации;
 добавлена 32-х битовая передача данных;
 введена 16-ти и 32-х битовая арифметика и логические операции;
 к традиционным добавлены сдвиговые, относительные и битовые режимы адресации;
 в системе прерываний появилось 2 немаскируемых прерывания с наивысшим приоритетом;
 число источников прерываний достигло 64;
 имеются 4 уровня приоритетов вместо 2, имеющихся ранее.
Фирма Cygnal (США), организованная в 1999 году, в 2001 году выпустила 4 новых семейства
микроконтроллеров, совместимых с MCS-51.
Основным в новых микроконтроллерах является высокопроизводительное х8051 – совместимое ядро.
70% инструкций выполняется за 1 или 2 такта. На кристалл интегрирован 12 или 10 битовый АналоговоЦифровой Преобразователь с входным 8-ми канальным аналоговым мультиплексором и программируемым
входным усилителем, имеющим коэффициенты усиления от 0,5 до 16. На кристалле имеется два 12
разрядных Цифро-Аналоговых Преобразователя с временем реакции не более 10 мкс.
Питающее напряжение снижено до 2,7 – 3,6 В. Токи потребления не превышают 10 – 12 мА. Такие
характеристики очень полезны для систем на базе ОЭВМ, использующих автономное питание. Тактовая
частота ОЭВМ доведена до 25 МГц.
74
Встроенная аппаратная система отладки программ JTAG обеспечивает простоту разработки и
внутрикристальной отладки программ с точками останова, пошаговым режимом, режимом остановки по
времени с контролем ячеек памяти и регистров. Предлагается фирменное программное обеспечение
процесса отладки.
На кристалле имеется до 32 Кбайт Flash-памяти, программируемой внутрисистемно. Такая память
сохраняет данные и при выключении питания. Кроме этого, оперативная память на кристалле увеличена до
1 Кбайт. Есть варианты с 2,25 Кбайт и даже 4,25 Кбайт оперативной памяти на самом кристалле.
Таким образом, описанные микроконтроллеры компании Cygnal являются мощными
интегрированными
системами
сбора
и
обработки
аналоговых
сигналов,
сочетающие
высокопроизводительное «традиционное» ядро семейства MCS-51 с аналогово-цифровыми и цифроаналоговыми узлами. Микросхемы оснащены большими объемами Flash-памяти и большими объемами
внутренней оперативной памяти. Пониженное напряжение питания и низкие токи потребления хорошо
сочетаются с высокими тактовыми частотами. Такие микроконтроллеры могут эффективно сочетать задачи
управления системой, задачи обслуживания большого числа входных датчиков, часть из которых даже не
имеет цифровых выходов, и задачи формирования необходимых управляющих воздействий даже в
аналоговой форме.
Наличие энергонезависимой Flash-памяти, запись в которую можно выполнять при работе программ,
позволяет протоколировать работу системы управления с целью дальнейшего выявления сбоев и не
обслуженных запросов от внешних устройств.
Контрольные вопросы
1. Что такое Гарвардская архитектура микро-ЭВМ?
2. Расшифруйте аббревиатуры ВПП, РПП, РПД, ВПД.
3. Укажите максимальный суммарный объем памяти программ с использованием внутренней и
внешней памяти в МК-51.
4. Укажите максимальный суммарный объем памяти данных с использованием внутренней и внешней
памяти в МК51.
5. Укажите разрядность регистров, ячеек памяти данных, регистра DPTR в МК51.
6. Как в МК51 настроить порт на ввод информации?
7. Укажите назначение в МК51 сигнала ALE.
Отображение и ввод информации в БРЭА
Термины и определения
Для отображения информации в БРЭА применяются различные индикаторы. В основе принципов
действия индикаторов лежат весьма разнообразные физические явления, такие как низковольтная
катодолюминесценция, инжекционная и предпробойная электролюминесценция, излучение газового
разряда, различные электрооптические эффекты и т. п. Индикаторы различаются функциональными
возможностями и назначением, конструктивным и технологическим исполнением. В литературе по
индикаторам [13, 14] особенности конкретных типов индикаторов отражаются рядом специальных
терминов, а также условными обозначениями.
В таблице 0.1 приводятся основные термины индикаторов и их определения (согласно ГОСТ 25066-81).
Таблица 0.1 - Основные термины индикаторов и их определения
Индикатор
Активный
индикатор
Пассивный
индикатор
Выходное
устройство
информационного
прибора
или
системы,
обеспечивающее
визуальное
(видимое)
отображение
информации, воспринимаемое человеком в
удобном для наблюдения виде.
Индикатор, преобразующий электрическую
энергию в световую
Индикатор, преобразующий (модулирующий)
внешний световой поток под действием
электрического поля или тока
75
Вакуумный
накаливаемый
индикатор
Вакуумный
люминесцентный
индикатор (ВЛИ)
Полупроводниковы
й индикатор
Жидкокристалличе
ский индикатор
(ЖКИ)
Электролюминесце
нтный индикатор
Активный индикатор, в котором используется
свечение тел накала в вакууме
Активный индикатор, в котором используется
явление низковольтной катодолюминесценции
Активный индикатор, в котором используется
явление инжекционной электролюминесценции
Пассивный индикатор, в котором используются
электрооптические
эффекты
в
жидких
кристаллах
Активный индикатор, в котором используется
явление предпробойной электролюминесценции
76
Продолжение таблицы 0.1
Газоразрядный
индикатор
Индикатор
индивидуального,
коллективного
пользования
Информационное
поле
Знак
Знакоместо
Элемент (сегмент)
отображения
Структурный
рисунок индикатора
Знакосинтезирующ
ий индикатор (ЗСИ)
Единичный
индикатор
Одноразрядный
индикатор
Многоразрядный
индикатор
Матричный
индикатор
Экран
Активный индикатор, в котором используется
видимое излучение газового разряда
Индикатор,
конструктивное
исполнение,
параметры
и
характеристики
которого
обеспечивают возможность безошибочного
считывания информации с расстояния:
 менее 1,5 м (индивидуального пользования);
 от 1,5 до 4 м (группового пользования);
 более 4 м (коллективного пользования)
Конструктивная часть индикатора, в пределах
которой возможно формирование изображения
Условное обозначение букв алфавита, цифр,
математических знаков, знаков препинания,
предметов, явлений, событий
Информационное поле или его часть,
необходимая и достаточная для изображения
одного знака
Часть информационного поля, имеющая
самостоятельное управление
Изображение, возникающее при включении
всех элементов индикатора и показывающее их
число,
форму,
размеры
и
возможное
расположение при отображении информации
Прибор отображения информации, в котором
видимое изображение создается из одного или
совокупности дискретных элементов отображения
Индикатор, состоящий из одного элемента
отображения
и
предназначенный
для
отображения информации в виде точки, линии
или поля
Цифровой или буквенно-цифровой индикатор,
имеющий одно знакоместо
Цифровой или буквенно-цифровой индикатор,
имеющий несколько фиксированных знакомест
ЗСИ, элементы отображения которого имеют
вид точек и сгруппированы по строкам и
столбцам,
что
позволяет
отображать
информацию произвольного характера
Матричный индикатор с числом элементов
отображения не менее 10000 и не имеющий
фиксированных знакомест
77
Окончание таблицы 0.1
ЗСИ со встроенным
управлением
Шкальный
индикатор
Графический
индикатор
Мнемонический
индикатор
ЗСИ, конструктивно выполненный совместно с
элементами системы управления
Индикатор, предназначенный для отображения
в виде шкал
Индикатор, предназначенный для отображения
букв, цифр, символов, графиков и другой
сложной графической информации
Индикатор, предназначенный для отображения
мнемосхемы или части мнемосхемы
Рассмотрим особенности строения, условия применения
распространенных индикаторов, применяемых в бытовой РЭА.
и
схемы
управления
наиболее
Вакуумные люминесцентные индикаторы
Вакуумные люминесцентные индикаторы (В Л И) относятся к активным индикаторам, преобразующим
электрическую энергию в световую. По виду отображаемой информации ВЛИ можно разделить на
единичные, цифровые, буквенно-цифровые, шкальные, мнемонические и графические. По виду
информационного поля индикаторы делятся на сегментные и матричные, одноразрядные и многоразрядные,
а также матрицы без фиксированных знакомест.
К числу достоинств ВЛИ следует отнести:
 высокую яркость, обеспечивающую хорошую видимость воспроизводимых знаков;
 низкие рабочие напряжения, допускающие возможность их применения с формирователями на
МОП-микросхемах;
 малое потребление энергии, что позволяет использовать их в устройствах, питаемых от батарей и
автономных источников питания.
Необходимость использования источника питания накала индикатора может оказаться его
недостатком. В ряде случаев трудно исключить мешающие восприятию изображения блики, создаваемые
отражением света от стеклянных баллонов индикаторов.
Вакуумные люминесцентные индикаторы используют для отображения информации в устройствах
самого различного назначения: в микрокалькуляторах и ЭВМ, кассовых аппаратах и станках с числовым и
программным управлением, электронных часах, электро- и радиоизмерительных приборах (цифровых
ампервольтомметрах, частотомерах), диспетчерских пультах управления энергетическими установками и
воздушным движением, медицинских приборax и т. п.
Вакуумный люминесцентный индикатор представляет собой электронную диодную или триодную
систему, в которой под воздействием электронной бомбардировки высвечиваются покрытые низковольтным
катодолюминофором аноды-сегменты.
Конструктивная схема одноразрядного индикатора показана
на рис.5.1. Детали индикатора монтируются на керамической или
стеклянной плате 1. Участки платы, на которые нанесен
люминофор, образуют аноды-сегменты 2; под люминофором
имеется токопроводящий слой. Каждый из анодов имеет
определенный вывод 3. Источником электронов служит оксидный
катод прямого накала 4. Управление электронным потоком
осуществляется сеткой 7. Электронный поток, высвечивающий
сегменты, ограничивается экранирующим электродом-маской 8.
Вся арматура индикатора заключена в стеклянный баллон 6, в
котором создан вакуум. Штриховой линией показаны примерные
Рисунок 0.1 – Конструктивная
схема ВЛИ
траектории электронов. На внутреннюю поверхность баллона
нанесено токопроводящее покрытие 5, прозрачное для всей
области спектра излучения индикатора. Электрически оно
соединено с отдельным выводом или катодом; покрытие обеспечивает стекание с поверхности баллона
электрических зарядов, способных исказить траектории электронов.
Катод ВЛИ представляет собой отрезок тонкой вольфрамовой проволоки. Рабочая температура катода
выбирается низкой, чтобы нить, находящаяся по направлению наблюдения перед анодами, не мешала
наблюдению светящихся символов.
Сетка ВЛИ управляет электронным потоком. Она имеет положительный относительно катода
потенциал, рассеивает электроны и ускоряет их в направлении анодных сегментов. Сетки изготовляются из
полотна, «тканого» из вольфрамовой проволоки или электрохимичес-ким фрезерованием тонкой никелевой
фольги.
78
Изображение букв, цифр и других символов во ВЛИ формируется высвечиванием необходимой
комбинации анодов-сегментов. Смена изображений достигается путем соответствующей коммутации
анодов-сегментов. Аноды-сегменты представляют собой покрытые люминофором слои токопроводящего
материала заданной конфигурации, нанесенные на стеклянную или керамическую плату. Сегменты
выполнены в виде точек или протяженных участков различной формы, символов и трафаретов. Количество,
конфигурация и взаимное расположение сегментов образует структурный рисунок индикатора, по которому
различают цифровые, буквенно-цифровые, матричные и шкальные индикаторы.
Люминофор включенных сегментов, имеющих в данный момент положительный относительно катода
потенциал, светится под воздействием попадающего на них электронного потока. Ток катода индикатора и
токи сегментов практически не зависят от числа включенных сегментов. Электроны, попадающие на
включенные сегменты, заряжают их отрицательно и отражаются. Вторичные электроны перехватываются
экранирующим электродом.
Изображение, формируемое ВЛИ, очень высококонтрастное, яркость достигает 500 кд/м2 и более; для
сравнения можно напомнить, что яркость экрана современного цветного кинескопа не превышает 300 кд/м 2.
В ВЛИ используется явление низковольтной катодолюминесценции (НВК), при котором свет излучается
кристаллофосфором, бомбардируемым электронами с относительно низкой энергией (около 10... 100 эВ).
Для веществ, у которых наблюдается этот эффект, потенциал начала НВК составляет всего несколько вольт.
В ВЛИ в качестве люминофора широко используется окись цинка, активированная цинком (ZnO:Zn),
обеспечивающая интенсивное сине-зеленое свечение. Применяя светофильтры, можно получить цвета
символов от синего до красного. Существует достаточно широкая номенклатура люминофоров, имеющих
различные цвета свечения (синий, зеленый, желтый, красный).
Матричные ВЛИ предназначены для синтеза цифр, букв любого алфавита, различных символов и
знаков. Формирование изображения на информационном поле ВЛИ можно осуществлять статическим или
мультиплексным способом. При статическом способе возбуждающие сигналы подаются на необходимые
для получения заданного изображения аноды-сегменты, и все изображение знака формируется
одновременно.
Формирование изображения мультиплексным способом осуществляется применительно к ВЛИ,
имеющим два канала управления, например, многоразрядные индикаторы с параллельно соединенными
анодами-сегментами и раздельными для каждого знакоместа сетками. Так же управляют матричными и
графическими ВЛИ.
При мультиплексном управлении в течение каждого момента времени формируется не полное изображение, а
его отдельные элементы. За счет инерционности человеческого зрения наблюдатель видит цельную картинку. Такое
управление еще называют динамической индикацией.
Долговечность работы ВЛИ определяется сохранением работоспособности люминофора и оксидного
катода. В течение первых сотен часов яркость претерпевает спад на 10…20 %. После этого следует довольно
длительный период, составляющий десятки тысяч часов, в течение которых яркость практически не
изменяется.
Жидкокристаллические индикаторы
Принцип действия и конструктивные модификации
Жидкокристаллические индикаторы (ЖКИ) являются пассивными индикаторами, преобразующими
падающий на них свет. Они обладают рядом достоинств, к числу которых относятся:
 малая потребляемая мощность (для ЖКИ на основе твист-эффекта удельная мощность потребления
составляет несколько единиц мкВт/см2);
 низкие рабочие напряжения (1,55 В) и хорошая совместимость с КМОП- микросхемами;
 удобное конструктивное исполнение - плоская форма экрана и ограниченная толщина индикатора
(до 0,6 мм);
 возможность эффективной индикации в условиях сильной внешней засветки;
 большая долговечность (около 10-12 лет непрерывной работы).
Основные недостатки - сравнительно низкое быстродействие, ограниченный угол обзора и
необходимость внешнего освещения.
Жидкие кристаллы (ЖК) называют также анизотропными жидкостями, электрические и оптические
свойства которых зависят от направления их наблюдения. Плотность ЖК близка к плотности воды и
коэффициент отношения их плотностей незначительно отличается от единицы. Жидкие кристаллы диамагнитный материал, ЖК выталкиваются из магнитного поля; ЖК относятся к диэлектрикам; удельное
сопротивление составляет 106... 1010 Омсм и зависит от наличия и концентрации проводящих примесей.
Теплопроводность ЖК в направлении вдоль молекул отличается от теплопроводности в поперечном по
отношению к молекулам направлении.
Вследствие анизотропии электрических и оптических свойств в ЖК наблюдаются различные
электрооптические эффекты:
79
 связанные с движением вещества - динамическое рассеяние (ДР);
 с поворотом молекул в электрическом поле - твист-эффект (ТЭ);
 эффект гость - хозяин (Г - X).
Конструктивные схемы ЖКИ показаны на рисунках 0.2 и 0.3.
Основой простейшего индикаторного элемента с использованием ЖК являются две стеклянные
пластины. Вне зависимости от используемого электрооптического эффекта ЖКИ разделяются на два класса:
 индикаторы, работающие на просвет;
 индикаторы, работающие на отражение.
Рисунок 0.2 – Конструкция ЖКИ,
работающего на просвет:
1 , 3 - стеклянные пластины;
2 - склеивающее соединение;
4 - задний прозрачный электрод;
5 - передний прозрачный электрод;
6 - жидкий кристалл
Рисунок 0.3 – Конструкция ЖКИ,
работающего на отражение:
1 , 3 - стеклянные пластины;
2 - склеивающее соединение;
4 - задний отражающий электрод;
5 - передний прозрачный электрод;
6 - ЖК
У первого типа (рис 0.2) обе стеклянные пластины прозрачны, электродами служат прозрачные
электропроводящие пленки (например, двуокись олова), между которыми помещено ЖК вещество. За
индикатором помещается источник света. Цвет и ярость индикатора определяются цветом и яркостью
источника света.
У второго типа (рис 0.3) «задний» электрод изготовлен в виде зеркала, на соответствующую пластину
наносится прозрачная проводящая и отражающая свет пленка (например, пленка алюминия, никеля, золота).
Такой индикатор использует внешнее отражающее освещение (специальная подсветка отсутствует).
Пример ЖК-индикатора со сложным структурным рисунком, применяемого в устройствах бытовой
аппаратуры, с указанием реальных размеров, приведен на рисунке 0.4.
Рисунок 0.4 – ЖК индикатор со сложным структурным рисунком
На рисунке 0.5 показан набор букв, знаков и цифр, которые можно получить на 16-сегментном
знакосинтезирующем ЖК индикаторе.
Рисунок 0.5 – Изображения букв, знаков и цифр, получаемых на
16 сегментном ЖК индикаторе
Конфигурация электродов индикатора определяется либо формой исходных стеклянных пластин, либо
технологией металлизации. Как правило, пластины и электроды плоские, но в ряде приборов внутренняя
80
поверхность задней пластины имеет сложную форму, образующую ряд оптических элементов,
обеспечивающих отражение излучения в направлении источника света.
В ЖКИ, работающем на основе Динамического Рассеяния (ДР), при приложении электрического
поля напряженностью около
5 кВ/см (примерно 30 В - к пленке ЖК толщиной 0,25 мм) молекулы
переориентируются, возникает турбулентность и сильное оптическое рассеяние. Материал, прозрачный в
отсутствии поля, становится непрозрачным. В таком ЖКИ, работающем на отражение, задний электрод
представляет собой зеркало, на котором при подаче напряжения появляются участки молочно-белого цвета,
форма которых соответствует конфигурации электродов. Заднюю стеклянную пластину индикатора чернят,
тогда на черном фоне возникает белое изображение.
В ЖКИ с использованием Твист-Эффекта (ТЭ), работающем на отражение, стеклянные пластины
расположены между двумя скрещенными поляризаторами, за задним из которых помещен диффузный
отражатель. Поверхности пластин, обращенные к ЖК, полируются так, чтобы молекулы ЖК в слоях,
прилегающих к ним, ориентировались во взаимно перпендикулярных направлениях, в промежуточных
слоях осуществляется постепенный поворот направления ориентации.
В отсутствии электрического поля свет в индикаторе следует за вращением молекул и на выходе
индикатора плоскость его поляризации оказывается повернутой на 90°; свет проходит через индикатор.
Поляризатор пропускает свет только определенной поляризации. При наличии электрического поля
ориентация молекул изменяется, все молекулы ориентируются вдоль электрического поля. Плоскость
поляризации света, проходящего в этом случае через индикатор, не вращается, и свет не проходит через
индикатор. Так как отражатель диффузный, на слабоокрашенном сером фоне отображаются темные знаки.
В ЖКИ на основе ТЭ, работающем на просвет, поляризаторы устанавливают так, чтобы их плоскости
поляризации были параллельны друг другу. Индикатор не пропускает свет в отсутствие электрического поля и
пропускает при подаче напряжения.
К числу достоинств таких ЖКИ относится высокая эффективность.
 Индикаторы на эффекте ДР характеризуются уровнем потребляемой мощности 5…10 мкВт/см2 для
постоянного тока (0,5...1,0 мкА/см2) и 50...200 мкВт/см2 для переменного тока (2...10 мкА/см2).
 Рабочее напряжение ЖКИ на эффекте ДР не превышает 20 В.
 Для индикаторов на основе ТЭ удельная потребляемая мощность составляет не более 20 мкВт/см2
(менее 2 мкА/см2).
 Рабочее напряжение ЖКИ на эффекте ТЭ не превышает 5 В.
 Долговечность при эксплуатации на переменном токе составляет более 40 тысяч часов.
По экономичности ЖКИ намного превосходят современные светоизлучающие диоды. К достоинствам
ЖКИ на эффекте ДР и ТЭ можно отнести способность сохранять и увеличивать контраст изображения при
повышении уровня внешней освещенности, прямую совместимость с КМОП-микросхемами, обеспечивающую
возможность низковольтного управления ЖКИ. Они имеют удобное конструктивное оформление. Индикаторы
плоские; толщина индикатора практически определяется толщиной двух стекол и может составлять 0,6 – 0,8
мм.
Вместе с тем ЖКИ характеризуются сравнительно низким быстродействием (десятки миллисекунд,
особенно при пониженной температуре) и явно выраженной зависимостью параметров от температуры
окружающей среды.
Индикаторы на эффекте ДР и ТЭ преимущественно применяются там, где экономичность играет
решающую роль: в электронных наручных часах, микрокалькуляторах с автономным питанием, портативных
многофункциональных измерительных приборах, индикаторах для переносных радиоприемников, магнитофонов,
автомобильных индикаторных устройствах и т. п.
В индикаторах на эффекте Гость - Хозяин тонкий слой ЖК - «хозяина» взаимодействует с молекулами
«гостя». Слой ЖК – «хозяина» за счет поглощения световой энергии при отсутствии электрического поля
приобретает характерную для красителя «гостя» окраску, а под воздействием электрического поля он
обесцвечивается. В этом случае на окрашенном фоне возникают участки, имеющие другой цвет.
Но существуют также вещества гостя и хозяина, в которых окрашивание происходит под воздействием
электрического поля. Цветовые различия в индикаторах на эффекте Г-X хорошо воспринимаются в условиях
высокой освещенности даже при небольшом яркостном контрасте.
Управление ЖКИ
Способы управления индикаторными панелями (ИП) на основе ЖК материалов определяются
особенностями их физических свойств. Долговечность ЖКИ, работающего на постоянном токе, примерно на
порядок ниже, чем при использовании переменного напряжения. Снижение долговечности в варианте
постоянного тока обусловлено миграцией примесей к отражающему электроду под воздействием постоянной
составляющей управляющего сигнала, в результате этого падает контрастность и растет напряжение
возбуждения.
Предпочтительным оказывается возбуждение ЖКИ переменным током. В этом случае на электроды
передней и задней пластин подаются импульсы напряжения прямоугольной формы (рисунок 0.6 а)
81
одинаковой полярности, но сдвинутые по фазе так, что управляющее напряжение представляет собой
биполярный сигнал, не имеющий постоянной составляющей (рисунок 0.6 б).
а)
б)
Рисунок 0.6 – Знакопеременное управляющее напряжение ЖКИ:
а - импульсы напряжения прямоугольной формы;
б - напряжения, сдвинутые по фазе
Принципиальная схема возбуждения ЖКИ переменным током (фазовым методом) приведена на рисунке
0.7. В схеме предусматривается подача на входы вентилей ИЛИ импульсов напряжения с частотой 15... 20 Гц,
сдвинутых по фазе относительно друг друга на 180°. В зависимости от уровня управляющего сигнала на
сегмент с выхода формирователя подаются напряжения различных фаз. Сегмент не возбуждается при
совпадении фаз на электродах ЖКИ, возбуждение происходит при различных фазах.
+U
R1
Управление
R2
1
1
VT2
VT1
1
f=15 – 20 Гц
Рисунок 0.7 – Принципиальная схема возбуждения ЖКИ фазовым методом
Управление многоразрядными ЖКИ может осуществляться в статическом или динамическом режиме.
Структурная схема управления индикатором в статическом режиме показана на рисунке 0.8. Каждое
знакоместо индикатора З1 – Зn подключено к регистру оперативной памяти. Каждая кодовая комбинация
регистра преобразуется в сегментный код индикатора дешифраторами управления ДУ, с выхода которых
информация в коде индикатора через ключи блока формирователей БФ используется для коммутации питания
сегментов индикатора.
Для этого устройства управления характерно полное использование контраста знакоместа, так как время
возбуждения свечения равно длительности цикла индикации. Недостаток схемы - необходимость иметь для
каждого знакоместа свой дешифратор и формирователь для каждого сегмента. Число внутрисхемных соединений
велико, оно равно произведению числа выходов на один цифровой разряд на число цифровых разрядов.
З1
З2
З3
…
Зn
БФ1
БФ2
БФ3
…
БФn
ДУ1
ДУ2
ДУ3
…
ДУn
Е
Информация
Двоично-десятичный
код
Рисунок 0.8 – Структурная схема управления индикатором
в статическом режиме
При динамическом управлении пространственно разделенные разряды работают последовательно во
времени. Возможны разные типы динамического управления. На рисунке 0.9 приведена структурная схема
управления ЖКИ в динамическом режиме с последовательной выборкой знакоместа.
82
Информация (Код двоично-десятичный)
Дш Зн
Такты
З1
Ст2
З2
Дш
З3
Зn
…
Рисунок 0.9 – Структурная схема управления индикатором
в динамическом режиме
Счетчик Ст2 формирует через дешифратор Дш импульсы активизации знакомест З1 – Зn. Информация с
регистра памяти проходит через дешифратор знаков Дш Зн и поступает на индикаторы знакомест. Каждый
индикатор работает небольшую часть общего времени. Достоинство схемы – в малом числе компонентов
схемы управления и более низкое энергопотребление.
Частота тактов должна быть выше или равной некоторой критической частоты fкр, при которой
мерцание разрядов незаметно.
Долговечность ЖКИ
В процессе эксплуатации ЖКИ изменяется внешний вид информационных полей, что проявляется как
ухудшение и исчезновение контраста между активными и пассивными зонами, увеличивается время реакции.
Изменения внешнего вида и времени реакции являются следствием электрохимических явлений на границе
«жидкокристаллическое вещество (ЖКВ) - поверхность подложки». Скорость деградационных процессов в
основном определяется постоянной составляющей напряжения возбуждения, предельно допустимое значение
которого указывается в справочных данных.
Наличие постоянной составляющей приводит к электролизу ЖКВ, в результате которого возникает
газовыделение в объеме ЖКВ, образуются пузырьки газов, визуально воспринимаемые как черные точки.
Электроды индикатора (проводящие пленки) теряют свою прозрачность, и сегменты становятся видимыми в
отсутствие напряжения возбуждения.
В результате старения нарушается ориентация молекул ЖКВ и растет потребляемый индикатором ток.
В процессе эксплуатации ЖКВ потребляемый ток может расти за счет проникновения влаги через слой
герметика. Влага разрушает ЖКВ. Особенно опасно сочетание влаги с воздействием высокой температуры.
При эксплуатации ЖКИ в условиях низкой температуры отдельные компоненты ЖКВ могут
кристаллизоваться. Чередование замораживания и размораживания ЖКВ может привести к образованию
воздушных пузырьков, которые выглядят как черные точки.
Индикаторы следует возбуждать переменным напряжением. Значение постоянной составляющей не должно
превышать 250 мВ. Для контактирования выводов индикатора со схемой рекомендуется применять разъемы.
Необходимо защищать кромку индикатора по всему периметру (место герметизации) от воздействия влаги.
Полупроводниковые знакосинтезирующие индикаторы
Единичные ППЗСИ
Единичный полупроводниковый знакосинтезирующий индикатор (ППЗСИ) – это полупроводниковый
диод, в переходе которого в результате рекомбинации электронов и дырок при их инжекции в прямом
направлении генерируется световое излучение. Принцип их работы заключается в том, что при прямом
смещении потенциальный барьер р-п перехода понижается и происходит инжекция электронов в р-область и
дырок в n-область. В процессе рекомбинации неосновных носителей в р-п переходе энергия выделяется в
виде фотонов, т.е. процесс рекомбинации сопровождается световым излучением, частота которого
пропорциональна энергии запрещенной зоны полупроводникового материала. Если ширина запрещенной
зоны больше 1,8 эВ, то излучение видимое (длина волны меньше 700 нм), если меньше, то излучение
невидимое и находится в инфракрасной части спектра.
Полупроводниковые знакосинтезирующие индикаторы – это низковольтные приборы, удобно совмещаемые с
источниками питания и уровнями токов микросхем. Они миниатюрны и позволяют конструировать
устройства, предназначенные для отображения информации различной сложности - от светящейся точки до
текстов и графиков. ППЗСИ обладают малым временем переключения - менее 50 нс. Приборы
характеризуются относительно высокими уровнями рабочих токов и умеренными уровнями яркости.
Основные материалы, используемые для изготовления светодиодов, - твердые растворы арсенида и фосфида
галлия. Цвет видимого свечения: красный, желтый, зеленый.
83
В последние годы перспективным методом получения индикаторов с различным цветом свечения
считается нанесение люминофорного покрытия непосредственно на кристалл с инфракрасным излучением.
Такая конструкция позволяет преобразовать интенсивное инфракрасное излучение кристалла в видимый свет
цветового люминофора, что существенно расширяет возможности практического применения этих
индикаторов в технике и быту.
В простейшем случае единичный ППЗСИ представляет собой плоский p-n переход с омическими контактами
(рисунок 0.10). Однако такая конструкция недостаточно эффективна из-за внутреннего отражения генерируемого
света на границе полупроводник - воздух.
Направления
излучения света
n-область
Светоизлучающий
p-n переход
Омические
контакты
p-область
Рисунок 0.10 – Конструкция ППЗСИ с плоским p-n переходом
Для уменьшения отражения на поверхности полупроводника формируют полусферическое покрытие из
прозрачного материала, коэффициент преломления которого имеет промежуточное значение между
коэффициентами преломления воздуха и кристалла (рисунок 0.11).
Направления
излучения света
Светоизлучающий
p-n переход
n-область
p-область
Омические
контакты
Прозрачная
пластмасса
Рисунок 0.11 – Конструкция ППЗСИ с полусферическим покрытием
Эффективны конструкции единичных ППЗСИ, у которых n-область p-n перехода имеет форму
полусферы (рисунок 0.12). В такой конструкции лучи генерируемого света подходят к разделу полупроводниквоздух практически перпендикулярно, что резко снижает потери на внутреннее отражение.
Направления
излучения света
n-область
Светоизлучающий
p-n переход
p-область
Омические
контакты
Рисунок 0.12  Конструкция ППЗСИ с полусферической n областью
Размеры излучающих поверхностей единичных ППЗСИ малы, поэтому для увеличения размеров
изображения в конструкциях индикаторов используются линзы, рефлекторы и другие устройства,
увеличивающие видимый размер светящейся поверхности.
Кристалл единичного ППЗСИ с управляемым цветом свечения имеет два p-n перехода. Один из них
излучает красный свет, другой излучает зеленый свет. При включении одного из p-n переходов диод излучает
красный или зеленый свет, а при включении обоих p-n переходов благодаря оптической прозрачности фосфида
галлия можно получить желтый или оранжевый цвет свечения в зависимости от соотношения токов через p-n
переходы.
Единичные ППЗСИ обладают достаточно высоким быстродействием, однако для устройств отображения, в
которых они обычно используются, временные параметры не являются критичными.
Светодиоды как элементы индикации обладают рядом достоинств:
 малые габаритные размеры;
 низкое напряжение питания;
 набор различных цветов свечения;
 устойчивость к механическим воздействиям;
 большой срок службы.
84
Многоэлементные ППЗСИ
Это прибор, состоящий из полупроводниковых излучающих элементов, предназначенный для
представления информации в виде знаков и организованный в один или несколько разрядов. В настоящее
время выпускается несколько сотен типов многоэлементных полупроводниковых индикаторов, в том числе
знаковые, модули шкалы, модули экрана. Они различаются числом, размерами и конфигурацией
светоизлучающих элементов, цветом свечения, конструктивными решениями.
Знаковые индикаторы в основном предназначены для отображения информации в виде цифр и букв. На
рабочем поле может одновременно отображаться одно знакоместо (одноразрядный индикатор) или несколько
знакомест (многоразрядный). По числу элементов и их взаимному расположению в пределах поля одного
разряда различают четыре типа знаковых индикаторов:
I.
- семисегментный;
II.
– девятисегментный;
III.
- 35 сегментный матричный ППЗСИ;
IV – пятисегментный, разных видов.
Индикаторы I типа могут быть цифровыми, буквенно-цифровыми и обеспечивают отображение всего
ряда цифр с приемлемым для восприятия эстетическим качеством.
Индикаторы II типа позволяют отображать цифры и ограниченный набор букв русского и латинского
алфавитов.
Наиболее универсальны индикаторы III типа. При работе с этими индикаторами можно изменять
начертание отдельных символов.
Индикаторы IV типа дополняют группу индикаторов II типа и предназначены для отображения символов
полярности и переполнения в цифровых устройствах с неполным числом разрядов. Другой вид используется для
создания шкал.
С электрической точки зрения, знаковые индикаторы представляют наборы излучающих диодов. Для
уменьшения числа контактных выводов индикатора у диодов аноды или катоды объединены вместе (рисунок 0.13).
3,9,14
3,9,14
Для АЛ305Ж-Л
Для АЛ305А-Е
1
а)
2
6
7
8
10 11
1
2
6
7
8
10 11
б)
Рисунок 0.13 – Электрические схемы многоэлементных ППЗСИ:
а  общие катоды; б  общие аноды
Для активации 5, 7 или 9 сегментного индикатора при структуре с общим анодом (рисунок 0.13 б) достаточно
на объединенный анод всех диодов подать положительное напряжение (около 2 В). На катоды нужных диодов
подается потенциал земли. Выбранные диоды зажигаются за счет прямо протекающего через них тока. Катоды
неиспользуемых диодов можно подключить к положительному напряжению или оставить неподключенными.
Для структуры с общим катодом (рисунок 0.13, а) на объединенный катод подается потенциал земли. На
аноды нужных диодов подается положительное напряжение.
Начертание цифр, синтезируемых на 7-сегментном индикаторе, вполне приемлемо для четкого
распознавания в бытовых устройствах (рисунок 0.14).
Рисунок 0.14 – Индикация цифр на семисегментном индикаторе
85
Девятисегментный индикатор позволяет улучшить форму цифр и даже букв за счет более правильного
начертания знаков.
Рисунок 0.15 – Индикация цифр на девятисегментном индикаторе
В 35 сегментном матричном ППЗС индикаторе имеется 35 светоизлучающих диодов, выполненных в
виде точечных излучателей, собранных в форме матрицы 5*7 точек. Очень трудно напрямую на выход
индикатора подключить выводы 35 анодов и катодов. Прямой вывод значительно увеличивает габариты
индикатора и знакоместа. Поэтому такие индикаторы организованы по матричной схеме (рисунок 0.16).
Светодиоды включены на пересечении строк и столбцов матрицы.
Рисунок 0.16 – Структура 35 сегментного индикатора
В такой схеме для активизации диода (зажигания точки) на вход анодов в нужной строке подается
положительное напряжение, а столбец, к которому подключен катод нужного диода, должен быть заземлен.
При протекании прямого тока высвечивается точка. При этом можно активизировать нужные диоды всего
столбца. Для синтеза знака необходим последовательный перебор всех столбцов знаковой матрицы. Таким
образом, диаграмма сигналов на выводах столбцов, имеет следующий вид (рисунок 0.17).
1 столбец
2 столбец
3 столбец
4 столбец
5 столбец
Рисунок 0.17 – Диаграмма напряжений на столбцах индикатора
На строки матричного индикатора подается 7-ми битный код, содержащий единицы в разрядах нужных
строк.
Начертания цифр и букв на 35-сегментном матричном индикаторе очень правильные и отлично
воспринимаются пользователем (рисунок 0.18 ).
Рисунок 0.18 – Индикация цифр и букв на матричном индикаторе
С помощью 35-сегментного индикатора можно синтезировать буквы русского и латинского алфавитов,
цифры, специальные знаки (точки, двоеточие, запятые, многоточия, проценты, градусы и т.п.) и многие другие
знаки.
Кроме отображения цифр, букв и специальных знаков, полупроводниковые индикаторы с успехом
используются в устройствах индикации включения готовности к работе, наличия напряжения в блоке,
нормальной работоспособности узла, аварийной ситуации, достижения температурного порога, выполнения
функционального задания и в других устройствах, хорошо согласуясь по электрическим параметрам с
полупроводниковыми приборами и микросхемами.
86
Полупроводниковые индикаторы имеют очень высокую долговечность. В технической документации на
индикаторы, как правило, указывается минимальная наработка в 15000 часов, а в облегченных режимах –
30000 ч. При этом продолжительность наработки оценивается по некоторым условным величинам, называемым
критериями наработки. Например, принимается, что яркость свечения индикатора должна уменьшиться не более
чем на 30% от первоначального значения.
Опыт показывает, что ППЗСИ работают 70…80 и более тысяч часов (около 8..10 лет непрерывной работы).
Эксплуатационные достоинства ППЗСИ способствовали достаточно быстрому и широкому
распространению их в радиоэлектронной, вычислительной и другой аппаратуре, выполненной на интегральных
микросхемах в качестве:
 визуальных индикаторов состояния полупроводниковых, интегральных и гибридных микросхем;
 источника видимого света для малогабаритных информационных быстродействующих табло в
вычислительной технике и устройствах автоматики;
 источника видимого света в малогабаритных матрицах и алфавитно-цифровых модулях;
 малоинерционных излучателей света в быстродействующих системах записи информации на
фотопленку;
 источника импульсного света в цепях контроля скоростных фотоэлектронных умножителей;
 элементов индикации в приборных щитах самолетов и космических кораблей;
 цифровых и знаковых индикаторов в устройствах сигнализации и автоматики;
 индикаторов отсчета времени в электронных часах и т.д.
Другие типы индикаторов
Описанные выше типы индикаторов широко применяются в различных радиоэлектронных устройствах
бытового назначения и в технических приложениях. Основным критерием их преимущественного
распространения являются высокие эксплуатационные качества по потребляемой мощности, надежности,
долговечности, стоимости и простоте схем управления.
Для полноты картины перечислим некоторые другие типы индикаторов, не вошедшие в перечисленные
выше типы:
 накальные индикаторы – лампы;
 накальные вакуумные индикаторы;
 накальные индикаторы на флуоресцирующих стеклах;
 газоразрядные неоновые лампы;
 газовые электронно-световые индикаторы;
 тиратроны тлеющего разряда;
 газоразрядные знаковые индикаторы;
 газоразрядные индикаторные панели;
 электронно - лучевые индикаторы;
 пневматические индикаторы;
 термоиндикаторы и т.д.
Ввод информации в микро-ЭВМ
При работе с радиоэлектронной аппаратурой пользователь выражает свои желания с помощью устройства
ввода. В качестве устройства ввода выступает клавиатура. Клавиатура – это набор коммутационных элементов –
клавиш, при воздействии на которые формируются электрические сигналы.
Принципы, заложенные в реализацию таких элементов, могут быть различными. По виду воздействия
можно выделить клавиши нажатия (тактильные) и прикосновения (сенсорные). Различают также контактные и
бесконтактные клавишные устройства.
В контактных элементах механическое воздействие на клавишу приводит к переключению
электромеханического контакта. Такие устройства отличаются низкой стоимостью, простотой конструкции,
возможностью коммутации довольно большой мощности, огромным числом допустимых переключений.
Улучшенным вариантом электромеханических контактов являются герконы – герметизированные
контакты, располагаемые в герметичном стеклянном баллоне. Срабатывание происходит при воздействии на
контакты магнитного поля от маленького магнита или электромагнитной катушки.
В бесконтактных клавишах используются переключатели, управляемые магнитным полем, световым
излучением, или воздействием от индукционных датчиков. К бесконтактным относятся и сенсорные
переключатели.
При малом числе клавиш пару проводов от каждой клавиши можно завести прямо на устройство
управления. При увеличении числа клавиш до десяти и более, значительно возрастает число проводов. Поэтому
клавиши подключают по матричной схеме (рисунок 0.19).
87
При матричной схеме организации клавиатуры процесс работы состоит из фазы вывода на столбцы кода
сканирования и фазы считывания кода со строк. Код сканирования состоит из всех логических единиц и одного
логического нуля. Нулевой потенциал в каждый момент времени подается только на один столбец. Если столбец,
подключенный к нулевому значению, не содержит нажатых клавиш, то на всех строках считывается логическая
единица. Устройство обслуживания клавиатуры в этом случае считает, что данный столбец опрошен и нажатых
клавиш нет.
Далее, логический нуль смещается на одну позицию, для активизации следующего столбца. Процесс
считывания строк повторяется. Таким образом, в процессе перебора всех столбцов (сканирование столбцов),
может быть обнаружена нажатая клавиша. Номер столбца определяется по позиции логического нуля, а строка с
нажатой клавишей также будет содержать нулевое значение.
Столбцы для
сканирования
клавиатуры
+U
Строки для
считывания
кода нажатой
клавиши
Рисунок 0.19 – Структура матричной клавиатуры
Адрес клавиши (столбец, строка) однозначно определяет ее позицию и, таким образом, позволяет
определить ее значение (функцию). В устройство управления, работающее с клавиатурой, обычно закладывается
функция устранения дребезга контактов (антидребезг). Дребезг контактов объясняется тем, что механические
контакты при включении замыкаются не сразу. За короткое время контактное сопротивление изменяется
скачкообразно несколько раз. Контакты как бы ударяются и отскакивают друг от друга, как мячики. Антидребезг
срабатывает при повторном считывании кода клавиши через небольшое время, порядка 2010-3 секунды. За это
время дребезжание заканчивается, и устройство фиксирует нажатие клавиши.
Еще одной проблемой является одновременное нажатие нескольких клавиш. В этом случае клавиатура
обычно блокируется на небольшое время, и опрос повторяется с задержкой. Блокировка клавиатуры будет
повторяться либо до момента отпускания всех клавиш, либо до фиксации всего одной нажатой клавиши. В
любом случае неправильный код с клавиатуры не обрабатывается. Так гарантируется правильность работы всего
устройства.
В случае использования микро-ЭВМ, имеющей встроенный Аналого-цифровой преобразователь, можно
организовать клавиатуру по схеме с делителями напряжения (рисунок 0.20).
88
+U
ОЭВМ
R
0
In_ADC
R
R
R
R
1
…
Y
Z
R
Рисунок 0.20 – Клавиатура с делителями напряжения
На аналоговый вход АЦП In_ADC подключается цепочка делителей напряжения R. Каждая нажатая
клавиша заземляет часть цепочки делителей. На входе АЦП при этом изменяется входное напряжение. Таким
образом, код, вычисленный на АЦП, однозначно определяет номер нажатой клавиши. Количество клавиш при 8
битовом АЦП не может превышать 255.
Достоинствами такой клавиатуры следует отметить малое число задействованных входов микро-ЭВМ,
простоту алгоритма вычисления номера нажатой клавиши. Устранение дребезга происходит при повторных
запусках АЦП. Достаточно несколько раз подряд определить нажатие одной и той же клавиши и можно считать
ее нажатой. Отсутствие нажатых клавиш определяется очень легко по значению кода АЦП.
В такой клавиатуре просто решается вопрос обработки нескольких, одновременно нажатых, клавиш. В
этом случае будет определен код наиболее близкой ко входу АЦП клавиши.
Контрольные вопросы
1.
2.
3.
4.
5.
6.
7.
Что такое ВЛИ? Объясните принцип их работы.
Какие физические эффекты используются при работе ЖКИ?
Почему для питания ЖКИ необходимо использовать двухфазное питание?
Расшифруйте аббревиатуру ППЗСИ. Объясните принцип работы.
Какой ресурс работы у ВЛИ, ЖКИ и ППЗСИ?
Что такое матричная клавиатура?
Опишите принцип работы и достоинства клавиатуры с использованием АЦП.
89
ПРИЛОЖЕНИЯ
Приложение А
(справочное)
Машинные коды команд ОЭВМ КМ1816ВЕ51
Младшая тетрада
3
4
0
1
2
5
6
7
0
NOP
AJMP
0XXH
LJMP
ad16
RR A
INC A
INC ad
INC
@R0
INC
@R1
1
JBC
bit,rel
ACALL
0XXH
LCALL
ad16
RRC A
DEC A
DEC ad
DEC
@R0
DEC
@R1
2
JB
bit,rel
AJMP
1XXH
RET
RL A
ADD
A,#d
ADD
A,ad
ADD
A,@R0
ADD
A,@R1
3
JNB
bit,rel
ACALL
1XXH
RETI
RLC A
ADDC
A,#d
ADDC
A,ad
ADDC
A,@R0
ADDC
A,@R1
4
JC rel
AJMP
2XXH
ORL
ad,A
ORL
ad,#d
ORL
A,#d
ORL
A,ad
ORL
A,@R0
ORL
A,@R1
5
JNC rel
ACALL
2XXH
ANL
ad,A
ANL
ad,#d
ANL
A,#d
ANL
A,ad
ANL
A,@R0
ANL
A,@R1
6
JZ rel
AJMP
3XXH
XRL
ad,A
XRL
ad,#d
XRL
A,#d
XRL
A,ad
XRL
A,@R0
XRL
A,@R1
7
JNZ rel
ACALL
3XXH
ORL
C,bit
JMP @A
+DPTR
MOV
A,#d
MOV
ad,#d
MOV
@R0,#d
MOV
@R1,#d
8
SJMP
rel
AJMP
4XXH
ANL
C,bit
MOVC
DIV AB
A,@A+PC
MOV
add,ads
MOV
ad,@R0
MOV
ad,@R1
MOV
ACALL
4XXH
MOV
bit,C
A,@A+DPTR
SUBB
A,#d
SUBB
A,ad
SUBB
A,@R0
SUBB
A,@R1
MOV
@R0,ad
MOV
@R1,ad
9
DPTR,#d1
6
MOVC
A
ORL
C,/bit
AJMP
5XXH
MOV
C,bit
INC
DPTR
MUL
AB
B
ANL
C,/bit
ACALL
5XXH
CPL bit
CPL C
CJNE
A,#d, rel
CJNE
ad,#d,rel
PUSH
ad
AJMP
6XXH
CLR bit
CLR C
SWAP A
D POP ad
ACALL
6XXH
SETB
bit
SETB C
E MOVX
AJMP
7XXH
MOVX
A,@R0
@DPTR,A
ACALL
7XXH
0
1
C
A,@DPTR
F
MOVX
CJNE
CJNE
@R0,#d,re
l
@R1,#d,re
l
XCH
A,ad
XCH
A,@R0
XCH
A,@R1
DA A
DJNZ
ad,rel
XCHD
A,@R0
XCHD
A,@R1
MOVX
A,@R1
CLR A
MOV
A,ad
MOV
A,@R0
MOV
A,@R1
MOVX
@R0,A
MOVX
@R1,A
CPL A
MOV
ad,A
MOV
@R0,A
MOV
@R1,A
2
3
4
5
6
7
90
Младшая тетрада
B
C
8
9
A
D
E
F
INC R0
INC R1
INC R2
INC R3
INC R4
INC R5
INC R6
INC R7
0
DEC R0
DEC R1
DEC R2
DEC R3
DEC R4
DEC R5
DEC R6
DEC R7
1
ADD
A,R0
ADD
A,R1
ADD
A,R2
ADD
A,R3
ADD
A,R4
ADD
A,R5
ADD
A,R6
ADD
A,R7
2
ADDC
A,R0
ADDC
A,R1
ADDC
A,R2
ADDC
A,R3
ADDC
A,R4
ADDC
A,R5
ADDC
A,R6
ADDC
A,R7
3
ORL
A,R0
ORL
A,R1
ORL
A,R2
ORL
A,R3
ORL
A,R4
ORL
A,R5
ORL
A,R6
ORL
A,R7
4
ANL
A,R0
ANL
A,R1
ANL
A,R2
ANL
A,R3
ANL
A,R4
ANL
A,R5
ANL
A,R6
ANL
A,R7
5
XRL
A,R0
XRL
A,R1
XRL
A,R2
XRL
A,R3
XRL
A,R4
XRL
A,R5
XRL
A,R6
XRL
A,R7
6
MOV
R0,#d
MOV
R1,#d
MOV
R2,#d
MOV
R3,#d
MOV
R4,#d
MOV
R5,#d
MOV
R6,#d
MOV
R7,#d
7
MOV
ad,R0
MOV
ad,R1
MOV
ad,R2
MOV
ad,R3
MOV
ad,R4
MOV
ad,R5
MOV
ad,R6
MOV
ad,R7
8
SUBB
A,R0
SUBB
A,R1
SUBB
A,R2
SUBB
A,R3
SUBB
A,R4
SUBB
A,R5
SUBB
A,R6
SUBB
A,R7
9
MOV
R0,ad
MOV
R1,ad
MOV
R2,ad
MOV
R3,ad
MOV
R4,ad
MOV
R5,ad
MOV
R6,ad
MOV
R7,ad
A
B
CJNE
CJNE
CJNE
CJNE
CJNE
CJNE
CJNE
CJNE
R0,#d, rel
R1,#d, rel
R2,#d, rel
R3,#d, rel
R4,#d,rel
R5,#d, rel
R6,#d rel
R7,#d, rel
XCH
A,R0
XCH
A,R1
XCH
A,R2
XCH
A,R3
XCH
A,R4
XCH
A,R5
XCH
A,R6
XCH
A,R7
C
DJNZ
R0,rel
DJNZ
R1,rel
DJNZ
R2,rel
DJNZ
R3,rel
DJNZ
R4,re
DJNZ
R5,rel
DJNZ
R6,re
DJNZ
R7,rel
D
MOV
A,R0
MOV
A,R1
MOV
A,R2
MOV
A,R3
MOV
A,R4
MOV
A,R5
MOV
A,R6
MOV
A,R7
E
MOV
R0,A
MOV
R1,A
MOV
R2,A
MOV
R3,A
MOV
R4,A
MOV
R5,A
MOV
R6,A
MOV
R7,A
F
8
9
A
B
C
D
E
F
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
Приложение Б
(справочное)
Список команд ОЭВМ КМ1816ВЕ51
ОПЕРА
ЦИЯ
ГРУППА КОМАНД ПЕРЕДАЧИ ДАННЫХ
MOV @RI,#D
ПЕРЕСЫЛКА В РПД
КОНСТАНТЫ
2 1
MOV @RI,A
ПЕРЕСЫЛКА В РПД БАЙТА
ИЗ АККУМУЛЯТОРА
1 1
((RI))
#D
((RI))
(А)
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
91
MOV
@RI,AD
ПЕРЕСЫЛКА В РПД
БАЙТА, ВЗЯТОГО ПО
АДРЕСУ AD
2 2
MOV A,#D
ЗАГРУЗКА В
АККУМУЛЯТОР
КОНСТАНТЫ
2 1
MOV A,@RI
ПЕРЕСЫЛКА В
АККУМУЛЯТОР БАЙТА ИЗ
РПД (I=1,2)
1 1
MOV A,AD
ПЕРЕСЫЛКА В
АККУМУЛЯТОР БАЙТА С
АДРЕСА AD
2 1
MOV A,RN
ПЕРЕСЫЛКА В
АККУМУЛЯТОР БАЙТА ИЗ
РЕГИСТРА (N=07)
1 1
MOV AD,#D
ПЕРЕСЫЛКА ПО
ПРЯМОМУ АДРЕСУ
КОНСТАНТЫ
3 2
MOV
AD,@RI
ПЕРЕСЫЛКА ПО
ПРЯМОМУ АДРЕСУ
БАЙТА ИЗ РПД
2 2
MOV AD,A
ПЕРЕСЫЛКА ПО
ПРЯМОМУ АДРЕСУ
АККУМУЛЯТОРА
2 1
MOV AD,RN
ПЕРЕСЫЛКА ПО
ПРЯМОМУ АДРЕСУ
РЕГИСТРА (N=07)
2 2
MOV
ADD,ADS
ПЕРЕСЫЛКА
ПРЯМОАДРЕСУЕМОГО
БАЙТА ПО ПРЯМОМУ
АДРЕСУ
3 2
MOV
DPTR,#D16
ЗАГРУЗКА УКАЗАТЕЛЯ
ДАННЫХ
3 2
ОПЕРА
ЦИЯ
((RI))
(AD)
(А)#
D
(А)((
RI))
(А)(A
D)
(А)(R
N)
(AD)
#D
(AD)(
(RI))
(AD)(
А)
(AD)(
RN)
(ADD)
(ADS
)
(DPTR)
#D16
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
92
MOV RN,#D
ЗАГРУЗКА В РЕГИСТР
(N=07) КОНСТАНТЫ
2 1
MOV RN,A
ПЕРЕСЫЛКА В РЕГИСТР
(N=07) БАЙТА ИЗ
АККУМУЛЯТОРА
1 1
MOV RN,AD
ПЕРЕСЫЛКА В РЕГИСТР
(N=07)
ПРЯМОАДРЕСУЕМОГО
БАЙТА
2 2
MOVC
A,@A+DPTR
ПЕРЕСЫЛКА В
АККУМУЛЯТОР БАЙТА ИЗ
ПП
1 2
MOVC
A,@A+PC
ПЕРЕСЫЛКА В
АККУМУЛЯТОР БАЙТА ИЗ
ПП
1 2
MOVX
@DPTR,A
ПЕРЕСЫЛКА В
РАСШИРЕННУЮ ВПД ИЗ
АККУМУЛЯТОРА
1 2
MOVX
A,@DPTR
ПЕРЕСЫЛКА В
АККУМУЛЯТОР БАЙТА ИЗ
РАСШИРЕННОЙ ВПД
1 2
MOVX
@RI,A
ПЕРЕСЫЛКА В ВПД ИЗ
АККУМУЛЯТОРА
1 2
MOVX
A,@RI
ПЕРЕСЫЛКА В
АККУМУЛЯТОР БАЙТА ИЗ
ВПД
1 2
ОПЕРА
ЦИЯ
(RN)
#D
(RN)(
А)
(RN)(
AD)
(А)((
А)+(DP
TR))
(А)((
А)
+(PC))
((DPTR
))(А)
(А)((
DPTR))
((RI))
(А)
(А)((
RI))
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
93
POP AD
ИЗВЛЕЧЬ ИЗ СТЕКА
2 2
PUSH AD
ЗАГРУЗИТЬ В СТЕК
2 2
XCH A,@RI
ОБМЕН АККУМУЛЯТОРА
С БАЙТОМ ИЗ РПД
1 1
XCH A,AD
ОБМЕН АККУМУЛЯТОРА
С ПРЯМОАДРЕСУЕМЫМ
БАЙТОМ
2 1
XCH A,RN
ОБМЕН АККУМУЛЯТОРА
С РЕГИСТРОМ
1 1
XCHD A,@RI
ОБМЕНЯТЬ МЛ. ТЕТРАДУ
АККУМУЛЯТОРА С МЛ.
ТЕТРАДОЙ БАЙТА РПД
1 1
SWAP A
ОБМЕНЯТЬ ТЕТРАДЫ В
АККУМУЛЯТОРЕ
1 1
ОПЕРА
ЦИЯ
(AD)(
(SP))
(SP)(
SP)-1
(SP)(
SP)+1
((SP))
(AD)
(А)((
RI))
(А)(
AD)
(А)(R
N)
(А03)((RI
)0-3)
(А03)(А47)
ГРУППА АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ
ADD A,#D
СЛОЖИТЬ
АККУМУЛЯТОР С
КОНСТАНТОЙ
2 1
(А)(А
)+#D
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
94
ADD A,@RI
СЛОЖИТЬ
АККУМУЛЯТОР С
БАЙТОМ ИЗ РПД (I=0,1)
1 1
ADD A,AD
СЛОЖИТЬ
АККУМУЛЯТОР С
БАЙТОМ ПО АДРЕСУ AD
2 1
ADD A,RN
СЛОЖИТЬ
АККУМУЛЯТОР С
РЕГИСТРОМ
1 1
ADDC A,#D
СЛОЖИТЬ
АККУМУЛЯТОР С
КОНСТАНТОЙ И
ПЕРЕНОСОМ
2 1
ADDC A,@RI
СЛОЖИТЬ
АККУМУЛЯТОР С
БАЙТОМ ИЗ РПД (I=0,1) И
ПЕРЕНОСОМ
1 1
ADDC A,AD
СЛОЖИТЬ
АККУМУЛЯТОР С
БАЙТОМ ПО АДРЕСУ AD И
ПЕРЕНОСОМ
2 1
ADDC A,RN
СЛОЖИТЬ
АККУМУЛЯТОР С
РЕГИСТРОМ (N=07) И
ПЕРЕНОСОМ
1 1
DA A
ДЕСЯТИЧНАЯ
КОРРЕКЦИЯ
АККУМУЛЯТОРА
1 1
SUBB A,#D
ВЫЧЕСТЬ ИЗ
АККУМУЛЯТОРА
КОНСТАНТУ И ЗАЕМ
2 1
ОПЕРА
ЦИЯ
(А)(А
)+((RI))
(А)(А
)+(AD)
(А)(А
)+(RN)
(А)(А
)+#D+(
C)
(А)(А
)+((RI))
+(C)
(А)(А
)+(AD)
+(C)
(А)(А
)+(RN)+
(C)
(А)(А
)-#D(C)
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
95
SUBB A,@RI
ВЫЧЕСТЬ ИЗ
АККУМУЛЯТОРА БАЙТ ИЗ
РПД (I=0,1) И ЗАЕМ
1 1
SUBB A,AD
ВЫЧЕСТЬ ИЗ
АККУМУЛЯТОРА БАЙТ
ПО АДРЕСУ AD И ЗАЕМ
2 1
SUBB A,RN
ВЫЧЕСТЬ ИЗ
АККУМУЛЯТОРА
РЕГИСТР (N=07) И ЗАЕМ
1 1
INC @RI
ИНКРЕМЕНТ БАЙТА В РПД
1 1
INC A
ИНКРЕМЕНТ
АККУМУЛЯТОРА
1 1
INC AD
ИНКРЕМЕНТ БАЙТА ПО
АДР. AD
2 1
INC DPTR
ИНКРЕМЕНТ УКАЗАТЕЛЯ
ДАННЫХ
1 2
INC RN
ИНКРЕМЕНТ РЕГИСТРА
1 1
DEC @RI
ДЕКРЕМЕНТ БАЙТА В РПД
1 1
ОПЕРА
ЦИЯ
(А)(А
)-((RI))(C)
(А)(А
)-(AD)(C)
(А)(А
)-(RN)(C)
((RI))
((RI))+1
(А)(А
)+1
(AD)(
AD)+1
(DPTR)
(DPT
R)+1
(RN)(
RN)+1
((RI))
((RI))-1
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
96
DEC A
ДЕКРЕМЕНТ
АККУМУЛЯТОРА
1 1
DEC AD
ДЕКРЕМЕНТ БАЙТА ПО
АДРЕСУ AD
2 1
DEC RN
ДЕКРЕМЕНТ РЕГИСТРА
1 1
MUL AB
УМНОЖЕНИЕ
АККУМУЛЯТОРА НА
РЕГИСТР B
1 4
DIV AB
ДЕЛЕНИЕ
АККУМУЛЯТОРА НА
РЕГИСТР B
1 4
ОПЕРА
ЦИЯ
(А)(А
)-1
(AD)(
AD)-1
(RN)(
RN)-1
(B)(A)
(A)·(
B)
(A).(B)
(A)/(
B)
ГРУППА ЛОГИЧЕСКИХ ОПЕРАЦИЙ
ANL A,#D
ЛОГИЧЕСКОЕ И БАЙТА ИЗ
АККУМУЛЯТОРА С
КОНСТАНТОЙ
2 1
ANL A,@RI
ЛОГИЧЕСКОЕ И
АККУМУЛЯТОРА С
БАЙТОМ ИЗ РПД (I=0,1)
1 1
ANL A,AD
ЛОГИЧЕСКОЕ И
АККУМУЛЯТОРА С
БАЙТОМ ПО АДРЕСУ AD
2 1
ANL A,RN
ЛОГИЧЕСКОЕ И
АККУМУЛЯТОРА С
РЕГИСТРОМ (N=07)
1 1
(А)(А
)#D
(А)(А
)((RI))
(А)(А
)(AD)
(А)(А
)(RN)
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
97
ANL AD,#D
ЛОГИЧЕСКОЕ И БАЙТА
ПО АДРЕСУ AD С
КОНСТАНТОЙ
3 2
ANL AD,A
ЛОГИЧЕСКОЕ И БАЙТА
ПО АДРЕСУ AD С
АККУМУЛЯТОРОМ
2 1
ORL A,#D
ЛОГИЧЕСКОЕ ИЛИ
АККУМУЛЯТОРА С
КОНСТАНТОЙ
2 1
ORL A,@RI
ЛОГИЧЕСКОЕ ИЛИ
АККУМУЛЯТОРА С
БАЙТОМ ИЗ РПД (I=0,1)
1 1
ORL A,AD
ЛОГИЧЕСКОЕ ИЛИ
АККУМУЛЯТОРА С
БАЙТОМ ПО АДРЕСУ AD
2 1
ORL A,RN
ЛОГИЧЕСКОЕ ИЛИ
АККУМУЛЯТОРА С
РЕГИСТРОМ (N=07)
1 1
ORL AD,#D
ЛОГИЧЕСКОЕ ИЛИ БАЙТА
ПО АДРЕСУ AD С
КОНСТАНТОЙ
3 2
ORL AD,A
ЛОГИЧЕСКОЕ ИЛИ БАЙТА
ПО АДРЕСУ AD С
АККУМУЛЯТОРОМ
2 1
XRL A,#D
ИСКЛЮЧАЮЩЕЕ ИЛИ
АККУМУЛЯТОРА С
КОНСТАНТОЙ
2 1
ОПЕРА
ЦИЯ
(AD)(
AD)#
D
(AD)(
AD)(А
)
(А)(А
)#D
(А)(А
)((RI))
(А)(А
)(AD)
(А)(А
)(RN)
(AD)(
AD)#
D
(AD)(
AD)(А
)
(А)(А
)#D
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
98
XRL A,@RI
ИСКЛЮЧАЮЩЕЕ ИЛИ
АККУМУЛЯТОРА С
БАЙТОМ ИЗ РПД (I=0,1)
1 1
XRL A,AD
ИСКЛЮЧАЮЩЕЕ ИЛИ
АККУМУЛЯТОРА С
БАЙТОМ ПО АДРЕСУ AD
2 1
XRL A,RN
ИСКЛЮЧАЮЩЕЕ ИЛИ
АККУМУЛЯТОРА С
РЕГИСТРОМ (N=07)
1 1
XRL AD,#D
ИСКЛЮЧАЮЩЕЕ ИЛИ
БАЙТА ПО АДРЕСУ AD С
КОНСТАНТОЙ
3 2
XRL AD,A
ИСКЛЮЧАЮЩЕЕ ИЛИ
БАЙТА ПО АДРЕСУ AD С
АККУМУЛЯТОРОМ
2 1
CLR A
СБРОС АККУМУЛЯТОРА
1 1
CPL A
ИНВЕРСИЯ
АККУМУЛЯТОРА
1 1
RL A
СДВИГ АККУМУЛЯТОРА
ВЛЕВО ПО ЦИКЛУ
1 1
ОПЕРА
ЦИЯ
(А)(А
)((RI))
(А)(А
)(AD)
(А)(А
)(RN)
(AD)(
AD)#
D
(AD)(
AD)(
А)
(А)0
(А)( A
)
(АN+1)
(АN),
N=06
(А0)(
А7)
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
99
RR A
СДВИГ АККУМУЛЯТОРА
ВПРАВО ПО ЦИКЛУ
1 1
RLC A
СДВИГ АККУМУЛЯТОРА
ВЛЕВО ЧЕРЕЗ ПЕРЕНОС
1 1
RRC A
СДВИГ АККУМУЛЯТОРА
ВПРАВО ЧЕРЕЗ ПЕРЕНОС
1 1
ОПЕРА
ЦИЯ
(АN)(
АN+1),
N=06
(А7)(
А0)
(АN+1)
(АN),
N=06
(А0)(
C)
(C)(А
7)
(АN)(
АN+1),
N=06
(А7)(
C)
(C)(А
0)
ГРУППА БИТОВЫХ ОПЕРАЦИЙ
MOV BIT,C
ПЕРЕСЫЛКА РАЗРЯДА
ПЕРЕНОСА В БИТ
2 2
(B)(C
)
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
100
MOV C,BIT
ПЕРЕСЫЛКА БИТА В
РАЗРЯД ПЕРЕНОСА
2 1
ANL C,BIT
ЛОГИЧЕСКОЕ И БИТА И
ПЕРЕНОСА
2 2
ANL C,/BIT
ЛОГИЧЕСКОЕ И
ИНВЕРСИИ БИТА И
ПЕРЕНОСА
2 2
ORL C,BIT
ЛОГИЧЕСКОЕ ИЛИ БИТА
И ПЕРЕНОСА
2 2
ORL C,/BIT
ЛОГИЧЕСКОЕ ИЛИ
ИНВЕРСИИ БИТА И
ПЕРЕНОСА
2 2
CLR BIT
СБРОС БИТА
2 1
CLR C
СБРОС ПЕРЕНОСА
1 1
SETB BIT
УСТАНОВКА БИТА
2 1
SETB C
УСТАНОВКА ПЕРЕНОСА
1 1
CPL BIT
ИНВЕРСИЯ БИТА
2 1
CPL C
ИНВЕРСИЯ ПЕРЕНОСА
1 1
ОПЕРА
ЦИЯ
(C)(B
)
(C)(C
)(B)
(C)(C
)( b )
(C)(C
)(B)
(C)(C
)( b )
(B)0
(C)0
(B)1
(C)1
(B)( b )
(C)( C
)
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
101
ОПЕРА
ЦИЯ
ГРУППА КОМАНД ПЕРЕДАЧИ УПРАВЛЕНИЯ
LCALL AD16
ДЛИННЫЙ ВЫЗОВ
ПРОГРАММЫ
3 2
ACALL
AD11
АБСОЛЮТНЫЙ ВЫЗОВ
ПОДПРОГРАММЫ В
СТРАНИЦЕ 2 КБАЙТА
2 2
(PC)(
PC)+3,
(SP)(
SP)+2,
(SP1)(PC
0-7),
(SP)(
PC8-15),
(PC)
AD16
(PC)(
PC)+2,
(SP)(
SP)+2,
(SP1)(PC
0-7),
(SP)(
PC8-15),
(PC010)AD
11
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
102
LJMP AD16
ДЛИННЫЙ ПЕРЕХОД
3 2
AJMP AD11
АБСОЛЮТНЫЙ ПЕРЕХОД
В СТРАНИЦЕ РАЗМЕРОМ 2
КБАЙТ
2 2
SJMP REL
КОРОТКИЙ
ОТНОСИТЕЛЬНЫЙ
ПЕРЕХОД
2 2
CJNE
A,AD,REL
СРАВНЕНИЕ
АККУМУЛЯТОРА С
БАЙТОМ ПО АДРЕСУ AD И
ПЕРЕХОД, ЕСЛИ НЕ
РАВНО
3 2
ОПЕРА
ЦИЯ
(PC)
AD16
(PC010)AD
11
(PC)(
PC)+2+
REL
(PC)(
PC)+3,
ЕСЛИ
(А)(A
D), ТО
(PC)(
PC)+RE
L
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
103
CJNE
@RI,#D,REL
СРАВНЕНИЕ БАЙТА ИЗ
РПД С КОНСТАНТОЙ И
ПЕРЕХОД, ЕСЛИ НЕ
РАВНО
3 2
CJNE
A,#D,REL
СРАВНЕНИЕ
АККУМУЛЯТОРА С
КОНСТАНТОЙ И
ПЕРЕХОД, ЕСЛИ НЕ
РАВНО
3 2
ОПЕРА
ЦИЯ
(PC)(
PC)+3,
ЕСЛИ
((RI))#
D, ТО
(PC)(
PC)+RE
L
(PC)(
PC)+3,
ЕСЛИ
(А)#D,
ТО
(PC)(
PC)+RE
L
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
104
CJNE
RN,#D,REL
СРАВНЕНИЕ РЕГИСТРА С
КОНСТАНТОЙ И
ПЕРЕХОД, ЕСЛИ НЕ
РАВНО
3 2
DJNZ
AD,REL
ДЕКРЕМЕНТ БАЙТА ПО
АДРЕСУ AD И ПЕРЕХОД,
ЕСЛИ НЕ НУЛЬ
3 2
ОПЕРА
ЦИЯ
(PC)(
PC)+3,
ЕСЛИ
(RN)#
D, ТО
(PC)(
PC)+RE
L
(PC)(
PC)+2,
(AD)(
AD)-1,
ЕСЛИ
(AD)0,
ТО
(PC)(
PC)+RE
L
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
105
DJNZ
RN,REL
ДЕКРЕМЕНТ РЕГИСТРА И
ПЕРЕХОД, ЕСЛИ НЕ НУЛЬ
2 2
JB BIT,REL
ПЕРЕХОД, ЕСЛИ БИТ
РАВЕН ЕДИНИЦЕ
3 2
МНЕМОКОД
ОПЕРА
ЦИЯ
(PC)(
PC)+2,
(RN)(
RN)-1,
ЕСЛИ
(RN)0,
ТО
(PC)(
PC)+RE
L
(PC)(
PC)+3,
ЕСЛИ
(B)=1,
ТО
(PC)(
PC)+RE
L
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
106
JBC BIT,REL
ПЕРЕХОД, ЕСЛИ БИТ
УСТАНОВЛЕН, С
ПОСЛЕДУЮЩИМ
СБРОСОМ БИТА
3 2
JC REL
ПЕРЕХОД, ЕСЛИ ПЕРЕНОС
РАВЕН ЕДИНИЦЕ
2 2
JMP
@A+DPTR
КОСВЕННЫЙ
ОТНОСИТЕЛЬНЫЙ
ПЕРЕХОД
1 2
ОПЕРА
ЦИЯ
(PC)(
PC)+3,
ЕСЛИ
(B)=1,
ТО
(B)0,
(PC)(
PC)+RE
L
(PC)(
PC)+2,
ЕСЛИ
(C)=1,
ТО
(PC)(
PC)+RE
L
(PC)(
А)+(DP
TR)
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
107
JNB BIT,REL
ПЕРЕХОД, ЕСЛИ БИТ
РАВЕН НУЛЮ
3 2
JNC REL
ПЕРЕХОД, ЕСЛИ ПЕРЕНОС
РАВЕН НУЛЮ
2 2
ОПЕРА
ЦИЯ
(PC)(
PC)+3,
ЕСЛИ
(B)=0,
ТО
(PC)(
PC)+RE
L
(PC)(
PC)+2,
ЕСЛИ
(C)=0,
ТО
(PC)(
PC)+RE
L
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
108
JNZ REL
ПЕРЕХОД, ЕСЛИ
АККУМУЛЯТОР НЕ РАВЕН
НУЛЮ
2 2
JZ REL
ПЕРЕХОД, ЕСЛИ
АККУМУЛЯТОР РАВЕН
НУЛЮ
2 2
МНЕМОКОД
ОПЕРА
ЦИЯ
(PC)(
PC)+2,
ЕСЛИ
(А)0,
ТО
(PC)(
PC)+RE
L
(PC)(
PC)+2,
ЕСЛИ
(А)=0,
ТО
(PC)(
PC)+RE
L
МНЕМОКОД
НАЗВАНИЕ
БАЙТЫ
ЦИКЛЫ
109
RET
ВОЗВРАТ ИЗ
ПОДПРОГРАММЫ
1 2
RETI
ВОЗВРАТ ИЗ
ПОДПРОГРАММЫ
ОБРАБОТКИ
ПРЕРЫВАНИЯ
1 2
NOP
НЕТ ОПЕРАЦИИ
1 1
ОПЕРА
ЦИЯ
(PC815)((S
P))
(PC07)((SP
)-1)
(SP)(
SP)-2
(PC815)((S
P))
(PC07)((SP
)-1)
(SP)(
SP)-2
(PC)(
PC)+1
Рекомендуемая литература
1. Микроконтроллеры для бытовой аппаратуры: Микроконтроллеры для видео- и радиотехники. Вып.1.
- М.: Издательский дом «Додэка», 2001. – 208 с.
2. Интегральные микросхемы: Микросхемы для телевидения и видеотехники. Вып. 2. - М.: ДОДЭКА,
1995. - 304 с.
3. Интегральные микросхемы: Микросхемы для телевидения и видеотехники. Вып. 1. - М.: ДОДЭКА,
1993. - 314 с.
110
4. Проектирование цифровых устройств на однокристальных микроконтроллерах / В.В. Сташин, А.В.
Урусов, О.Ф. Мологонцева. -М.: Энергоатомиздат, 1990. - 224 с.
5. Однокристальный микроконтроллер семейства MCS-51 фирмы INTEL 8XC51GB. - Томск: ТОО
«SDD», 1995. - 126 с.
6. Мартышевский Ю.В., Кормилин В.А. Лабораторный практикум по микропроцессорам. - Томск:
ТУСУР, 1998. - 123 с.
7. Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов. - М.:
Радио и связь, 1988. - 366 с.
8. Каган Б.М., Сташин Б.М., Сташин В.В. Основы проектирования микропроцессорных устройств
автоматики. - М.: Энергоатомиздат, 1987. - 306 с.
9. Алексеенко А.Г., Галицин А.А. Проектирование радиоэлектронной аппаратуры на
микропроцессорах. - М.: Радио и связь, 1984.  262 с.
10. Кофрон Д.Ж. Технические средства микропроцессорных систем. - М.: Мир, 1983.  342 с.
11. Грибов Г.В., Ю-Ч. Лю. Аппаратные и программные средства микро-ЭВМ. - М.: Финансы и
статистика, 1983.  254 с.
12. Шевкопляс Б.П. Микропроцессорные структуры - М.: Радио и связь, 1986.  263 с.
13. Пароль Н.В., Кайдалов С.А. Знакосинтезирующие индикаторы и их применение. - М.: Радио и
связь, 1988.  128 с.
14. Згурский В.С., Лисицын Б.Л. Элементы индикации. Справочник. - М.: Энергия, 1980. - 304 с.
15. Како Н., Яманэ Я. Датчики и микро-ЭВМ. - Л.: Энергоатомиздат. Ленингр. Отд-ние, 1986. - 120 с.
Download