Рефераты. Микроконтроллеры семейства Zilog Z86 p> Рис. 1.47. Регистр флагов FLAGS
Флаговый регистр FLAGS содержит 6 флагов состояния, информация в которых устанавливается в результате работы процессора. Четыре флага (C, V, Z, S) используются командами условного перехода. Два флага (H и D) используются командой десятичной коррекции. Оставшиеся два бита могут быть использованы как флаги пользователя (F1 и F2). Ниже подробно рассмотрено назначение каждого из основных флагов МК Z8.

1.3.2.1. Флаг переноса C (Carry Flag)
Флаг переноса устанавливается в 1, если в результате арифметической операции генерируется “перенос из” или “заем в” старший 7-ой бит результата. В противном случае флаг С очищается в 0.
В процессе выполнения команд циклического или арифметического сдвига флаг переноса С содержит последний бит, выдвинутый из указанного в команде регистра.
Команды могут устанавливать, сбрасывать или инвертировать (дополнять) флаг переноса.

1.3.2.2. Флаг нуля Z (Zero Flag)
Если в результате арифметической или логической операции получается нулевой результат, то флаг Z устанавливается в 1, в противном случае флаг Z очищается в 0.
Если результат команды проверки бита в регистре равен 00Н,0то флаг нуля устанавливается в 1, в противном случае — очищается в 0.
Если результат выполнения команды циклического или арифметического сдвига равен 00Н, флаг Z устанавливается в 1, иначе —сбрасывается в 0.

1.3.2.3. Флаг знака S (Sign Flag)
Флаг знака хранит значение старшего бита результата текущей арифметической или логической операции, операции циклического илиарифметического сдвига.
Для производства арифметических операций над числами со знаком в МК используется представление информации в дополнительном коде. Положительное число при этом идентифицируется в старшем значащем разряде и, соответственно, значение флага знака также равно 0. Отрицательное число идентифицируется 1 в старшем значащем разряде и, соответственно, флаг S также будет равен 1.

1.3.2.4. Флаг переполнения V (Overflow Flag)
Для знаковых арифметических операций, операций циклического и арифметического сдвигов флаг переполнения V устанавливается в 1, если результат больше максимально возможного положительного числа (+127) или меньше минимально возможного отрицательного числа (-128), представленного 8- битным дополнительным кодом. Флаг V устанавливается в 0, если переполнение отсутствует. В результате поразрядных логических операций флаг V всегда сбрасывается в 0.

1.3.2.5. Флаг десятичной коррекции D (Decimal Adjust Flag)
Флаг десятичной коррекции D используется для двоично-десятичной арифметики
BCD (Binary Coded Decimal). Поскольку алгоритм десятичной коррекции различен для сложения и вычитания, этот флаг сохраняет информацию о последней выполненной команде, для последующей команды десятичной коррекции
DA. После выполнения операциивычитания флаг D устанавливается в 1, а после операции сложения —очищается в 0.

1.3.2.6. Флаг полупереноса H (Half Carry Flag)
Флаг полупереноса H устанавливается в 1, когда при сложениичисел генерируется перенос из 3-его бита или при вычитании генерируется заем в 3- ий бит. Флаг H используется командой десятичной коррекции DA.
Значения всех флагов изменяются командой 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
|Мнемоник|Операнд|Наименование команды | |
|а |ы | | |
| | |Английский язык |Русский язык |
|КОМАНДЫ | | | |
|ЗАГРУЗКИ| | | |
|CLR |dst |Clear |Очистить |
|LD |dst,src|Load |Загрузить |
|LDC | |Load Constant |Загрузить константу |
|LDE |dst,src|Load External Data |Загрузить внешние данные |
|POP | |Pop |Извлечь из стека |
|PUSH |dst,src|Push |Загрузить в стек |
| | | | |
| |dst | | |
| |src | | |
|АРИФМЕТИ| | | |
|ЧЕСКИЕ | | | |
|КОМАНДЫ | | | |
|ADC |dst,src|Add with Carry |Сложить с переносом |
|ADD | |Add |Сложить |
|CP |dst,src|Compare |Сравнить |
|DA | |Decimal Adjust |Десятичная коррекция |
|DEC |dst,src|Decrement |Декремент |
|DECW | |Decrement Word |Декремент слова |
|INC |dst |Increment |Инкремент |
|INCW |dst |Increment Word |Инкремент слова |
|SBC |dst |Subtract with Carry |Вычесть с заемом |
|SUB |dst |Subtract |Вычесть |
| |dst | | |
| |dst,src| | |
| | | | |
| |dst,src| | |
|ЛОГИЧЕСК| | | |
|ИЕ | | | |
|КОМАНДЫ | | | |
|AND |dst,src|Logical AND |Логическое И |
|COM | |Complement |Дополнение ( НЕ ) |
|OR |dst |Logical OR |Логическое ИЛИ |
|XOR |dst,src|Logical EXCLUSIVE OR |Исключающее ИЛИ |
| | | | |
| |dst,src| | |
|КОМАНДЫ | | | |
|УПРАВЛЕН| | | |
|ИЯ | | | |
|ПРОГРАММ| | | |
|ОЙ | | | |
|CALL |dst |Call Procedure |Вызов подпрограммы |
|DJNZ |r,dst |Decrement and Jump |Декремент и переход, |
| | |Non Zero |если не нуль |
|IRET | |Interrupt Return |Возврат из прерывания |
|JP |cc,dst |Jump |Переход |
|JR | |Jump Relative |Переход относительный |
|RET |cc,dst |Return |Возврат из подпрограммы |
| | | | |
|КОМАНДЫ | | | |
|МАНИПУЛЯ| | | |
|ЦИИ | | | |
|БИТАМИ | | | |
|TCM |dst,src|Test Complement |Проверить дополнение |
| | |Under Mask |с маской |
|TM | |Test Under Mask |Проверить с маской |
|AND |dst,src|Bit Clear |Очистить биты |
|OR | |Bit Set |Установить биты |
|XOR |dst,src|Bit Complement |Дополнить биты |
| | | | |
| |dst,src| | |
| | | | |
| |dst,src| | |
|КОМАНДЫ | | | |
|ПЕРЕСЫЛК| | | |
|И БЛОКОВ| | | |
|LDCI |dst,src|Load Constant |Загрузить константу |
| | |Autoincrement |с автоинкрементом |
|LDEI | |Load External Data |Загрузить внешние данные |
| |dst,src|Autoincrement |с автоинкрементом |
| | | | |
|КОМАНДЫ | | | |
|СДВИГОВ | | | |
|RL |dst |Rotate Left |Циклический влево |
|RLC |dst |Rotate Left |Циклический влево |
| | |Through Carry |через перенос |
|RR |dst |Rotate Right |Циклический вправо |
|RRC |dst |Rotate Right |Циклический вправо |
| | |Through Carry |через перенос |
|SRA |dst |Shift Right Arithmetic |Арифметический вправо |
|SWAP |dst |Swap Nibbles |Свопинг полубайтов |
|КОМАНДЫ | | | |
|УПРАВЛЕН| | | |
|ИЯ | | | |
|ПРОЦЕССО| | | |
|РОМ | | | |
|CCF | |Complement Carry Flag |Дополнить флаг переноса |
|DI | |Disable Interrupts |Запретить прерывания |
|EI | |Enable Interrupts |Разрешить прерывания |
|HALT | |Halt |Переход в режим HALT |
|NOP | |No Operation |Нет операции |
|RCF | |Reset Carry Flag |Сбросить флаг переноса |
|SCF | |Set Carry Flag |Установить флаг переноса |
|SRP |src |Set Register |Установить указатель |
| | |Pointer |регистров |
|STOP | |Stop |Переход в режим STOP |
|WDH | |WDT Enable During |Разрешение сторожевого |
| | |HALT |таймера в режиме HALT |
|WDT | |WDT Enable or Refresh |Разрешение или переза- |
| | | |пись сторожевого таймера |

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].
Использование микроконтроллеров для построения устройств передачи и обработки информации позволяет не только улучшить их основные технические характеристики, такие как надежность, быстродействие, точность, массогабаритные характеристики, энергопотребление, но и получить сопровождаемую конструкцию, совершенствование функций которой можно производить без изменения конструкторской документации и перестройки производственного цикла.

ЛИТЕРАТУРА
1. Боккер П. ISDN. Цифровая сеть с интеграцией служб. Понятия, методы, системы: Пер. с нем. - М.: Радио и связь, 1991. - 304 с.
2. Embedded Control Handbook.- Microchip Technology, Inc.- 1994.
3. Z8 Microcontrollers. User's Manual.- Zilog, Inc.- 1995.
4. Discrete Z8 Microcontrollers. Databook.- Zilog, Inc.- 1994.
5. Infrared Remote Controllers. Databook.- Zilog, Inc.- 1994.
6. Superintegration Products Guide 1996-.- Zilog, Inc.- 1996.

-----------------------
[pic]

[pic]

[pic]



Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.