Лекция 5 ТЕМА 2 Универсальные микроконтроллеры 2.1 Семейство Intel MCS-51 Лектор: Люличева И.А. 1 Содержание Обзор рынка и областей применения МК Основные элементы базовой архитектуры 8051 Карта памяти Блок регистров специальных функций Система команд 2 8-разрядные МК 3 Области применения 8разрядных МК 4 Структурная схема типичного применения МК 5 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 и ряд других. 6 Intel MCS-51 Архитектуру 8051 используют в своих разработках ведущие производители электронного оборудования, создавая MCS- Контролеры (Mixed Signal Microcontroller). Например, Analog Devices, Burr-brown, Texas Instruments и прочие. Разработчиком архитектуры MCS-51 является фирма Intel, которая в 1980 году выпустила микроконтроллер 8051 на базе n-МОП технологии, в кристалле было использовано 128 тысяч транзисторов, что в 4 раза превышало количество транзисторов в 16- разрядном микропроцессоре 8086. 7 Intel MCS-51 Основные модификации базовой модели 8051: n-моп технология: 8031AH (KP1816BE31) - без резидентной памяти программ; 8051АН ( KP1816BE51); 8751H (KM1816BE751) – EPROM (с ультрафиолетовым стиранием информации); КМОП технология: 80C31 (KP1830BE31); 80C51 (KP1830BE51); 87C751(KM1830BE751) – EPROM. 8 Структурная схема МК Основу структурной схемы микроконтроллера образует внутренняя двунаправленная 8- разрядная шина, которая связывает между собой основные узлы и устройства микроконтроллера: устройство управления (CU), арифметико-логическое устройство (ALU), резидентную память программ (ПП, RPM), резидентную память данных (ПД, RDM), блок регистров специальных функций, в который входят параллельные порты ввода/вывода, а также программируемые таймеры и последовательный порт. 9 Рисунок 1. Структура ОМК Intel 8051 10 Блоки MCS-51 два 16-разрядных счетчика-таймера; четыре 8-разрядных порта ввода/вывода, каждый бит которых можно настроить на ввод или вывод; контролер последовательного порта; контролер обработки прерываний с пятью источниками запросов, двое из которых внешние; встроенный тактовый генератор; 11 Intel MCS-51 8-розрядное АЛУ; аппаратная реализация умножения; развитая система команд с разделенным обращением к памяти программ и памяти данных; механизм обработки битовых данных, размещенных в резидентном ОЗУ данных и в зоне регистров специальных функциях; 12 Назначение выводов МК51 RST - Сигнал общего сброса XTAL1. XTAL2 - Выводы для подключения кварцевого резонатора. Ucc, Vcc( GND) – питание и земля. PSEN - Разрешение внешней памяти программ. ALE - Выходной сигнал строба адреса (для ОЗУ – памяти данных). Остальные (Р0-Р3, ЕА) детально – в методичке к ЛБ1 и немного позднее. 13 Память MCS-51 Внутренняя память МК состоит из четырех банков регистров по 8 регистров в каждом; резидентной памяти программ 4Кх8; резидентная памяти данных (ОЗУ) 128 байт (00-7fh), которая обеспечивает гибкое управление его ресурсами за разделена на 3 на зоны - регистров, битов и свободную зону; пространство регистров специальных функций 128 байт (80h-ffh); 14 Память MCS-51 МК 8051 имеет Гарвардскую архитектуру. Поэтому его резидентные память программ (ПП) и память данных (ПД), физически и логически разделены, имеют разные механизмы адресации, работают под управлением разных сигналов и выполняют разные функции. 15 Резидентная память данных 16 РЕЗИДЕНТНАЯ ПАМЯТЬ ПРОГРАММ 8051 Внутренняя (резидентная) память программ имеет емкость 4 Кбайт и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки и т.п. Резидентная память программ имеет 12- битную шину адреса, управление которой выполняется счетчиком команд (PC), а также регистром указателем данных (DPTR). Последний выполняет функции базового регистра при косвенной адресации, или используется в командах работы с таблицами. 17 Вектор прерываний и ПП Система прерываний включает 5 источников прерываний с фиксированными векторами, из которых 2 внешних (входы INT0, INT1) и 3 внутренних (таймеры 0 и 1, последовательный порт) источника. 0030 0023 001В 0013 000B 0003 0000 Free memory SINT Т1 Int1 T0 Int0 Reset 18 Внешняя память При необходимости пользователь может расширять память программ установкой внешнего ПЗУ. Доступ к внутреннему или внешнему ПЗУ определяется значением сигнала на выводе ЕА (External Access): EA = Ucc (напряжение питания) – доступ к внутреннему ПЗУ; EA = 0 (потенциал земли) – доступ к внешнему ПЗУ. Внешняя память программ и данных может составлять по 64 Кбайт и адресоваться с помощью портов P0 и P2. 19 Подключение внешней памяти программ 20 Блок регистров специальных функций Регистры специальных функций - это дополнительные устройства, которые отображаются в адресное пространство внутренней памяти данных. В различных х51-совместимых микроконтроллерах состав дополнительных устройств различается. Микроконтроллеры различаются между собой количеством параллельных портов, последовательных портов, таймеров. Регистры специальных функций (для более современного семейства x51) с указанием их адресов в адресном пространстве SFR внутреннего ОЗУ приведены на следующем слайде. 21 Блок регистров специальных функций (совр. Аналог 8051) 22 Альтернативные функции порта Р3 23 Система команд универсальных микропроцессоров Система команд любого процессора характеризуется форматами команд, группами команд (знать обязательно!) и видами адресации. Форматы команд зависят от архитектуры МП, вида адресации, а также от разрядности конкретного МП. 24 Характеристика системы команд МК 8051 Группы команд МК Передачи данных Арифметические Логические Передачи управления Работы с битами Форматы команд 1,2,3 байта Виды адресации (10 видов!) 25 Форматы команд Самые короткие команды (с косвенной адресацией или прямой к аккумулятору) занимают 1 байт. Примеры 1б команд NOP, INC A, RR A, MOV A, @Ro Гораздо больше 2х байтных команд, при этом 1б – код операции, а второй или 8битный адрес или 8 битные данные, но есть и экзотические команды – AJMP addr11 бит, сколько остается на код? 5 бит!! 26 Форматы команд 27 Форматы команд Примеры 3х байтных команд LJMP ad16; - длинный 2-байта адрес перехода. CJNE R1,#10,rel; - КОП, 8 бит данных, 8 бит адреса перехода. 28 Форматы команд 29 Виды адресации Неявная 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 30 Группы команд 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; XRL op1, op2; RL A,RR A, RLC A, RRC A циклические сдвиги влево и вправо и через перенос. 31 Группы команд 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 32 Группы команд 5. Команды работы с битами – все что можно делать с битом: CLR bit, SETB bit; Обнулить или установить CPL bit; инвертировать ANL C,bit; ORL C,bit; XRL C,bit; логич. опер MOV C,bit, MOV bit,C; операции пересылки Ну и передачи управления по биту JB/JNB. 33 Пример задержки из двух вложенных циклов Mov R1, 20h; Прямая адр. длина задержки хранится по адресу 20Н M0: Mov R2, #FFh Djnz R2, $; переход на себя Djnz R1, M0 34 Формирование коротких импульсов в порту Р0 Mov R1, #50 IMP0: Setb P0.0 NOP NOP CLR P0.0 NOP Djnz R1, IMP0 35 Вопросы для самоконтроля Что такое МК, какие блоки в него входят? Какие фирмы выпускают аналоги 8051? Поясните структуру блока регистров спец. Функций МК 8051. Перечислите группы команд МК 8051. Приведите по 2 примера 1,2 и 3 байтных команд. Приведите алгоритм программы задержки из двух циклов. 36