
- •БАЗОВАЯ СТРУКТУРА МИКРОКОНТРОЛЛЕРОВ 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
- •Распределение приоритетов вторичного арбитража
- •Вызов процедуры обслуживания прерывания
Обращение к стеку
PUSH <direct>
(SP): = (SP) + 1, ((SP)): = (direct)
Пример: SP = 09h; DPTR = 1279h
PUSH DPL
PUSH DPH → SP = 0Bh; ОЗУ[0Ah] =79h; ОЗУ[0Bh] = 12h
Арифметические операции
ADD A, <байт_источник>
ADD A, Rn
(A): = (A) + (Rn) n = 0, ..., 7
Пример: A = C3h; R6 = AAh
ADD A, R6 → A = 6Dh; R6 = AAh; C = 1; AC = 0, OV = 1
ADD A, @Ri
(A): = (A) + ((Ri)) i = 0, 1
Пример: A = 95h; R1 = 35h; ОЗУ[35h] = 4Ch ADD A, @R1 → A = E1h; C = 0; AC = 1; OV = 0
Арифметические операции
ADD A, <байт_источник>
ADD A, <direct>
(A): = (A) + (direct)
Пример: A = 77h; ОЗУ[90h] = FFh
ADD A, 090h → A = 76h; C = 1; AC = 1; OV = 0
ADD A, #data
(A): = (A) + #data
Пример: A = 09h
ADD A, #0D3h → A = DCh; C = 0; AC = 0; OV = 0
Арифметические операции
ADDC A, <байт_источник>
ADDC A, Rn
(A): = (A) + (C) + (Rn) n = 0, ..., 7
Пример: A = B2h; R3 = 99h, C = 1
ADDC A, R3 → A = 4Ch; C = 1; AC = 0; OV = 1
ADDC A, @Ri
(A): = (A) + (C) + ((Ri)) i = 0, 1
Пример: A = D5h; R0 = 3Ah; ОЗУ[3Ah] = 1Ah; C = 1 ADDC A, @R0 → A = F0h; C = 0; AC = 1; OV = 0
Арифметические операции
ADDC A, <байт_источник>
ADDC A, <direct>
(A): = (A) + (C) + (direct)
Пример: A = 11h; ОЗУ[80h] = DFh, C = 1 ADDC A, 080h → A = F1h; C = 0; AC = 1; OV = 0
ADDC A, #data
(A): = (A) + (C) + #data
Пример: A = 55h, C = 0
ADDC A, #055h → A = AAh; C = 0; AC= 0; OV = 1
Арифметические операции
DA A
(десятичная коррекция bin → bcd)
Пример:
1) A = 56h; R3 = 67h; C = 1 ADDC A, R3 → A = BDh; C = 0 DA A → A = 23h; C = 1
2) A = 30h; C = 0
ADD A, #099h → A = C9h; C = 0
DA A → A = 29h; C = 1
Арифметические операции
DEC <байт> – 1
DEC A
Пример: A = 11h; C = 1; AC = 1 DEC A → A = 10h; C = 1; AC = 1
DEC (Rn) n = 0, ..., 7
(Rn) = (Rn) – 1
Пример: R1 = 7Fh; ОЗУ[7Fh] = 40h; ОЗУ[7Eh] = 00h DEC @R1
DEC R1
DEC @R1 → R1 = 7Eh; ОЗУ[7Fh] = 3Fh; ОЗУ[7Eh] = FFh
Арифметические операции
DEC <байт> – 1
DEC <direct>
(direct): = (direct) – 1
Пример: SCON = A0h; C = 1; AC = 1 DEC SCON → SCON = 9Fh; C = 1; AC = 1
DEC @Ri
((Ri )) = ((Ri ) – 1)
Пример: R1 = 7Fh; ОЗУ[7Fh] = 40h; ОЗУ[7Eh] = 00h
DEC @R1
DEC R1
DEC @R1 → R1 = 7Eh; ОЗУ[7Fh] = 3Fh; ОЗУ[7Eh] = FFh

Арифметические операции
DIV AB
А: = целая часть Деление А / В → В: = остаток
(A): = ((A) / (B)) [15-8] (B): = ((A) / (B)) [7-0]
Пример: A = 251d = FBh = 11111011b B = 18d = 12h = 00010010b
DIV AB
A = 13d = 0Dh = 00001101b
B = 17d = 11h = 00010001b, т.к. 251 = (13 × 18) + 17 C = 0; OV = 0
Арифметические операции
INC <байт> +1
INC A
(A): = (A) + 1
Пример: A = 1Fh; AC = 0 INC A → A = 20h; AC = 0
INC (Rn)
(Rn): = (Rn) + 1 n = 0, ..., 7
Пример: R4 = FFh; C = 0, AC = 0 INC R4 → R4 = 00h; C = 0; AC = 0