
- •БАЗОВАЯ СТРУКТУРА МИКРОКОНТРОЛЛЕРОВ 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
- •Распределение приоритетов вторичного арбитража
- •Вызов процедуры обслуживания прерывания
Команды передачи управления
LCALL <ad 16>
(длинный вызов подпрограммы)
(PC): = (PC) + 3;
(SP): = (SP) + 1; ((SP)): = (PC[7÷0]); (SP): = (SP) + 1; ((SP)):= (PC[15÷8]); (PC): = ad[15÷0]
Пример: SP = 07h; адрес PRN = 1234h; адрес LCALL = 0126h
LCALL PRN → SP = 09h; PC = 1234h; (ОЗУ [08h]) = 29h; (ОЗУ [09h]) = 01h
Команды передачи управления
ACALL <ad 11>
(абсолютный вызов подпрограммы)
(PC): = (PC) + 2;
(SP): = (SP) + 1; ((SP)): = (PC[7÷0]); (SP): = (SP) + 1; ((SP)): = (PC[15÷8]); (PC[10÷0]) = ad[10÷0]
Пример: SP = 07h; адрес MТ1 = 0345h; PC = 028Dh 028D: ACALL MT1 → SP = 09h; PC = 0345h; ОЗУ[08] = 8Fh; ОЗУ[09] = 02h
…
0345: MT1
…
Команды передачи управления
RETI
(возврат из прерывания)
(PC[15÷8]): = ((SP)); (SP): = (SP) – 1; (PC[7÷0]): = ((SP)); (SP): = (SP) – 1
Операции с битами
ORL C, <бит_источника>
ORL C, bit
(C): = (C) OR (bit)
Пример: C = 0; P1 = 53h (01010011b)
ORL C, P1.4 → C = 1
SETB <бит_источника>
(установить бит в 1)
SETB bit
(bit): = 1
Пример: C = 0; P2 = 38h
SETB C SETB P2.0
SETB P2.7 → C = 1; P2 = B9h
Операции с битами
MOV <бит_назначения>, <бит_источника>
MOV C, bit (C): = (bit)
Пример: С = 0; P3 = D5h (1101 0101 b)
MOV C, P3.0 → C = 1
MOV C, P3.3 → C = 0
MOV C, P3.7 → C = 1
MOV bit, C
(bit): = (C)
Пример: С = 1; P0 = 20h (0010 0000 b)
MOV P0.1, C
MOV P0.2, C
MOV P0.3, C → P0 = 2Eh (0010 1110 b)

Типовая схема подключения внешнего вывода
Данные
|
|
|
|
|
|
|
|
|
|
|
& |
Адрес |
Дешифратор |
|
|
|
|
|
|
||||
|
|||||
|
|
адреса |
|
|
|
|
|
|
|||
|
|
|
|
|
& |
|
|
|
|
|
|
|
|
|
|
|
|
WR#
&
RD#
Управление Внешний выводом вывод
DQ
Триггер
данных
DQ
Триггер
управления
Разрешение ввода данных

Схема подключения вывода с открытым коллектором
|
|
|
|
|
|
+Ucc |
Внешний |
|
|
|
|
|
|
|
вывод |
Данные |
|
|
|
|
Управление |
|
|
|
|
|
|
выводом |
& |
|
|
|
|
& |
D |
Q |
1 |
|
|
|
|
|
|
|
|||
|
|
|
Триггер |
|
|
|
|
|
|
|
|
|
|
|
|
Адрес |
Дешифратор |
|
|
данных |
|
|
|
|
|
|
|
|
|
||
|
адреса |
& |
D |
Q |
|
|
|
|
|
|
Триггер |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
управления |
|
|
|
|
WR# |
|
|
|
|
|
|
|
RD# |
|
& |
|
Разрешение |
|
|
|
|
|
|
ввода данных |
|
|

Разряд порта Р0 MCS-51
Адрес/ |
Управление |
+Ucc |
данные |
||
|
DD3 |
VT1 |
|
& |
|
|
|
B1 |
Чтение |
DD2 |
|
P0.X |
|
1 |
VT2 |
||||
|
SFR |
|
|
||
Линия внутренней |
DD1 |
|
|
||
D |
T |
|
|
||
шины |
|
|
|
|
|
|
C |
|
MUX |
|
|
Запись в SFR |
|
|
|||
B2 |
Чтение |
|
|
|
|
|
вывода |
|
|
|

Использование линий порта Р0 для ввода/вывода
+5V
8051 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R1 ‒ R8 10K |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7

|
Разряд порта Р1 MCS-51 |
|
|||
|
|
|
|
+Ucc |
|
|
|
|
|
|
Внутренняя |
|
Чтение |
|
|
нагрузка |
|
B1 |
|
|
|
||
|
SFR |
|
VT1 |
P1.X |
|
Линия внутренней |
DD1 |
|
|||
D |
T |
|
|
||
шины |
|
|
|
|
|
|
C |
|
|
|
|
Запись в SFR |
|
|
|
||
|
|
|
|
||
B2 |
Чтение |
|
|
|
|
|
вывода |
|
|
|