390 likes | 774 Views
Лекция 5. ТЕМА 2 Универсальные микроконтроллеры 2.1 Семейство Intel MCS-51. Лектор: Люличева И.А. Содержание. Обзор рынка и областей применения МК Основные элементы базовой архитектуры 8051 Карта памяти Блок регистров специальных функций Система команд. 8-разрядные МК.
E N D
Лекция 5 ТЕМА 2 Универсальные микроконтроллеры 2.1 Семейство Intel MCS-51 Лектор: Люличева И.А.
Содержание • Обзор рынка и областей применения МК • Основные элементы базовой архитектуры 8051 • Карта памяти • Блок регистров специальных функций • Система команд
Структурная схема типичного применения МК
1. Семейство Intel MCS-51 • Однокристальный микроконтроллер 8051 является представителем МК семейства Intel MCS-51, которое в настоящее время занимает лидирующую позицию по количеству разновидностей и количеству компаний, которые выпускают его модификации. • На сегодняшний день существует больше 200 модификаций микроконтроллеров, которые выпускаются почти 20 компаниями. Основными производителями “клонов” MCS-51 являются фирмы Philips, Siemens, Intel, Atmel, Dallas Semiconductor, Temic Semiconductor, Oki, AMD, Gold Star, Winbond и ряд других.
Intel MCS-51 • Архитектуру 8051 используют в своих разработках ведущие производители электронного оборудования, создавая MCS- Контролеры (Mixed Signal Microcontroller). Например, Analog Devices, Burr-brown, Texas Instruments ипрочие. • Разработчиком архитектуры MCS-51 является фирма Intel, которая в 1980 году выпустила микроконтроллер 8051 на базе n-МОП технологии, в кристалле было использовано 128 тысяч транзисторов, что в 4 раза превышало количество транзисторов в 16- разрядном микропроцессоре 8086.
Intel MCS-51 • Основные модификации базовой модели 8051: n-моп технология: • 8031AH (KP1816BE31) ‑ без резидентной памяти программ; • 8051АН ( KP1816BE51); • 8751H (KM1816BE751) – EPROM (с ультрафиолетовым стиранием информации); КМОП технология: • 80C31 (KP1830BE31); • 80C51 (KP1830BE51); • 87C751(KM1830BE751) – EPROM.
Структурная схема МК • Основу структурной схемы микроконтроллера образует внутренняя двунаправленная 8- разрядная шина, которая связывает между собой основные узлы и устройства микроконтроллера: • устройство управления (CU), • арифметико-логическое устройство (ALU), • резидентную память программ (ПП, RPM), • резидентную память данных (ПД, RDM), • блок регистров специальных функций, в который входят параллельные порты ввода/вывода, а также программируемые таймеры и последовательный порт.
Блоки MCS-51 • два 16-разрядных счетчика-таймера; • четыре 8-разрядных порта ввода/вывода, каждый бит которых можно настроить на ввод или вывод; • контролер последовательного порта; • контролер обработки прерываний с пятью источниками запросов, двое из которых внешние; • встроенный тактовый генератор;
Intel MCS-51 • 8-розрядное АЛУ; • аппаратная реализация умножения; • развитая система команд с разделенным обращением к памяти программ и памяти данных; • механизм обработки битовых данных, размещенных в резидентномОЗУ данных и в зоне регистров специальных функциях;
Назначение выводов МК51 • RST - Сигнал общего сброса • XTAL1. XTAL2 - Выводы для подключения кварцевого резонатора. • Ucc, Vcc( GND) – питание и земля. • PSEN - Разрешение внешней памяти программ. • ALE - Выходной сигнал строба адреса (для ОЗУ – памяти данных). • Остальные (Р0-Р3, ЕА) детально – в методичке к ЛБ1 и немного позднее.
Память MCS-51 Внутренняя память МК состоит из • четырех банков регистров по 8 регистров в каждом; • резидентной памяти программ 4Кх8; • резидентная памяти данных (ОЗУ) 128 байт (00-7fh), которая обеспечивает гибкое управление его ресурсами за разделена на 3 на зоны - регистров, битов и свободную зону; • пространство регистров специальных функций 128 байт (80h-ffh);
Память MCS-51 МК 8051 имеет Гарвардскую архитектуру. Поэтому его резидентные память программ (ПП) и память данных (ПД), физически и логически разделены, имеют разные механизмы адресации, работают под управлением разных сигналов и выполняют разные функции.
РЕЗИДЕНТНАЯ ПАМЯТЬ ПРОГРАММ 8051 Внутренняя (резидентная) память программ имеет емкость 4 Кбайт и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки и т.п. • Резидентная память программ имеет 12- битную шину адреса, управление которой выполняется счетчиком команд (PC), а также регистром - указателем данных (DPTR). Последний выполняет функции базового регистра при косвенной адресации, или используется в командах работы с таблицами.
Система прерываний включает 5 источников прерываний с фиксированными векторами, из которых 2 внешних (входы INT0, INT1) и 3 внутренних (таймеры 0 и 1, последовательный порт) источника. Вектор прерываний и ПП
Внешняя память • При необходимости пользователь может расширять память программ установкой внешнего ПЗУ. • Доступ к внутреннему или внешнему ПЗУ определяется значением сигнала на выводе ЕА (External Access): EA = Ucc (напряжение питания) – доступ к внутреннему ПЗУ; EA = 0 (потенциал земли) – доступ к внешнему ПЗУ. • Внешняя память программ и данных может составлять по 64 Кбайт и адресоваться с помощью портов P0 и P2.
Подключение внешней памяти программ
Блок регистров специальных функций • Регистры специальных функций - это дополнительные устройства, которые отображаются в адресное пространство внутренней памяти данных. • В различных х51-совместимых микроконтроллерах состав дополнительных устройств различается. Микроконтроллеры различаются между собой количеством параллельных портов, последовательных портов, таймеров. • Регистры специальных функций (для более современного семейства x51) с указанием их адресов в адресном пространстве SFR внутреннего ОЗУ приведены на следующем слайде.
Блок регистров специальных функций (совр. Аналог 8051)
Система команд универсальных микропроцессоров • Система команд любого процессора характеризуется • форматами команд, • группами команд (знать обязательно!) • и видами адресации. • Форматы команд зависят от архитектуры МП, вида адресации, а также от разрядности конкретного МП.
Характеристика системы команд МК 8051 • Группы команд МК • Передачи данных • Арифметические • Логические • Передачи управления • Работы с битами • Форматы команд • 1,2,3 байта • Виды адресации (10 видов!)
Форматы команд • Самые короткие команды (с косвенной адресацией или прямой к аккумулятору) занимают 1 байт. • Примеры 1б команд • NOP, INC A, RR A, MOV A, @Ro • Гораздо больше 2х байтных команд, при этом 1б – код операции, а второй или 8-битный адрес или 8 битные данные, но есть и экзотические команды – AJMP addr11 бит, сколько остается на код? • 5 бит!!
Форматы команд • Примеры 3х байтных команд LJMP ad16; - длинный 2-байта адрес перехода. CJNE R1,#10,rel; - КОП, 8 бит данных, 8 бит адреса перехода.
Виды адресации • Неявная RR A, DAA – 10-тичн. Коррекция А • CLR C – сброс бита переноса (11000011). • Прямая к байтам КОП addr8 • ПримерMOV R0, 40h; ADD R1, R2 • Прямая к битамКОП bit8 • ПримерSETB P0.0, ORL R0.0, C • НепосредственнаяКОП data8 • ПримерMOV R0, #40h; ADD R1, #40h • Косвенная содержит один байт! - КОП • ПримерMOV @R0, A; MOVX @DPTR, #5 • Стековая PUSH R0, ACALL, RET
Группы команд 1. Передачи данныхMOV op1, {#10; Rn; @Ri; Pi} MOVX A,@DPTR; XCH op1, op2; PUSH op1, POP op1. SWAP A – обмен тетрадами. 2. Арифметические команды:INC ор; DEC ор; ADD op1, {#10; Rn; @Ri; Pi} SUB op1, op2; MUL AB; DIV AB; 3. Логических команды и сдвиги: ANL op1, op2; ORL op1, op2; XRLop1, op2; RL A,RR A, RLC A, RRC A циклические сдвиги влево и вправо и через перенос.
Группы команд 4. Командыпередачиуправления: • AJMP ad11; LJMP ad16; SJMP rel(+-шаг7); • JZ/JNZ rel; JС/JNС rel; • JB/JNB rel; DJNZ R1,rel; • CJNE A,P0,rel; • CJNE R1,#10,rel; CZNE r1,#0111011b,rel; • ACALL ad11; LCALL ad16, RET,RETI
Группы команд 5. Команды работы с битами – все что можно делать с битом: • CLR bit, SETB bit; Обнулить или установить • CPL bit; инвертировать • ANL C,bit; ORL C,bit; XRL C,bit; логич. опер • MOV C,bit, MOV bit,C; операции пересылки • Ну и передачи управления по биту JB/JNB.
Пример задержки из двух вложенных циклов • Mov R1, 20h; Прямая адр. длина задержки хранится по адресу 20Н • M0: Mov R2, #FFh • Djnz R2, $; переход на себя • Djnz R1, M0
Формирование коротких импульсов в порту Р0 • Mov R1, #50 • IMP0: Setb P0.0 • NOP • NOP • CLR P0.0 • NOP • Djnz R1, IMP0
Вопросы для самоконтроля • Что такое МК, какие блоки в него входят? • Какие фирмы выпускают аналоги 8051? • Поясните структуру блока регистров спец. Функций МК 8051. • Перечислите группы команд МК 8051. • Приведите по 2 примера 1,2 и 3 байтных команд. • Приведите алгоритм программы задержки из двух циклов.