Мікроконтролери Z86 фірми ZILOG - Банк рефератів, творів, доповідей, курсових і

- Завантажується в стек молодший байт PC;

- Завантажується в стек старший байт PC;

-Завантажується в стек регістр прапорів FLAGS;

- Читається старший байт вектора;

- Читається молодший байт вектора;

-Вектор завантажується в PC.

Ця послідовність займає 24 такти синхронізації TpC. Найгірший час реакції на переривання можна обчислити, додавши до цього часу 2TpC для синхронізації зовнішнього запиту переривання і час виконання найдовшої команди у програмі, що переривається.

1.3. Система команд мікроконтролерів Z8

- Непряма реєстрова (Indirect Register);

Dst/src

Спосіб

Найменування

Операнд

Діапазон

Робоча реєстрова(РР)

n=0. 15

Реєстрова або РР

n=0. 15

Регістрова пара або PP пара (парне вирівнювання)

p=0. 14

Непряма РР

n=0. 15

Непряма реєстрова або непряма РР

n=0. 15

Непряма через РР пару

p=0. 14

Непряма через реєстрову пару або РР пару

p=0. 14

Індексна

Reg(Rn)

00H -FFH

Пряма

Addrs

0H -FFFFH

Відносна

-128 - +127

Безпосередня

00H -FFH

1.3.2. Прапори процесора

Прапорний регістр FLAGS (FCH) містить інформацію про поточний стан процесора. Прапори та його розташування у регістрі наведено на рис.1.47. Стан прапорового регістру після скидання є невизначеним.

zilog

Мал. 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Н, то прапор нуля встановлюється в 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

Мнемоніка

Операнди

Найменування команди

Англійська мова

українська мова

КОМАНДИ ЗАВАНТАЖЕННЯ

Load External Data

Завантажити зовнішні дані

Витягти зі стека

Завантажити у стек

АРИФМЕТИЧНІ КОМАНДИ

dst,src

Subtract with Carry

Subtract

Скласти з перенесенням

Відняти з позикою

Відняти

ЛОГІЧНІ КОМАНДИ

dst,src

Logical EXCLUSIVE OR

Виключне АБО

КОМАНДИ УПРАВЛІННЯ ПРОГРАМОЮ

Decrement and Jump

Return

Декремент та перехід,

Повернення з переривання

Повернення з підпрограми

КОМАНДИ МАНІПУЛЯЦІЇ БІТАМИ

dst,src

Test Under Mask

Bit Complement

Перевірити з маскою

Доповнити біти

КОМАНДИ ПЕРЕСИЛАННЯ БЛОКІВ

Load External Data

Autoincrement

Завантажити зовнішні дані

з автоінкрементом

КОМАНДИ Сдвигів

Shift Right Arithmetic

Swap Nibbles

Свопінг напівбайтів

КОМАНДИ УПРАВЛІННЯПРОЦЕСОРОМ

Complement Carry Flag Disable Interrupts

Reset Carry Flag

WDT Enable During

WDT Enable or Refresh

Доповнити прапор перенесення

Перехід у режим HALT

Скинути прапор перенесення

Встановити прапор перенесення

Перехід у режим STOP

таймера у режимі HALT

Дозвіл або переза-

лист сторожового таймера

1.3.3.2. Умови розгалуження програми

Команди переходів JP і JR забезпечують розгалуження програми з різних умов. Як умови використовуються стану прапорів C, Z, S і V, і навіть їх логічні функції. Набір допустимих для мови асемблера умов із зазначенням мнемонічного позначення (cc), значення відповідного стану прапорів та шістнадцяткового коду умови наведено в табл.1.9. Набір умов передбачає розгалуження за станами окремих прапорів, а також з усіх можливих співвідношень між цілими числами зі знаком та між беззнаковими цілими числами.

Таблиця 1.9. Мнемоніка умов (cc) та цифра КОП (c)

Значення

Стан прапорів

Завжди хибно

Завжди істинно

Є перенесення

Немає перенесення

Є нуль

Ні нуля

Позитивно

Негативно

Переповнення

Немає переповнення

Рівно

Не дорівнює

Більше або дорівнює

(S xor V) = 0

Менше

(S xor V) = 1

Більше

(Z or (S xor V)) = 0

Менше або дорівнює

(Z or (S xor V)) = 1

Б/з більше чи одно

Б/з менше

Б/з більше

(C=0 та Z=0)=1

Б/з менше чи одно

(C або Z) = 1

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 може бути таким:

мікроконтролери

Мал. 1.48. Розміщення висновків мікроконтролерів Z8

Для повнішої інформації слід звернутися до фірмових довідників [4,5].

На основі розглянутих у цьому посібнику матеріалів можна зробити висновок, що однокристальні мікроконтролери є перспективною елементною базою для побудови пристроїв передачі та обробки даних. Вони мають всі необхідні атрибути для вирішення всіх завдань, що виникають під час проектування таких пристроїв. Насамперед, це апаратні засоби мікроконтролерів, починаючи від вбудованої пам'яті програм іданих та закінчуючи розміщеними на кристалі периферійними пристроями, а також засобами забезпечення надійної роботи в умовах перешкод. Різноманітність конструктивного виконання та можливість вибору варіанта з низькою напругою живлення та жорсткими умовами експлуатації дозволяють розробнику завжди підібрати відповідну модель мікроконтролера для свого конкретного завдання. Комплексна система команд, можливість програмування апаратної конфігурації, режимів резервування та низького електромагнітного випромінювання дозволяють при дуже обмежених обсягах вбудованої пам'яті програм вирішувати найскладніші завдання застосування. Фірма Zilog забезпечує свої вироби детальною документацією та засобами розробки.

Використання мікроконтролерів для побудови пристроїв передачі та обробки інформації дозволяє не тільки покращити їх основні технічні характеристики, такі як надійність, швидкодія, точність, масогабаритні характеристики, енергоспоживання, але й отримати конструкцію, що вдосконалюється, вдосконалення функцій якої можна проводити без зміни конструкторської документації та перебудови виробничого циклу .