- •Конспект лекцій з дисципліни “Мікропроцесорні пристрої”
- •1 Основи теорії мікропроцесорних пристроїв
- •Класифікація мікропроцесорів. Варіанти архітектури
- •Базова структура мікропроцесорної системи
- •Основні характеристики мп
- •Типова структура мікропроцесора
- •Система команд мп і режими адресації
- •Організація передачі інформації в мпс. Інтерфейс
- •1.6.1 Способи передачі інформації
- •Методи обміну інформацією в мікропроцесорній системі
- •2 Мікроконтролери
- •Структура мк
- •Процесорне ядро мк
- •Резидентна пам'ять мк
- •Порти уведення/виводу
- •Таймери і процесори подій
- •Аналогово-цифрові й цифро-аналогові перетворювачі
- •Мінімізація споживання енергії в мп-системах
- •Моніторинг напруги живлення мк
- •Апаратні і програмні рішення по підвищенню надійності роботи мк
- •Контролери Intel mcs-51
- •3.1 Структурна організація Intel 8051
- •3.1.1 Арифметично-логічний пристрій
- •Зовнішня пам'ять
- •Пристрій керування і синхронізації
- •Програмна модель омк
- •Система команд Intel 8051
- •Арифметичні операції:
- •Логічні команди:
- •Бітові команди:
- •Периферійні присторої омк
- •Порти введення/виводу
- •Звертання до портів можливе тільки за прямою адресою.
- •Лічильники/таймери
- •Послідовний порт
- •Примітка
- •Мікроконтролер pic16f877
- •Характеристика мікроконтролера
- •Cтруктурна схема мікроконтролера pic16f877
- •Організація пам'яті
- •Пам’ять програм
- •Організація пам'яті даних
- •Регістр стану status
- •Лічильник команд
- •Порти введення/виводу
- •Регістри portа і trisa
- •Регістри portb і trisb
- •Регістри portc і trisc
- •Регістри portd і trisd
- •Регістри porte і trise
- •Таймери
- •Модуль таймера tmr0
- •Модуль таймера tmr1
- •Модуль таймера tmr2
- •Модуль 10-розрядного ацп
- •Adcon0 (адреса 1Fh)
- •Adcon1 (адреса 9Fh)
- •Переривання
- •Сторожовий таймер wdt
- •Біти конфігурації
- •Слово конфігурації (адреса 2007h)
- •Система команд
- •Література
3.1.1 Арифметично-логічний пристрій
Восьмирозрядний АЛП може виконувати арифметичні операції додавання, вирахування, множення і ділення; логічні операції «І», «АБО»,
«виключаюче АБО», операції над бітовими даними, а також операції циклічного зсуву, скидання, інвертування і т.п. До складу АЛП входять: програмно недоступні регістри T1 і T2, призначені для тимчасового збереження операндів, схема десяткової корекції і схема формування ознак.
Поряд з байтовими операціями АЛП може обробляти бітові змінні. Окремі програмно-доступні біти можуть бути встановлені, скинуті, інвертовані, передані, перевірені та використані в логічних операціях.
Акумулятор АСС є джерелом і/або приймачем операндів при виконанні арифметичних і логічних операцій.
Регістр-розширювач У використовується в операціях множення і розподілу.
Регістр PSW містить ознаки результатів виконання операцій і біти (прапори), необхідні для керування ресурсами ОМК, SP-покажчик стека.
Резидентна пам'ять. Пам'ять програм і пам'ять даних, розміщені на кристалі ОМК, фізично і логічно розподілені, мають різні механізми адресації, працюють під керуванням різних сигналів і виконують різні функції (рис. 3.2).
Внутрішня (резидентна) пам'ять програм має ємність 4 Кб і призначена для збереження команд, констант, керуючих слів ініціалізації, таблиць перекодування вхідних і вихідних змінних і т. п. Резидентна пам'ять програм має 16-бітну шину адреси, керування якої виконується лічильником команд (PC) чи регістром-покажчиком даних (DPTR). Останній виконує функції базового регістра при непрямій адресації чи використовується в командах, які оперують з таблицями.
Внутрішня (резидентна) пам'ять даних (ОЗП) призначена для збереження змінних у процесі виконання прикладної програми і має організацію 128x8.
До адресного простору РПД примикають адреси регістрів спеціальних функцій (РСФ), що перелічені в таблиці 3.1.
Таблиця 3.1 – Блок регістрів спеціальних функцій
Символ |
Найменування |
Адреса |
1 |
2 |
3 |
* 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 |
TH0 |
Таймер 0 (старший байт) |
8CH |
TL0 |
Таймер 0 (молодший байт) |
8AH |
Продовження таблиці 3.1
1 |
2 |
3 |
TH1 |
Таймер 1 (старший байт) |
8DH |
TL1 |
Таймер 1 (молодший байт) |
8BH |
* SCON |
Регістр керування прийомопередавачем |
98H |
SBUF |
Буфер прийомопередавача |
99H |
PCON |
Регістр керування потужністю |
87H |
Примітка. Регістри, імена яких відзначені знаком (*), допускають адресацію окремих біт. |
||
Поряд з байтовим адресним простором внутрішня пам'ять даних містить бітовий простір, що починається у бітовій зоні (адреси 20…2Fh), а продовжується у зоні регістрів спеціальних функцій (адреси 80…FFh). Звертання до нього можливе тільки з використанням бітових команд. Нульовому біту комірки 20h (20.0) відповідає адреса 0 бітового простору, а старшому біту регістра спеціальних функцій FFh- адреса 255 (FFh).
Рисунок 3.2 – Будова пам’яті мікропроцесорної системи на основі ОМК
У режимі мікроконтролера використовується тільки резидентна пам'ять програм і даних. Пам'ять програм розташовується за адресами 0000…0FFFh, а даних – з 00 до 07Fh. Регістри спеціальних функцій мають
об'єднаний з внутрішнім ОЗП адресний простір і розташовані за адресами 80…0FFh. Особливості використання регістрів спеціальних функцій розглянуті в підрозділі 3.4.
