- •Конспект лекцій з дисципліни “Мікропроцесорні пристрої”
- •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)
- •Система команд
- •Література
Система команд Intel 8051
8051 має гнучку систему команд, орієнтовану, головним чином, на реалізацію контролерних функцій. Характеристики системи команд визначаються форматами даних і команд.
Формати даних. Тип подання даних: числові, логічні, бітові. Числові дані можуть бути подані в двійковому і двійково-десятковому кодах у цілочисленному форматі. Обробка двійкових даних може виконуватися в додатковому коді. Довжина формату байт, два байти, біт. В операціях обміну тетрадами використовується додаткове подання інформації - напівбайтами (4 біти).
Формати команд. Команди одно-, дво-, безадресні. Довжина команди – байт, два байти, три байти. При звертанні до РПД можуть використовуватися прямий регістровий, прямий, непрямий, безпосередній, стековий способи адресації. Зовнішня пам'ять даних допускає застосування тільки непрямої й індексної адресації. При роботі з пам'яттю команд
можливе застосування непрямого, індексного і відносного способів адресації.
Система команд МК51 містить 111 базових команд, що зручно поділити за функціональною ознакою на п'ять груп: команди передачі даних, арифметичних операцій, логічних операцій, передачі керування, операцій з бітами. Система команд наведена в додатку А, де використовуються наступні позначення:
#d - безпосередній операнд; ad - адреса РПД;
аd16 - адреса пам'яті чи команд зовнішньої пам'яті даних; Rn - регістр поточного банку;
Ri - нульовий або перший регістр поточного банку bit – прямої адреса біта,
rel - 8-розрядний зсув у додатковому коді для виконання відносних переходів. Величина зсуву дозволяє передавати керування в межах –128…+127 байт щодо адреси наступної команди;
@ - ознака непрямої адресації.
Розглянемо узагальнені характеристики основних команд. До команд передачі даних (пересилань) відносяться: MOV – пересилання при роботі з РПД;
MOVX – пересилання із зовнішньою пам'яттю даних (ВПД); MOVC – пересилання із пам'яттю команд;
MOV A, (Rn, ad, @Ri, #d);
MOV Rn, (A, ad, #d);
MOV ad, (Rn, А, @Ri, #d);
MOV (A, Rn, ad), #d;
MOV @Ri, (ad, Rn, #d); MOV ad1, ad2;
MOV DPTR,#d16.
Команди цієї групи не модифікують ознаки результату за винятком команди завантаження PSW і пересилань, у яких приймачем результату є акумулятор А. У цьому випадку встановлюється біт паритету й апаратно формується ознака рівності «0» – Z=1, яку можна використовувати для виконання команд умовного переходу JZ (JNZ).
XCH А, (Rn, ad, @Ri) - обмін умістом А і (Rn, @Ri, ad);
XCHD A, @Ri - обмін умістом молодших тетрад байтових операндів; SWAP - обмін умістом тетрад в акумуляторі;
PUSH ad – запис у стек; POP ad – читання зі стека;
Недоліком цієї групи є відсутність команд типу MOV Rn1, Rn2 і MOV Rn, @Ri.
Звертання до зовнішньої пам'яті команд ЗПК і ЗПД здійснюється через регістр-покажчик DPTR. Звертання до регістра можливе за допомогою
команди MOV DPTR, #d16, старший (DPH) і молодший (DPL) байти цього регістра доступні через зону РСФ.
MOVX A, @DPTR; MOVX @DPTR, A; MOVX @Ri, A;
MOVX A, @Ri - сторінково-непрямий метод доступу: Зсув усередині сторінок задає вміст Ri, а номер сторінки формується на виході порту P2. На основі цього способу можна організувати індексну адресацію.
Для читання пам'яті команд використовується: MOVC A, @A+DPTR; (A):=@(A+DPTR),
де в А знаходиться цілий беззнаковий зсув. Для верифікації пам'яті команда передбачена:
MOVC A, @A+PC; {PC:=PC+1; (A):=((A+PC))},
де РС – програмний лічильник.
