Для того, щоб зберегти симетричну систему команд і довжину команд в одне слово і при цьому одержати великий об'єм пам'яті даних розроблювачам прийшлося ускладнити організацію пам'яті даних (див. рис. 2). Вся пам'ять даних розділена на чотири банки по 128 байт. Молодші адреси в банках відведені для спеціальних регістрів, старші – для регістрів загального призначення. Деякі найважливіші спеціальні регістри продубльовані в двох або у всіх чотирьох банках. Перемикання банків здійснюється трьома бітами регістра STATUS. При прямій адресації використовуються біти RP0 і RP1, при непрямій – біт IRP. Мікроконтролери мають 35 простих команд, які розділені на три типи – байт-орієнтовані, біт-орієнтовані і команди управління і роботи з константами (див. табл. 1). В таблиці приведені мнемоніки команд, виконувані операції, вказані арифметичні ознаки (прапори), які міняються відповідно до одержаного результату. У байт-орієнтованих командах вказуються адреса операнда F і біт D, що вказує місце розташування результату. У біт-орієнтованих командах вказується адреса операнда F і номер біта B, з яким виконується дія. У командах роботи з константами вказується константа K.
Рис. 2. Організація пам'яті даних
Таблиця 1. Система команд
Мнемоніка команди |
Виконувана операція |
Ознаки |
Байт-орієнтовані команди |
||
ADDWF F, D |
Додавання |
C ,DC, Z |
ANDWF F, D |
Логічне множення |
Z |
CLRF F |
Очищення регістра |
Z |
CLRW |
Очищення робочого регістра |
Z |
COMF F, D |
Перетворення в зворотний код |
Z |
DECF F, D |
Декремент |
Z |
DECFSZ F, D |
Декремент із перевіркою на нуль |
|
INCF F, D |
Інкремент |
Z |
INCFSZ F, D |
Інкремент із перевіркою на нуль |
|
IORWF F, D |
Логічне додавання |
Z |
MOVF F, D |
Пересилання регістра |
Z |
MOVWF F |
Пересилання в регістр із робочого регістра |
|
NOP |
Порожня операція |
|
RLF F, D |
Циклічний зсув вліво |
C |
RRF F, D |
Циклічний зсув управо |
C |
SUBWF F, D |
Віднімання з регістра |
C, DC, Z |
SWAPF F, D |
Обмін тетрадами |
|
XORWF F, D |
Логічне виключаюче або |
Z |
Біт-орієнтовані команди |
||
BCD F, B |
Скидання біта |
|
BSF F, B |
Установка біта |
|
BTFSC F, B |
Перевірка біта на нуль |
|
BTFSS F, B |
Перевірка біта на одиницю |
|
Команди керування і роботи з константами |
||
ADDLW K |
Додавання з константою |
C, DC, Z |
ANDLW K |
Логічне множення з константою |
Z |
CALL K |
Виклик підпрограми |
|
CLRWDT |
Скидання сторожового таймера |
|
GOTO K |
Безумовний перехід |
|
IORLW K |
Логічне додавання з константою |
Z |
MOVLW K |
Пересилання константи в робочий регістр |
|
RETFIE |
Повернення з переривання |
|
RETLW K |
Повернення з підпрограми з пересиланням константи |
|
RETURN |
Повернення з підпрограми |
|
SLEEP |
Перехід у режим зниженого енергоспоживання |
|
SUBLW K |
Віднімання з константи |
C, DC, Z |
XORLW K |
Логічне виключаюче або з константою |
Z |
2. Устаткування для проведення лабораторних робіт
При виконанні лабораторних робіт використовується пакет програм MPLAB IDE і демонстраційна плата на основі мікроконтролера PIC16F628. Схема електрична принципова плати показана на рис. 3. Плата містить панель, в яку встановлений мікроконтролер DD1; світлодіоди VD6 – VD12 для індикації цифрових сигналів, кнопки SA1, SA2 для імітації вхідних дискретних сигналів, фоторезистор R23 для імітації вхідного аналогового сигналу; елементи забезпечуючі режим програмування мікроконтролера.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.