
- •БАЗОВАЯ СТРУКТУРА МИКРОКОНТРОЛЛЕРОВ MCS-51
- •МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА MCS-51
- •ОСНОВНЫЕ ЭЛЕКТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ КОНТРОЛЛЕРОВ СЕМЕЙСТВА MCS-51
- •ПЕРЕЧЕНЬ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ КОНТРОЛЛЕРОВ СЕМЕЙСТВА MCS-51
- •СОСТАВ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ МИКРОКОНТРОЛЛЕРОВ РАЗЛИЧНЫХ ПОДСЕМЕЙСТВ
- •НАЗНАЧЕНИЕ ВЫВОДОВ БИС 8051
- •СХЕМА ВНУТРЕННЕГО ТАКТОВОГО ГЕНЕРАТОРА
- •ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ ВНЕШНЕГО ТАКТОВОГО ГЕНЕРАТОРА
- •а) ТАКТОВЫЕ ИМПУЛЬСЫ, СОСТОЯНИЯ И МАШИННЫЕ ЦИКЛЫ
- •ПОСЛЕДОВАТЕЛЬНОСТИ ВЫБОРКИ КОМАНД В MCS-51:
- •РАСПРЕДЕЛЕНИЕ АДРЕСНОГО ПРОСТРАНСТВА RDM
- •Адрес
- •Адрес
- •КАРТА АДРЕСУЕМЫХ БИТОВ В БЛОКЕ РЕГИСТРОВ СПЕЦИАЛЬНЫХ ФУНКЦИЙ
- •ФОРМАТ СЛОВА СОСТОЯНИЯ ПРОГРАММЫ PSW
- •СХЕМА ВКЛЮЧЕНИЯ ВНЕШНИХ МИКРОСХЕМ
- •FFFF
- •ФОРМИРОВАНИЕ 16-РАЗРЯДНОЙ ШИНЫ АДРЕСА
- •СХЕМА СОВМЕЩЕНИЯ АДРЕСНОГО ПРОСТРАНСТВА EPM И EDM
- •ТИПЫ КОМАНД MCS51
- •Обозначения, используемые при описании команд:
- •РЕГИСТРОВАЯ АДРЕСАЦИЯ (ФОРМАТ КОМАНДЫ
- •ПРЯМАЯ АДРЕСАЦИЯ (ФОРМАТ КОМАНДЫ
- •КОМАНДЫ, МОДИФИЦИРУЮЩИЕ ФЛАГИ РЕЗУЛЬТАТА
- •ГРАФ ПУТЕЙ ПЕРЕДАЧИ ДАННЫХ
- •Обращение к внешней памяти данных
- •Обращение к внешней памяти данных
- •Обращение к памяти программ
- •Обращение к стеку
- •Обращение к стеку
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Арифметические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Логические операции
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Команды передачи управления
- •Операции с битами
- •Операции с битами
- •Типовая схема подключения внешнего вывода
- •Схема подключения вывода с открытым коллектором
- •Разряд порта Р0 MCS-51
- •Использование линий порта Р0 для ввода/вывода
- •Разряд порта Р2 MCS-51
- •Альтернативные функции порта Р3 MCS-51
- •Команды, реализующие режим «чтение-модификация-запись»
- •Временные параметры обновления данных в портах
- •Структура таймера в микроконтроллерах
- •Реализация тахометра
- •Сигнал с широтно-импульсной модуляцией PWM
- •Схема генератора PWM-сигнала
- •Схема измерения длительности импульса
- •Регистр режима работы таймера/счетчика TMOD
- •Регистр управления/статуса таймера TCON
- •Функциональная схема таймера/счетчика в режиме 0
- •Функциональная схема таймера/счетчика в режиме 1
- •Функциональная схема таймера/счетчика в режиме 2
- •Функциональная схема таймера/счетчика в режиме 3
- •Асинхронная последовательная передача данных
- •Чтение данных при асинхронном последовательном обмене
- •Последовательный обмен с манчестерским кодированием
- •Форма сигналов при синхронной передаче данных
- •Синхронная последовательная шина
- •Схема синхронного вывода данных
- •Чтение данных в протоколе Microwire
- •Подключение входа «Din» и выхода «Dout» к одной линии
- •Пример I2C сети
- •Форма сигналов на шине I2С
- •Передача байта по шине I2С
- •Временная диаграмма сигналов на шине I2С
- •Формат передачи данных по шине I2С: R/W – вид обмена (прием или передача);
- •Регистр управления/статуса UART
- •Скорость приема/передачи информации через последовательный порт
- •Скорость приема/передачи информации через последовательный порт
- •Передача
- •Передача
- •Передача
- •Логическая схема системы прерываний
- •Регистр масок прерывания IE
- •Регистр приоритетов прерываний IP
- •Распределение приоритетов вторичного арбитража
- •Вызов процедуры обслуживания прерывания

ТИПЫ КОМАНД MCS51
Обозначения, используемые при описании команд:
Rn (n = 0,1,...,7) – регистр общего назначения в выбранном банке регистров; @Ri (i = 0,1) – регистр общего назначения в выбранном банке регистров,
используемый в качестве регистра косвенного адреса; ad – адрес прямоадресуемого байта;
ads – адрес прямоадресуемого байта-источника; add – адрес прямоадресуемого байта-получателя; ad11 – 11-разрядный абсолютный адрес перехода; ad16 – 16-разрядный абсолютный адрес перехода; rel – относительный адрес перехода;
#d – непосредственный операнд;
#d16 – непосредственный операнд (2 байта); bit – адрес прямо адресуемого бита;
/bit – инверсия прямо адресуемого бита; А – аккумулятор; РС – счетчик команд;
DPTR – регистр указатель данных;
( ) – содержимое ячейки памяти или регистра.

РЕГИСТРОВАЯ АДРЕСАЦИЯ (ФОРМАТ КОМАНДЫ
ADD A, Rn)
НЕПОСРЕДСТВЕННАЯ АДРЕСАЦИЯ (ФОРМАТ КОМАНДЫ
ADD A, #data)

ПРЯМАЯ АДРЕСАЦИЯ (ФОРМАТ КОМАНДЫ
ADD A, direct)
КОСВЕННАЯ АДРЕСАЦИЯ (ФОРМАТ КОМАНДЫ
ADD A, @Ri)

КОМАНДЫ, МОДИФИЦИРУЮЩИЕ ФЛАГИ РЕЗУЛЬТАТА
Команды |
Флаги |
Команды |
Флаги |
ADD |
C, OV, AC |
CLR C |
C = 0 |
ADDC |
C, OV, AC |
CPL C |
C = NOT (C) |
SUBB |
C, OV, AC |
ANL C, b |
C |
MUL |
C = 0, OV |
ANL C, /b |
C |
DIV |
C = 0, OV |
ORL C, b |
C |
DA |
C |
ORL C, /b |
C |
RRC |
C |
MOV C, b |
C |
RLC |
C |
CJNE |
C |
SETB C |
C = 1 |
|
|

ГРАФ ПУТЕЙ ПЕРЕДАЧИ ДАННЫХ
Обращение к внешней памяти данных
MOVX <байт_приемника>, <байт_источника>
MOVX A, @Ri
(A): = ((Ri)) i = 0, 1
Пример: A = 32h; R0 = 83h; Внешнее ЗУ[83h] = B6h
MOVX A, @R0 → A = B6h
MOVX A, @DPTR
(A): = ((DPTR))
Пример: A = 5Ch; DPTR = 1ABEh; Внешнее ЗУ[1ABEh] = 72h
MOVX A, @DPTR → A = 72h
Обращение к внешней памяти данных
MOVX @Ri, A
((Ri)): = (A) i = 0, 1
Пример: A = 95h; R1 = FDh; Внешнее ЗУ[FDh] = 00h MOVX @R1, A → Внешнее ЗУ[FDh] = 95h
MOVX @DPTR, A
((DPTR)): = (A)
Пример: A = 97h; DPTR = 1FFFh; Внешнее ЗУ[1FFFh] = 00h
MOVX @DPTR, A → Внешнее ЗУ[1FFFh] = 97h
Обращение к памяти программ
MOVC A, @A+(<R16>)
MOVC A, @A + DPTR
(A): = ((A) + (DPTR))
Пример: A = 1Bh; DPTR = 1020h; ПЗУ[103Bh] = 48h
MOVC A, @A + DPTR → A = 48h
MOVC A, @A + PC
(A): = ((A) + (PC))
Пример: A = FAh; PC = 0289h; ПЗУ[0383h] = 9Bh MOVC A, @A + PC → A = 9Bh; PC = 028Ah
Обращение к стеку
POP <direct>
(direct): = ((SP)), (SP): = (SP) – 1
Пример: SP = 32h; DPH = 01h; DPL = ABh ОЗУ[32h] = 12h; ОЗУ[31h] = 56h; ОЗУ[30h] = 20h
POP DPH
POP DPL → SP = 30h; DPH = 12h; DPL = 56h POP SP → SP = 20h