Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ_Мікропроцесорні пристрої.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆
    1. Система команд 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))},

де РС – програмний лічильник.