- •Міністерство освіти і науки, молоді та спорту україни
- •Методичні вказівки
- •8.05010203 «Спеціалізовані комп'ютерні системи»
- •1 Особливості мікроконтролерів серії мк51
- •1.1 Відомості про однокристальні 8-розрядні мікроконтролери сімейства мк51, їх характеристика
- •1.2 Про деякі особливості функціонування мк51
- •1.3 Функціональна схема включення мк51 із зовнішнім ппзп програм
- •1.4 Арифметико-логічний пристрій (алп). Регістр psw
- •1.5 Блок таймерів/лічильників. Регістри tmod і tcon
- •1.6 Блок послідовного інтерфейсу і переривань. Регістри scon, ip, ie
- •1.7 Порти
- •1.8 Пам'ять даних
- •1.9 Пам'ять програм
- •1.10 Блок керування. Синхронізація мк. Регістр pcon. Режими зменшеного енергоспоживання
- •1.11 Система команд mk51
- •2 Лабораторна робота №1
- •2.1 Порядок виконання лабораторної роботи
- •2.2 Короткі теоретичні відомості
- •2.3 Параметри цап
- •2.4 Приклад виконання програми цифро-аналогового перетворення
- •2.5 Завдання до лабораторної роботи
- •2.6 Контрольні питання
- •3 Лабораторна робота №2
- •3.1 Порядок виконання лабораторної роботи:
- •3.2 Короткі теоретичні відомості
- •3.3 Приклад реалізації алгоритму порозрядного врівноваження
- •3.4 Завдання до лабораторної роботи
- •3.5 Контрольні питання
- •4 Лабораторна робота № 3
- •4.1 Короткі теоретичні відомості
- •4.1.1 Підрахунок числа імпульсів між двома подіями
- •4.1.2 Підрахунок числа імпульсів за заданий проміжок часу
- •4.1.3 Формування вихідних динамічних керуючих впливів
- •4.1.4 Формування вихідних статичних сигналів керування
- •4.2 Завдання до лабораторної роботи
- •4.3 Порядок виконання лабораторних робіт із застосуванням середовища «Proteus» (demo- версія)
- •5 Лабораторна робота № 4
- •5.1 Короткі теоретичні відомості
- •5.2 Завдання до лабораторної роботи
- •Література
- •Додаток а Арифметичні операції
1.4 Арифметико-логічний пристрій (алп). Регістр psw
АЛП являє собою паралельний восьмирозрядний пристрій, що забезпечує виконання арифметичних і логічних операцій, а також операції логічного зрушення, скидання, установки і т.д..
АЛП складається з регістру акумулятора, регістру тимчасового зберігання, ПЗУ констант, суматора, додаткового регістру (регістру В), акумулятора, регістру стану програми.
Регістри акумулятора і тимчасового зберігання — восьмирозрядні регістри, призначені для приймання і зберігання операндів на час виконання операцій над ними. Програмно не доступні.
ПЗУ констант забезпечує створення коригувального коду при двоїчно-десятковому представленні даних, коду маски при бітових операціях і коду констант.
Паралельний восьмирозрядний суматор являє собою схему комбінаційного типу з послідовним переносом, призначену для виконання арифметичних операцій додавання, вирахування і логічних операцій додавання, множення, нерівнозначності і тотожності.
Регістр В — восьмирозрядний регістр, використовуємий під час операцій множення і ділення. Для інших інструкцій він може розглядатися як додатковий надоперативний регістр.
Акумулятор являє собою восьмирозрядний регістр, призначений для приймання і зберігання результату, отриманого при виконанні арифметико-логічних операцій або операцій пересилання.
Регістр стану програми (PSW) призначений для зберігання інформації про стан АЛП при виконанні програми. Позначення розрядів регістру PSW і призначення розрядів наведені відповідно в таблиці 1.5.
Прапор переносу CY може встановлюватися і скидатися як апаратними, так і програмними засобами. Прапор CY може бути програмно прочитаний. Апаратними засобами прапор CY встановлюється, якщо в старшому біті результату виникає перенос або позика. При виконанні операцій множення і розподілу прапор CY скидається. Крім того, прапор CY виконує функції "булевого акумулятора" у командах, що працюють із бітами.
Прапор додаткового переносу АС програмно доступний по запису ("0" і "1") і читанню.
Прапори F0, RS1, RS0 програмно доступні по запису ("0" і "1") і читанню. Прапор переповнення OV програмно доступний по запису ("0" і "1") і читанню. Встановлюється апаратно, якщо результат операції додавання/вирахування не укладається в семи бітах і старший (восьмий) біт результату не може інтерпретуватися як знаковий. При виконанні операції розподілу прапор OV апаратно скидається, а у випадку розподілу на нуль встановлюється. При множенні прапор OV апаратно встановлюється, якщо результат більше 255.
Прапор Р є доповненням вмісту акумулятора до парності. В 9-розрядному слові, що полягає з 8 розрядів акумулятора і біта Р, завжди втримується парне число одиничних бітів. У випадку, якщо в акумуляторі всі розряди встановлені в "0", прапор Р прийме нульове значення. Програмно доступний тільки по читанню.
У таблиці 1.5 приводиться перелік прапорів ФССП, даються їхні символічні імена і описуються умови їх формування. Особливості програмування регістрів наведено в [1,3].
Таблиця 1.5 - Формат слова стану програми (ФССП)
Символ |
Позиція/№ біта |
Ім'я і призначення |
|||
CY |
PSW.7 |
Прапор переносу. Встановлюється і скидається при виконанні арифметичних і логічних операцій |
|||
AC |
PSW.6 |
Прапор допоміжного переносу. Встановлюється і скидається при виконанні команд додавання і вирахування і сигналізує про перенос або позику в біті 3 |
|||
F0 |
PSW.5 |
Прапор 0. Може бути встановлений, скинутий або перевірений програмою як прапор, специфікуємий користувачем |
|||
RS1 RS0 |
PSW.4 PSW.3 |
Вибір банку регістрів. Встановлюється і скидається програмою для вибору робочого банку регістрів |
|||
0V |
PSW.2 |
Прапор переповнення. Встановлюється і скидається при виконанні арифметичних операцій |
|||
- |
PSW.1 |
Не використовується |
|||
P |
PSW.0 |
Прапор паритету. Встановлюється і скидається в кожному циклі команди і фіксує непарне/парне число одиничних біт в акумуляторі |
|||
Примітка |
RS1 |
RS0 |
Банк |
Границі адрес |
|
0 |
0 |
0 |
00H-07H |
||
0 |
1 |
1 |
08H-0FH |
||
1 |
0 |
2 |
10H-17H |
||
1 |
1 |
3 |
18H-1FH |
||
