Значения всех флагов изменяются командой IRET при восстановлении из стека состояния флагового регистра. Команды WDH и WDT устанавливают флаги Z, S и V в неопределенное состояние. Команда SWAP устанавливает в неопределенное состояние флаги C и V.
1.3.3. Набор команд
Команды микроконтроллеров Z8 функционально могут быть разделены на восемь групп:
— команды загрузки;
— арифметические команды;
— логические команды;
— команды управления программой;
— команды манипуляции битами;
— команды пересылки блоков;
— команды сдвигов;
— команды управления процессором.
1.3.3.1. Описание системы команд
В табл.1.8 приведено краткое описание системы команд микроконтроллеров, причем для каждой команды дано мнемоническое обозначение, принятое в языке ассемблера, указан состав операндов и смысл команды на английском языке ( для понимания происхождения мнемоники как аббревиатуры ) и на русском языке. Аббревиатура “сс” в колонке операндов команд управления программой означает код условия ( condition ), а аббревиатура “r”— любой регистр из рабочей группы ( register ).
Таблица 1.8. Краткое описание системы команд микроконтроллера Z8
Мнемоника | Операнды | Наименование команды | ||||
Английский язык | Русский язык | |||||
КОМАНДЫ ЗАГРУЗКИ | ||||||
CLRLD LDC LDE POP PUSH | dstdst,src dst,src dst,src dst src | ClearLoad Load Constant Load External Data Pop Push | ОчиститьЗагрузить Загрузить константу Загрузить внешние данныеИзвлечь из стека Загрузить в стек | |||
АРИФМЕТИЧЕСКИЕ КОМАНДЫ | ||||||
ADCADD CP DA DEC DECW INC INCW SBC SUB | dst,srcdst,src dst,src dst dst dst dst dst dst,src dst,src | Add with Carry Add Compare Decimal Adjust Decrement Decrement Word Increment Increment Word Subtract with Carry Subtract | Сложить с переносом Сложить Сравнить Десятичная коррекция Декремент Декремент слова Инкремент Инкремент слова Вычесть с заемом Вычесть | |||
ЛОГИЧЕСКИЕ КОМАНДЫ | ||||||
AND COM OR XOR | dst,src dst dst,src dst,src | Logical ANDComplement Logical OR Logical EXCLUSIVE OR | Логическое И Дополнение ( НЕ ) Логическое ИЛИ Исключающее ИЛИ | |||
КОМАНДЫ УПРАВЛЕНИЯ ПРОГРАММОЙ | ||||||
CALLDJNZ IRET JP JR RET | dst r,dst cc,dst cc,dst | Call Procedure Decrement and Jump Non Zero Interrupt Return Jump Jump Relative Return | Вызов подпрограммы Декремент и переход, если не нуль Возврат из прерывания Переход Переход относительный Возврат из подпрограммы | |||
КОМАНДЫ МАНИПУЛЯЦИИ БИТАМИ | ||||||
TCM TMANDORXOR | dst,src dst,srcdst,srcdst,srcdst,src | Test Complement Under MaskTest Under MaskBit ClearBit SetBit Complement | Проверить дополнение с маскойПроверить с маскойОчистить битыУстановить битыДополнить биты | |||
КОМАНДЫ ПЕРЕСЫЛКИ БЛОКОВ | ||||||
LDCI LDEI | dst,src dst,src | Load Constant Autoincrement Load External Data Autoincrement | Загрузить константу с автоинкрементомЗагрузить внешние данныес автоинкрементом | |||
КОМАНДЫ СДВИГОВ | ||||||
RL RLC RR RRC SRA SWAP | dst dst dst dst dst dst | Rotate Left Rotate Left Through Carry Rotate Right Rotate Right Through Carry Shift Right ArithmeticSwap Nibbles | Циклический влево Циклический влево через перенос Циклический вправо Циклический вправо через перенос Арифметический вправо Свопинг полубайтов | |||
КОМАНДЫ УПРАВЛЕНИЯ ПРОЦЕССОРОМ | ||||||
CCF DI EI HALT NOP RCF SCF SRP STOP WDH WDT | src | Complement Carry Flag Disable Interrupts Enable Interrupts Halt No Operation Reset Carry Flag Set Carry Flag Set Register Pointer Stop WDT Enable During HALT WDT Enable or Refresh | Дополнить флаг переноса Запретить прерывания Разрешить прерывания Переход в режим HALT Нет операции Сбросить флаг переноса Установить флаг переносаУстановить указатель регистров Переход в режим STOP Разрешение сторожевого таймера в режиме HALT Разрешение или переза- пись сторожевого таймера |
1.3.3.2. Условия ветвления программы
Команды переходов JP и JR обеспечивают ветвление программы по различным условиям. В качестве условий используются состояния флагов C,Z,S и V, а также их логические функции. Набор допустимых для языка ассемблера условий с указанием мнемонического обозначения (cc), значения, соответствующего состояния флагов и шестнадцатеричного кода условия приведен в табл.1.9. Набор условий предусматривает ветвление по состояниям отдельных флагов, а также по всем возможным соотношениям между целыми числами со знаком и между беззнаковыми целыми числами.
Таблица 1.9. Мнемоника условий (cc) и цифра КОП (c)
cc | Значение | Состояние флагов | c |
F | Всегда ложно | — | 0 |
Всегда истинно | — | 8 | |
C | Есть перенос | C=1 | 7 |
NC | Нет переноса | C=0 | F |
Z | Есть нуль | Z=1 | 6 |
NZ | Нет нуля | Z=0 | E |
PL | Положительно | S=0 | D |
MI | Отрицательно | S=1 | 5 |
OV | Переполнение | V=1 | 4 |
NOV | Нет переполнения | V=0 | C |
EQ | Равно | Z=1 | 6 |
NE | Не равно | Z=0 | E |
GE | Больше или равно | (S xor V)=0 | 9 |
LT | Меньше | (S xor V)=1 | 1 |
GT | Больше | (Z or (S xor V))=0 | A |
LE | Меньше или равно | (Z or (S xor V))=1 | 2 |
UGE | Б/з больше или равно | C=0 | F |
ULT | Б/з меньше | C=1 | 7 |
UGT | Б/з больше | (C=0 and Z=0)=1 | B |
ULE | Б/з меньше или равно | (C or Z)=1 | 3 |
1.4. Конструктивное исполнение микроконтроллеров Z8
Микроконтроллеры широкого применения Z8 выпускаются в различном конструктивном исполнении. Наиболее дешевым и удобным для большинства применений является корпус типа DIP ( Dual In Line Package ). Схема расположения выводов МК для корпусов этого типа показана на рис.1.48.
Большинство моделей МК имеет также вариант исполнения в корпусе типа SOIC ( Smal Outline Package ), предназначенном для монтажа на поверхность. Модель 40 выпускается также и в квадратных 44 выводных корпусах типа PLCC ( Plastic Chip Carrier ) и QFP (Quad Flat Pack ). Модели МК 30, 31, и 40 с возможностью многократного перепрограммирования производятся в корпусах типа CerDIP Window Lid, имеющих кварцевое окно для оптического стирания.
Полное обозначение микросхемы, кроме шифра, указанного в табл.1.1, содержит дополнительно две цифры, соответствующие максимальной частоте в мегагерцах, три буквы и необязательный буквенно-цифровой код партии. Первая буква означает тип корпуса ( P —пластмассовый DIP, S- SOIC и т.п. ), вторая —температурный диапазон ( S —стандартный: 0 —700C, E -расширенный: -40 —1050C), третья —характеризует защитную оболочку от воздействия окружающей среды ( C — стандартная пластмассовая, E —стандартная герметичная ).
Например, полное обозначение МК Z86E02 может быть следующим:
Z86E0208PSC.
Рис. 1.48. Расположение выводов микроконтроллеров Z8
Для более полной информации следует обратиться к фирменным справочникам [4,5].
ЗАКЛЮЧЕНИЕ
На основе рассмотренных в настоящем пособии материалов можно заключить, что однокристальные микроконтроллеры являются перспективной элементной базой для построения устройств передачи и обработки данных. Они имеют все необходимые атрибуты для решения всех задач, возникающих при проектировании таких устройств. Прежде всего, это аппаратные средства микроконтроллеров, начиная от встроенной памяти программ и данных и кончая размещенными на кристалле периферийными устройствами, а также средствами обеспечения надежной работы в условиях помех. Разнообразие конструктивного исполнения и возможность выбора варианта с низким напряжением питания и жесткими условиями эксплуатации позволяют разработчику всегда подобрать подходящую модель микроконтроллера для своей конкретной задачи. Комплексная система команд, возможность программирования аппаратной конфигурации, режимов резервирования и низкого электромагнитного излучения позволяют при весьма ограниченных объемах встроенной памяти программ решать сложнейшие задачи применения. Фирма Zilog снабжает свои изделия подробной документацией и средствами разработки.
Рассмотренными микроконтроллерами номенклатура продуктов фирмы для устройств передачи и обработки информации не ограничивается. Фирма Zilog производит большое разнообразие микроконтроллеров Z8, микроконтроллеров для цифрового телевидения, для телефонных автоответчиков, цифровых сигнальных процессоров, контроллеров для периферийных устройств и внешней памяти персональных компьютеров, аудио и мультимедиа приборов, специальных микропроцессоров для систем связи [7].
Использование микроконтроллеров для построения устройств передачи и обработки информации позволяет не только улучшить их основные технические характеристики, такие как надежность, быстродействие, точность, массогабаритные характеристики, энергопотребление, но и получить сопровождаемую конструкцию, совершенствование функций которой можно производить без изменения конструкторской документации и перестройки производственного цикла.