
- •БАЗОВАЯ СТРУКТУРА МИКРОКОНТРОЛЛЕРОВ 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
- •Распределение приоритетов вторичного арбитража
- •Вызов процедуры обслуживания прерывания
Арифметические операции
INC <байт> +1
INC <direct>
(direct): = (direct) + 1
Пример: ОЗУ[43h] = 22h INC 43h → ОЗУ[43h] = 23h
INC @Ri
((Ri)): = ((Ri)) + 1 i = 0, 1
Пример: R1 = 41h; ОЗУ[41h] = 4Fh; AC = 0 INC @R1 → R1 = 41h; ОЗУ[41h] = 50h; AC = 0
Арифметические операции
INC <байт> +1
INC DPTR
(DPTR): = (DPTR) + 1
Пример: DPH = 12h; DPL = FEh
INC DPTR
INC DPTR
INC DPTR → DPH = 13h; DPL = 01h

Арифметические операции
MUL AB
А: = младший байт Умножение А × В → В: = старший байт
Пример: A = 80d = 50h; B = 160d = A0h; C = 1, OV = 0 MUL AB → A = 00h; B = 50d = 32h; C = 0; OV = 1
Арифметические операции
SUBB A, <байт_источника>
SUBB A, Rn
(A): = (A) – (C) – (Rn) n = 0, ..., 7
Пример: A = C9h; R2 = 54h; C = 1
SUBB A, R2 → A = 74h; R2 = 54h; C = 0; AC = 0; OV = 1
SUBB A, <direct>
(A): = (A) – (C) – (direct)
Пример: A = 97h; B = 25h; C = 0
SUBB A, B → A = 72h; C = 0; AC = 0; OV = 1
Арифметические операции
SUBB A, <байт_источника>
SUBB A, @Ri
(A): = (A) – (C) – ((Ri)) i = 0, 1
Пример: A = 49h; C = 1; R0 = 33h; ОЗУ[33h] = 68h SUBB A, @R0 → A = E0h; C = 1; AC = 0; OV = 0
SUBB A, #data
(A): = (A) – (C) – #data
Пример: A = BEh; C = 0
SUBB A, #03F → A = 7Fh; C = 0; AC = 1; OV = 1
Логические операции
ANL <байт_назначения>, <байт_источник>
(логическое И)
ANL A, Rn
(A): = (A) AND (Rn) n = 0, ..., 7
Пример: A = FEh; R2 = C5h
ANL A, R2 → A = C4h
ANL A, <direct>
(A): = (A) AND (direct)
Пример: A = A3h; PSW = 86h
ANL A, PSW → A = 82h
Логические операции
ANL <байт_назначения>, <байт_источник>
(логическое И)
ANL A, @Ri
(A): = (A) AND ((Ri)) i = 0, 1
Пример: A = BCh; ОЗУ[35h] = 47h; R0 = 35h
ANL A,@R0 → A = 04h
ANL A, #data
(A): = (A) AND #data
Пример: A = 36h
ANL A, #0DDh → A = 14h
Логические операции
ANL <байт_назначения>, <байт_источник>
(логическое И)
ANL <direct>, A
(direct): = (direct) AND (A)
Пример: A = 55h; P2 = AAh
ANL P2, A → P2 = 00h
ANL <direct>, #data
(direct): = (direct) AND #data
Пример: P1 = FFh
ANL P1, #073h → P1 = 73h
Логические операции
ANL C, <бит_источника>
(только прямая адресация)
ANL C, <direct>
(С): = (С) AND (bit)
Пример: C = 1; P1.0 = 0
ANL C, P1.0 → C = 0
ANL C, </direct>
(С): = (С) AND (/bit)
Пример: C = 1; AC = 0 ANL C, /AC → C = 1; AC = 0
Логические операции
CLR A (сброс аккумулятора в 0)
CLR A
(A): = 00h
Пример: (A) = 6Dh; C = 0; AC = 1 CLR A → (A) = 00h; C = 0; AC = 1
CLR <bit> (сброс бита)
CLR С
(C): = 0
Пример: C = 1
CLR C → C = 0