Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Микроконтроллеры семейства MCS-51. Теория и практика

Покупка
Артикул: 798513.01.99
Доступ онлайн
450 ₽
В корзину
В пособии рассмотрены общие вопросы организации микроконтроллеров семейства MCS-51, детально показана организация и функционирование блоков, система команд. Представлено 6 лабораторных работ, посвященных изучению особенностей и программированию на языке ассемблера микроконтроллеров семейства MCS-51, рассмотрен лабораторный стенд SDK1.1 на базе микроконтроллера ADuC812 компании Analog Devices. Приведены необходимые сведения по работе в системе моделирования однокристальных микроконтроллеров Single-Chip Machine. Пособие предназначено для студентов, обучающихся по дисциплинам «Микропроцессорная техника», «Микропроцессоры в приборах неразрушающего контроля», «Микропроцессоры приборных комплексов», «Системы автоматического управления».
Моисейкин, Е. В. Микроконтроллеры семейства MCS-51. Теория и практика : учебно-методическое пособие / Е. В. Моисейкин. - Екатеринбург : Изд-во Уральского ун-та, 2017. - 144 с. - ISBN 978-5-7996-2167-4. - Текст : электронный. - URL: https://znanium.com/catalog/product/1922220 (дата обращения: 13.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов

                                    
Министерство образования и науки Российской Федерации
Уральский федеральный университет
имени первого Президента России Б. Н. Ельцина

Е. В. Моисейкин

Микроконтроллеры семейства 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 Кбайт).

Доступ онлайн
450 ₽
В корзину