Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Арифметико-логічний пристрій




АЛП, розрядністю у 8-бітів, може виконувати арифметичні операції додавання, віднімання, множення і ділення; логічні операції І, АБО, ВИКЛЮЧАЮЧЕ АБО, циклічні зсуви, обнуління, інвертування тощо. В АЛП

Рисунок 8.2 Структурна схема МК51

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

АЛП може оперувати чотирма типами інформаційних об’єктів: булевими (1біт), цифровими (4 біти), байтовими (8 біт) і адресними (16 біт).

Структура пам’яті МК51

Загальну пам’ять МК можна розділити на п’ять фізичних адресних просторів, які розрізняються програмно, оскільки мають різні способи адресації, так і апаратно, тому що використовуються різні сигнали запису та читання (рисунок 8.3): зовнішня пам’ять програм (ЗПП); зовнішня пам’ять даних (ЗПД); резидентна пам’ять програм (РПП); резидентна пам’ять даних (РПД); регістри спеціальних функцій (РСФ).

 

 

Рисунок 8.3 Структура пам’яті

 

Внутрішня і зовнішня пам’яті програм утворюють єдиний адресний простір ємністю до 64 Кбайт і не розрізняються програмістом, але обов’язково відокремлюються на етапі проектування апаратних засобів.

Резидентна пам’ять

Пам’ять програм і даних (резидентна, тобто внутрішня) фізично і логічно розділені і мають різні механізми адресації.

Пам’ять програм (ПЗП) має ємність 4 Кбайти і використовується для зберігання команд, констант, керуючих слів ініціалізації тощо. Резидентна пам’ять програм (РПП) має 16-бітову шину адреси, яку генерує лічильник команд РС або команд, що формують пряму 8 або 16-розрядну адресу. Комірки 0000...0023Н зарезервовані під вектори переривань при їх обслуговуванні (тобто реалізуються переходи на підпрограми обслуговування переривань).

Резидентна пам’ять даних (РПД) виконує функції оперативної пам’яті і забезпечує зберігання проміжних результатів. Адресується одним байтом і має ємність 128 байтів. Вона складається з трьох частин (рисунок 8.4).

- 4 банки регістрів оперативного призначення з адресами 00...1FH;

- 16 байтових комірок з адресами 20...2FH, що одночасно утворюють область з 128 однобітових комірок окремої адресації з адресами 00...7FH;

- 80 байтових комірок ОЗП з адресами 30...7FH.

 

Регістри спеціальних функцій

Регістри спеціальних функцій займають область резидентної пам’яті з адресами 80...FFH. Перелік даних регістрів поданий в таблиці 8.5, а карта пам’яті на рисунку 8.4 - 8.5.

 

Таблиця 8.5- Блок регістрів спеціального призначення

 

Символ Назва Адреса
*ACC Акумулятор 0E0H
*B Розширювач акумулятора 0F0H
*PSW Слово стану програми 0D0H
SP Покажчик стеку 81H
DPTR Регістр-покажчик даних (DPH) (DPL) 83H 82H
*P0 Порт 0 80H
*P1 Порт 1 90H
*P2 Порт 2 0A0H
*P3 Порт 3 0B0H
*IP Регістр пріоритетів 0B8H
*IE Регістр маски переривань 0A8H
TMOD Регістр режиму таймера/лічильника 89H
*TCON Регістр керування/статуса таймера 88H
THO Таймер 0 (ст.байт) 8CH
TLO Таймер 0 (мл.байт) 8AH
TH1 Таймер 1 (ст.байт) 8DH
TL1 Таймер 1 (мл.байт) 8BH
*SCON Регістр керування приймачем-передавачем 98H
SBUF Буфер приймача-передавача 99H
PCON Регістр керування потужністю 87H

Зауваження. Регістри зі значком (*), допускають адресацію окремих бітів.

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

Акумулятор і ССП

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

 

Рисунок 8.4 Карта заадресованих бітів і байтів в РПД Рисунок 8.5-Карта заадресованих бітів і байтів в блоці спеціальних функцій

Результат виконання багатьох команд в АЛП оцінюється ознаками (індикаторами), які фіксуються в регістрі слова стану програм (ССП). В таблиці поданий перелік індикаторів ССП (регістр PSW).

Таблиця 8.6- Формат слова стану програм (ССП).

Символ Позиція Ім’я і призначення
C PSW.7 Індикатор переносу. Установлюється апаратними засобами або програмою при виконанні арифметичних і логічних команд.
AC PSW.6 Індикатор додаткового переносу. Установлюється тільки апаратно при виконанні команд додавання і віднімання.
F0 PSW.5 Індикатор 0. Може установлюватись програмно і визначається програмістом.
RS1 RS0 PSW.4 PSW.3 Вибір банку регістрів. Установлюється програмно для вибору робочого банку регістрів (примітка).
0V PSW.2 Індикатор переповнення. Установлюється апаратно за результатами виконання арифметичних команд.
- PSW.1 Не використовується.
P PSW.0 Індикатор паритету. Установлюється апаратно.

Примітка. Вибір робочого банку регістрів

 

RS1 RS0 Банк Межі адрес
      00H-O7H 08H-0FH 10H-17H 18H-1FH

Індикатор переносу С, крім звичайних функцій подовжувача акумулятора в командах додавання, віднімання і зсувів, виконує функції акумулятора в командах маніпуляції з однобітовими операндами. Індикатор 0V фіксує арифметичні переповнення в операціях зі знаковими числами. Крім того він установлюється в 1 також при діленні на нуль і якщо добуток в операціях множення перевищує 225.

Індикатор F0 визначається користувачем під будь-яку ознаку і може бути програмно установленим, обнуленим, перевіреним та про інвертованим.

Індикатори RS0 i RS1 визначають один з чотирьох можливих банків регістрів оперативного призначення. Індикаторами керує не АЛП, а програміст у відповідності до таблиці (див.примітку).

Функції індикатора додаткового переносу АС є аналогічними до його функцій в МП інших типів.

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

 

Регістри-покажчики

8-бітовий покажчик стеку SP може адресувати будь-яку область РПД. Вміст регістра SP інкрементується завчасно ніж дані будуть записані в стек під дією команд PUSH i CALL.Вміст SP декрементується після виконання команд POP i RET. Після ініціалізації МК51 за сигналом ‘’Обнуління’’ в SP заноситься код 07Н. Тобто перший елемент даних в стеку буде розміщений в РПД за адресою 08Н.

Двобайтовий регістр-покажчик даних DPTR використовується для фіксації 16-бітової адреси в операціях зі зверненнями до зовнішньої пам’яті. Даний регістр може використовуватись як 16-бітовий або як два незалежні 8-бітових регістри DPH i DPL.

 

Таймери / лічильники

В складі апаратних засобів МК51 є регістрові пари з символьними іменами ТНО, TLO i TH1,TL1, що є основою двох незалежних програмно-керованих 16-бітових таймерів/лічильників подій.

 

Буфер послідовного порта

Регістр з символьним іменем SBUF представляє собою два незалежних регістра: буфер приймача і буфер передавача. Посилка байта в SBUF зразу ж викликає процес передачі через послідовний порт. Коли ж байт зчитується з SBUF, то джерелом є приймач послідовного порту.

 

Регістри спеціальних функцій.

Регістри з символьними іменами IE, IP, TMOD, TCON, SCON i PCON використовуються для фіксації і програмної зміни керуючих бітів і бітів стану схеми переривання, таймера/лічильника, приймача/передавача послідовного порта і для керування потужністю живлення МК51. Їх організація буде розглядатись далі.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...