Микроконтроллеры семейства MCS-51. Теория и практика
Покупка
Тематика:
Микроэлектроника. Наноэлектроника
Издательство:
Издательство Уральского университета
Автор:
Моисейкин Евгений Витальевич
Год издания: 2017
Кол-во страниц: 144
Дополнительно
Вид издания:
Учебно-методическая литература
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7996-2167-4
Артикул: 798513.01.99
В пособии рассмотрены общие вопросы организации микроконтроллеров семейства MCS-51, детально показана организация и функционирование блоков, система команд. Представлено 6 лабораторных работ, посвященных изучению особенностей и программированию на языке ассемблера микроконтроллеров семейства MCS-51, рассмотрен лабораторный стенд SDK1.1 на базе микроконтроллера ADuC812 компании Analog Devices. Приведены необходимые сведения по работе в системе моделирования однокристальных микроконтроллеров Single-Chip Machine. Пособие предназначено для студентов, обучающихся по дисциплинам «Микропроцессорная техника», «Микропроцессоры в приборах неразрушающего контроля», «Микропроцессоры приборных комплексов», «Системы автоматического управления».
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 11.03.04: Электроника и наноэлектроника
- 12.03.01: Приборостроение
- 27.03.01: Стандартизация и метрология
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство образования и науки Российской Федерации Уральский федеральный университет имени первого Президента России Б. Н. Ельцина Е. В. Моисейкин Микроконтроллеры семейства MCS‑51 Теория и практика Учебно-методическое пособие Рекомендовано методическим советом Уральского федерального университета для студентов вуза, обучающихся по направлениям подготовки 12.03.01 — Приборостроение, 11.03.04 — Электроника и наноэлектроника, 27.03.01 — Стандартизация и метрология в приборостроении Екатеринбург Издательство Уральского университета 2017
УДК 621.3.049.77(075.8) ББК 32.844.150.2я73 М74 Рецензенты: доц., канд. физ.-мат. наук И. И. Горбачев (Уральский государственный экономический университет); канд. физ.-мат. наук В. С. Черемных (ООО «Прософт-Системы») Научный редактор — проф., д-р физ.-мат. наук И. И. Мильман На обложке изображение с сайта http://www.cpu-galaxy.at/CPU/Ram%20 Rom%20Eprom/Microcontroller/Intel%208051%20section-Dateien/C8051E_ Core_HiRes.jpg Моисейкин, Е. В. М74 Микроконтроллеры семейства MCS-51. Теория и практика : учебнометодическое пособие / Е. В. Моисейкин. — Екатеринбург : Изд-во Урал. ун-та, 2017. — 144 с. ISBN 978-5-7996-2167-4 В пособии рассмотрены общие вопросы организации микроконтроллеров семейства MCS-51, детально показана организация и функционирование блоков, система команд. Представлено 6 лабораторных работ, посвященных изучению особенностей и программированию на языке ассемблера микроконтроллеров семейства MCS-51, рассмотрен лабораторный стенд SDK1.1 на базе микроконтроллера ADuC812 компании Analog Devices. Приведены необходимые сведения по работе в системе моделирования однокристальных микроконтроллеров SingleChip Machine. Пособие предназначено для студентов, обучающихся по дисциплинам «Микропроцессорная техника», «Микропроцессоры в приборах неразрушающего контроля», «Микропроцессоры приборных комплексов», «Системы автоматического управления». Библиогр.: 9 назв. Рис. 29. Табл. 26. Прил. 4. УДК 621.3.049.77(075.8) ББК 32.844.150.2я73 ISBN 978-5-7996-2167-4 © Уральский федеральный университет, 2017
РАЗДЕЛ А 1. Общие сведения о микроконтроллерах семейства MCS‑51 В 1980 году компанией Intel был выпущен микроконтроллер Intel 8051, являющийся первым представителем семейства MCS-51. Технологические особенности данной микросхемы были очень сложны для своего времени вследствие того, что кристалл содержал около 128 тысяч транзисторов, тогда как 16-разрядный микропроцессор Intel 8086, используемый в ПК того времени, включал около 30 тысяч полупроводниковых элементов. Микроконтроллеры семейства MCS-51 представляют собой функционально завершенные 8-разрядные однокристальные микроЭВМ гарвардской архитектуры, содержащие все необходимые узлы для работы в автономном режиме. На основе таких микросхем могут быть реализованы алгоритмы управления различных устройств. В настоящее время некоторые компании продолжают производство микроконтроллеров семейства MCS-51. За всю историю существования этого семейства различными производителями было выпущено несколько сотен модификаций микроконтроллеров, от простых 20-выводных устройств с одним таймером и 1 Кбайт памяти программ до сложнейших 100-выводных кристаллов с 24-разрядными АЦП и 12-разрядными ЦАП, массивами таймер-счетчиков, аппаратными 16-разрядными умножителями, 64 Кбайт программной FLASHпамяти на кристалле, системами управления приводами, USB интерфейсами и т. п. Все микроконтроллеры из семейства MCS-51 имеют общую систему команд. Наличие дополнительного оборудования влияет толь
РАЗДЕЛ А. 1. Общие сведения о микроконтроллерах семейства MCS‑51 ко на количество регистров специальных функций, с помощью которых осуществляется настройка параметров работы соответствующих встроенных узлов. Микроконтроллеры данного семейства выпускаются в корпусах PLCC, DIP и QFP. Рабочие температурные диапазоны производимых микросхем: · коммерческий (0…+70 °C); · расширенный (–40…+85 °C); · для военного использования (–55…+125 °C). 1.1. Структура микроконтроллеров MCS‑51 Все микросхемы семейства обладают аналогичной архитектурой и имеют целый ряд общих узлов (рис. 1) [1, 2]: · 8-разрядный центральный процессор (ЦП), ориентированный на управление исполнительными устройствами. ЦП имеет встроенную схему аппаратного умножения и деления 8-разрядных чисел. Система команд микроконтроллера содержит большое количество операций для работы с прямоадресуемыми битами, таким образом, ядро можно назвать «булевым процессором»; · внутренняя память программ масочного или репрограммируемого типа может иметь объем 4–64 Кбайт в зависимости от модификации микроконтроллера, в некоторых кристаллах может отсутствовать, в последнем случае используется только внешняя память программ; · резидентная память данных объемом не менее 128 байт, предназначена для организации регистровых банков, стека и хранения пользовательских данных; · не менее четырех двунаправленных побитно настраиваемых восьмиразрядных портов ввода-вывода; · два 16-битных программно настраиваемых многорежимных таймер-счетчика, используемых для подсчета внешних событий, организации временных задержек и синхронизации последовательного асинхронного порта; · двунаправленный дуплексный последовательный коммуникационный порт, применяемый для организации обмена информацией между микроконтроллером и внешними устройствами;
1.1. Структура микроконтроллеров MCS‑51 Контроллер прерываний Память программ (ПЗУ) Память данных (ОЗУ) Таймер-счетчик 1 Процессор Тактовый генератор Контроллер шины Порты вводавывода (P0, P1, P2, P3) Последовательный порт Таймер-счетчик 2 четыре 8-битных порта внешние прерывания входные линии счетчиков внутренние прерывания ввод/вывод данных последовательного порта Рис. 1. Структурная схема микроконтроллера MCS-51 · система прерываний, имеющая два уровня приоритета для каждого прерывания, поддерживающая не менее 5 векторов прерываний от внутренних и внешних источников; · встроенный тактовый генератор. Основные технические характеристики центрального процессора микроконтроллеров семейства MCS-51: · разрядность арифметико-логического устройства (АлУ) — 8 бит; · число выполняемых команд — 111; · длина команд — 1, 2 или 3 байт; · число регистров общего назначения (РОН) — 32; · число прямоадресуемых битовых переменных — 128; · число прямоадресуемых битов в области регистров специальных функций — 128; · максимальный объем памяти программ — 64 Кбайт; · максимальный объем памяти данных — 64 Кбайт; · максимальный объем внутренней памяти данных — 256 байт; · время выполнения команд при тактовой частоте 12 МГц — сложение — 1 мкс; пересылки «регистр — внешняя память данных» — 2 мкс; умножение-деление — 4 мкс; методы адресации операнда — регистровый, косвенный, прямой, непосредственный.
РАЗДЕЛ А. 1. Общие сведения о микроконтроллерах семейства MCS‑51 Различные представители семейства микроконтроллеров MCS-51 включают в себя широкий набор дополнительных средств для эффективной обработки асинхронных событий, измерения частот и временных интервалов, обработки аналоговых сигналов, управления двигателями, организации мультипроцессорных систем. Связь основных блоков и узлов микроконтроллеров семейства MCS-51 (рис. 2), таких как резидентная память, АлУ, блок регистров специальных функций, устройство управления, порты ввода-вывода, осуществлена с помощью внутренней двунаправленной 8-битной шины. RPM EPROM (4Kx8) RDM RAM (128x8) PC DPTR DPL DPH RAR SP P0 P0.0 P0.1 P0.7 .... PSW ALU DCU T1 T2 A B 16 16 16 OSC CU IR PSEN ALE/PROG EA/VPP RST/VPD P2 P2.0 P2.1 P2.7 .... 8 8 8 8 8 8 8 8 8 8 8 8 8 8 P1 P1.0 P1.1 P1.7 .... P3 P3.0 P3.1 P3.7 .... Блок таймеров прерываний и , последовательного порта PCON TMOD TCON SCON IE Timer 0 SBUF TH0 TL0 IP Timer 1 TH1 TL1 Управление 8 8 8 XTAL1 XTAL2 8 +Vcc GND младшие разряды адреса внешней памяти старшие разряды адреса внешней памяти 8 Рис. 2. Подробная структурная схема микроконтроллера Intel 8051
1.1. Структура микроконтроллеров MCS‑51 Ниже рассмотрены основные элементы структуры микроконтроллеров семейства MCS-51 на примере микросхемы Intel 8051: · DCU (Decimal Correction Unit) — схема десятичной коррекции; · PSW (Program Status Word) — схема формирования признаков результата и регистр признаков; · RPM EPROM (Resident Program Memory EPROM) — встроенная (внутренняя) память программ (ПЗУ) объемом 4 Кбайт; · RDM RAM (Resident Data Memory RAM) — встроенная (внутренняя) память данных (ОЗУ) объемом 128 байт; · OSC — схема синхронизации; · CU (Control Unit) — схема управления; · IR (Instruction Register) — программно недоступный регистр для хранения кода операции; · Т1 (Temp 1), Т2 (Temp 2) — программно недоступные регистры, служат для временного хранения операндов; · В — восьмиразрядный регистр, используемый для операций умножения и деления; · SP (Stack Pointer) — указатель стека; · PC (Program Counter) — счетчик команд; · RAR (RAM Address Register) — регистр-указатель данных; · DPTR (Data Pointer Register) — 16-битный регистр-указатель адреса. Является совокупностью двух 8-разрядных независимых регистров DPL (младший байт DPTR) и DPH (старший байт DPTR). В микропроцессорах, основанных на аккумуляторной архитектуре, большинство команд использует аккумулятор как источник операнда и (или) приемник результата с помощью неявной адресации. ЦП Intel 8051 основан на аккумуляторной архитектуре, но при выполнении части команд аккумулятор не используется. Например, некоторые варианты команды MOV позволяют передавать данные из любой ячейки ОЗУ в любой регистр или другую ячейку памяти, записывать константы в любой регистр и т. д. Основные логические операции могут быть произведены над ячейками памяти данных без использования аккумулятора. Кроме того, переменные могут быть инкрементированы, декрементированы и проверены без использования аккумулятора. Работа с битовыми переменными, такими как флаги, управляющие биты, осуществляется с использованием «булевого» аккумулятора, но без применения основного 8-разрядного аккумулятора.
РАЗДЕЛ А. 1. Общие сведения о микроконтроллерах семейства MCS‑51 1.2. Арифметико‑логическое устройство АлУ представляет собой параллельное восьмиразрядное устройство, обеспечивающее выполнение арифметических операций: сложение, вычитание, умножение и деление; логических операций: И, ИлИ, исключающее ИлИ; операций логического сдвига, обнуления, установки, инвертирования и др. Для выполнения некоторых команд, таких как инкрементирование ячеек памяти и регистров, автоматическое вычисление следующего адреса выполняемой команды и т. д., в АлУ используется простейшая операция сложения. Кроме того, декрементирование регистров и сравнение переменных осуществляется в АлУ с помощью простейшей операции вычитания. ЦП микроконтроллеров семейства MCS-51 является типичным представителем процессоров CISC-архитектуры. Одной из характеристик таких процессоров является наличие сложных (многотактных) команд. Для рассматриваемого процессора один машинный цикл составляет 12 тактов, в зависимости от сложности команды ее время выполнения может составлять 1, 2 или 4 машинных цикла. Таким образом, простейшие операции образуют группы для выполнения более сложных операций. Другими словами, для выполнения сложных команд в АлУ реализуется механизм каскадного исполнения простейших операций. Например, при выполнении команды DJNZ, предназначенной для условного перехода на указанный адрес по результату сравнения значения ячейки внутренней памяти программ с нулем, в АлУ трижды инкрементируется счетчик команд, дважды производится чтение из внутренней памяти данных, выполняется арифметическое сравнение двух переменных, формируется 16-битный адрес перехода и принимается решение о том, делать или не делать переход по указанному адресу. Все перечисленные операции выполняются в АлУ за 2 машинных цикла, что при частоте 12 МГц составляет 2 мкс. Важной особенностью АлУ является его способность оперировать не только байтами, но и битами. Отдельные программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы, проверены и использованы в логических операциях. Способность АлУ оперировать битами широко применяется при разработке программ управления различными объектами вследствие того, что все
1.3. Организация памяти данных, памяти программ и регистров параллельные порты ввода-вывода отображены в битовом пространстве данных. Это позволяет управлять каждым выводом микросхемы в отдельности, независимо от состояния других. Реализация подобных механизмов взаимодействия средствами обычных микропроцессоров вызывает определенные трудности. Таким образом, АлУ может оперировать четырьмя типами информационных объектов: булевскими (1 бит), цифровыми (4 бит), байтными (8 бит) и адресными (16 бит). В АлУ выполняется 51 различная операция пересылки или преобразования этих данных. Комбинированием операций и режимов адресации (7 для данных и 4 для адресов) базовое число команд 111 увеличивается до 255 из 256 возможных при однобайтном коде операции. 1.3. Организация памяти данных, памяти программ и регистров По способу организации пространства памяти микропроцессорные системы подразделяются на два основных типа архитектур: архитектуру фон Неймана (или принстонская архитектура) и гарвардскую архитектуру. Микроконтроллеры рассматриваемого семейства построены по гарвардской архитектуре, в этом случае память программ и память данных представляют собой независимые устройства, которые физически и логически разделены, каждое имеет собственное адресное пространство, использует собственные линии связи с АлУ и различные управляющие сигналы. Микроконтроллеры семейства MCS-51 позволяют использовать и управлять пятью (частично пересекающимися) адресными пространствами памяти, четыре из которых относятся к памяти данных (рис. 3) [2]: · RSEG — пространство регистров (4×8 байт); · DSEG — пространство внутренней (или резидентной) памяти данных (РПД) (256 байт); · BSEG — битовое пространство данных (256 бит); · XSEG — пространство внешней памяти данных (ВПД) (до 64 Кбайт); · CSEG — пространство внутренней и (или) внешней памяти программ (до 64 Кбайт).