
- •БАЗОВАЯ СТРУКТУРА МИКРОКОНТРОЛЛЕРОВ 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
- •Распределение приоритетов вторичного арбитража
- •Вызов процедуры обслуживания прерывания
Регистр режима работы таймера/счетчика TMOD
Символ |
Разряд |
GATE1 |
TMOD.7 |
С/Т1# |
TMOD.6 |
M1.1 |
TMOD.5 |
M1.0 |
TMOD.4 |
GATE0 |
TMOD.3 |
С/Т0# |
TMOD.2 |
M0.1 |
TMOD.1 |
M0.0 |
TMOD.0 |
Регистр управления/статуса таймера TCON
Символ |
Разряд |
TF1 |
TCON.7 |
TR1 |
TCON.6 |
TF0 |
TCON.5 |
TR0 |
TCON.4 |
IE1 |
TCON.3 |
IT1 |
TCON.2 |
IE0 |
TCON.1 |
IT0 |
TCON.0 |

Функциональная схема таймера/счетчика в режиме 0
|
|
|
|
|
|
|
|
C/Tx# = 0 |
|
|
Запрос |
||||||||||||
|
OSC |
|
|
1/12 |
|
прерывания |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TLx |
THx |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TFx |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(5 разрядов) |
(8 разрядов) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Tx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
C/Tx# = 1 |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
TRx |
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
& |
|
|
|
|
|
|
|
|
|||||||||
|
GATEx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
1 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INTx#

Функциональная схема таймера/счетчика в режиме 1
|
|
|
|
|
|
|
|
C/Tx# = 0 |
|
|
Запрос |
||||||||||||
|
OSC |
|
|
1/12 |
|
прерывания |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TLx |
THx |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TFx |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(8 разрядов) |
(8 разрядов) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Tx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
C/Tx# = 1 |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
TRx |
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
& |
|
|
|
|
|
|
|
|
|||||||||
|
GATEx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
1 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INTx#

Функциональная схема таймера/счетчика в режиме 2
|
|
|
|
|
|
|
|
|
|
|
|
C/Tx# = 0 |
|
|
|
|
|
|
|
|
|
|
Запрос |
||||||||||||||
|
OSC |
|
|
|
|
1/12 |
|
|
|
|
|
|
|
|
|
|
прерывания |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TLx |
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TFx |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(8 разрядов) |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Tx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
C/Tx# = 1 |
|
|
|
|
|
|
|
Переполнение |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
TRx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Перезагрузка |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
& |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
GATEx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
THx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(8 разрядов) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
INTx# |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Функциональная схема таймера/счетчика в режиме 3
TR1
|
|
|
|
|
|
|
|
|
|
|
|
|
C/T0# = 0 |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
OSC |
|
|
|
|
|
1/12 |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
C/T0# = 1 |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
TR0 |
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
& |
|
||||||||||||||||
|
GATE0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Запрос |
||
|
|
|
|
прерывания |
||||
|
|
|
|
|
|
|
|
|
|
TH0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TF1 |
|
|
|
|
(8 разрядов) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
Переполнение |
|||||||
|
|
|
|
|
|
|
|
|
|
TL0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TF0 |
|
|
|
|
(8 разрядов) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Запрос |
||
|
|
|
||||||
|
|
|
||||||
|
|
|
|
прерывания |
INT0#

Асинхронная последовательная передача данных
Бит 0 Бит 1 Бит 2 Бит 3 Бит 4 Бит 5
Старт- |
Стоп- |
бит |
бит |
Бит
четности
Биты
данных

Чтение данных при асинхронном последовательном обмене
Старт- |
бит |
Чтение бита |
Синхросигналы

Последовательный обмен с манчестерским кодированием
Стоп- импульс
|
|
|
|
Старт-бит |
|
|
|
«1» |
|
|
|
«0» |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Биты данных

Форма сигналов при синхронной передаче данных
Синхросигналы
Данные