Лекция №5 - WordPress.com

advertisement
Лекция 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
Download