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

Основы схемотехники однокристальной ВМ х51

Учебное пособие по курсу «Схемотехника ЭВМ»
Покупка
Артикул: 816405.01.99
Доступ онлайн
104 ₽
В корзину
Пособие предназначено для первоначального ознакомления со структурой и основными особенностями однокристальной ВМ (ОВМ) семейства х51, ставшей промышленным стандартом для 8-битных процессоров. Изложены базовые сведения о схемотехнике выходных цепей и внутренних узлов ОВМ. Приведено описание системы команд, особенностей оформления программ, примеры типовых процедур, которые могут быть использованы при курсовом проектировании.
Аверченков, О. Е. Основы схемотехники однокристальной ВМ х51 : учебное пособие по курсу «Схемотехника ЭВМ» / О. Е. Аверченков. - 2-е изд. - Москва : ДМК Пресс, 2023. - 105 с. - ISBN 978-5-89818-365-3. - Текст : электронный. - URL: https://znanium.com/catalog/product/2103599 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Основы схемотехники 
однокристальной ВМ х51 

Учебное пособие 
по курсу «Схемотехника ЭВМ»

Москва, 2023

Аверченков О. Е.

2-е издание, электронное

УДК004.318(075.8)
ББК32.973.26-04я73-1
А19

Допущено учебно-методическим объединением вузов 
по университетскому политехническому образованию 
в качестве учебного пособия для студентов высших учебных заведений, 
обучающихся по специальности 230101 
«Вычислительные машины, комплексы, системы и сети».

Рецензент кандидат технических наук, доцент филиала ГОУВПО 
«МЭИ (ТУ)» в г. Смоленске Ю. В. Троицкий.

А19
Аверченков, Олег Егорович. 

Основы схемотехники однокристальной ВМ х51 : учебное пособие по 
курсу «Схемотехника ЭВМ» / О. Е. Аверченков. — 2-е изд., эл. — 1 файл pdf : 
105 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader 
XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный.

ISBN 978-5-89818-365-3
Пособие предназначено для первоначального ознакомления со структурой и основными особенностями однокристальной ВМ (ОВМ) семейства х51, ставшей промышленным стандартом для 8-битных процессоров. Изложены базовые сведения о 
схемотехнике выходных цепей и внутренних узлов ОВМ. Приведено описание системы команд, особенностей оформления программ, примеры типовых процедур, 
которые могут быть использованы при курсовом проектировании.

УДК 004.318(075.8) 
ББК 32.973.26-04я73-1

Электронное издание на основе печатного издания: Основы схемотехники однокристальной 
ВМ х51 : учебное пособие по курсу «Схемотехника ЭВМ» / О. Е. Аверченков. — Москва : ДМК 
Пресс, 2012. — 104 с. — ISBN 978-5-94074-384-2. — Текст : непосредственный.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было 
форме и какими бы то ни было средствами без  письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических 
ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность 
приводимых сведений. В связи с этим издательство не несет ответственности за возможные  ошибки, связанные с использованием книги.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами 
защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-365-3
© Аверченков О. Е., 2012
© Оформление, ДМК Пресс, 2012

СОДЕРЖАНИЕ

Введение ..........................................................................................................................................6

1
 Внутренние ресурсы ОВМ семейства х51 .................................................................8
1.1. Общее описание ОВМ х51 ........................................................................................9
1.1.1. Внутренняя структура ОВМ ........................................................................9
1.1.2. Процессорное ядро ...........................................................................................9
1.1.3. Внутренняя периферия ................................................................................10
1.1.4. Условное графическое обозначение .........................................................10
1.1.5. Служебные выводы общего назначения ................................................12
1.1.6. Выводы для обслуживания внешней памяти .......................................13
1.1.7. Альтернативные функции порта Р3 .........................................................14
1.2. Особенности выходных цепей портов.................................................................15
1.2.1. Выходные цепи порта Р0 .............................................................................15
1.2.2. Выходные цепи портов Р1, Р2, Р3 ............................................................16
1.2.3. Особенности маловыводного варианта х51 ..........................................17
1.2.4. Подключение нагрузки к выводу порта .................................................18
1.2.5. Внешний ключ на n-p-n-транзисторе ......................................................20
1.2.6. Внешний ключ на p-n-p-транзисторе ......................................................22
1.3. Работа ОВМ и структура памяти  ........................................................................22
1.3.1. Общие сведения ..............................................................................................22
1.3.2. Структура памяти команд (ПЗУ).............................................................23
1.3.3. Способы занесения кодов во внутреннее ПЗУ ....................................24
1.3.4. Структура памяти данных ...........................................................................25
1.3.5. Навигация по ячейкам памяти ..................................................................26
1.4. Спецрегистры ОВМ х51 ...........................................................................................27
1.4.1. Аккумулятор ....................................................................................................27
1.4.2. Регистр признаков..........................................................................................28
1.4.3. «Нефиксируемые» признаки результата ...............................................29
1.4.4. Особые биты регистра признаков .............................................................29
1.4.5. Регистры-указатели .......................................................................................30
1.4.6. Спецрегистры внутренней периферии ...................................................30
1.5. Память данных – регистры и операнды .............................................................31
1.5.1. Структура основного ОЗУ ................................................................................31
1.5.2. Определение операндов пользователя ....................................................32
1.5.3. Использование зарегистрированных имен ...........................................33
1.6. Методы адресации операндов ................................................................................34
1.6.1. Непосредственная адресация .....................................................................34
1.6.2. Регистровая адресация .................................................................................34
1.6.3. Прямая адресация ..........................................................................................35
1.6.4. Косвенная адресация .....................................................................................35
1.6.5. Относительная адресация ...........................................................................36

2
 Перечень команд ОВМ х51 ...........................................................................................37
2.1. Особенности ассемблерных команд.....................................................................38
2.1.1. Мнемокоды команд........................................................................................38
2.1.2. Особенности записи мнемокода команды .............................................38

СОДЕРЖАНИЕ
4

2.2. Команды пересылки данных...................................................................................39
2.2.1. Общий вид команд пересылки ...................................................................39
2.2.2. Регистровые пересылки ...............................................................................40
2.2.3. Пересылки с косвенно-регистровой адресацией .................................41
2.2.4. Пересылки с прямой адресацией  .............................................................42
2.2.5. Пересылка (загрузка) констант  ................................................................43
2.2.6. Загрузка констант из ПЗУ с адресацией по сумме регистров ........43
2.3. Арифметические команды.......................................................................................44
2.3.1. Общие особенности .......................................................................................44
2.3.2. Команды сложения (ADD) .........................................................................45
2.3.3. Команды вычитaния ......................................................................................45
2.3.4. Команда десятичной коррекции аккумулятора ...................................46
2.3.5. Команда умножения ......................................................................................47
2.3.6. Команда деления.............................................................................................47
2.4. Логические команды .................................................................................................47
2.4.1. Команды логического умножения ............................................................47
2.4.2. Команды логического сложения ...............................................................48
2.4.3. Команды «иcключaющeго ИЛИ» .............................................................48
2.4.4. Команды ротации (сдвига) .........................................................................49
2.4.5. Команды очистки и инвертирования аккумулятора .........................49
2.4.6. Команды побитовой обработки .................................................................50
2.5. Команды передачи управления  ............................................................................51
2.5.1. Общие сведения ..............................................................................................51
2.5.2. Разновидности команд перехода ...............................................................52
2.5.3. Безусловные переходы .................................................................................52
2.5.4. Условные переходы ........................................................................................54
2.5.5. Сдвоенные условные команды перехода  ..............................................55
2.5.6. Вызовы подпрограмм  ...................................................................................56
2.6. Оформление ассемблерной программы .............................................................57
2.6.1. Структура ассемблерной программы ......................................................57
2.6.2. Определение констант и распределение внешних выводов ............58
2.6.3. Резервирование ячеек для переменных в памяти данных ...............59
2.6.4. Заполнение особых ячеек в ПЗУ ..............................................................59
2.6.5. Текст основной части программы  ............................................................60
2.6.6. Подпрограмма и макрос ...............................................................................60
2.6.7. Тексты используемых процедур ................................................................61
2.6.8 Размещение массивов констант в ПЗУ  ..................................................62
2.6.9 Общие советы ...................................................................................................62

3
 Управление внутренней аппаратурой ОВМ х51 .......................................................64
3.1. Запись (вывод) информации битовыми командами......................................65
3.1.1. Особенности адресации битов ...................................................................65
3.1.2. Установка, сброс и инвертирование отдельных битов ......................66
3.1.3. Вывод – копирование групп битов ..........................................................66
3.1.4. Вывод битов в последовательном формате ...........................................67
3.2. Чтение (ввод) информации битовыми командами  .......................................68
3.2.1. Ввод (чтение) одиночного бита .................................................................68
3.2.2. Чтение и анализ бита.....................................................................................69
3.2.3. Чтение групп битов из разных портов ....................................................70
3.2.4. Чтение последовательного формата битов ............................................70

СОДЕРЖАНИЕ

3.3. Ввод-вывод информации байтовыми командами  ..........................................71
3.3.1. Вывод (запись) байтовых констант и переменных.............................72
3.3.2. Установка групп битов байтовыми командами  ...................................72
3.3.3. Сброс групп битов байтовыми командами  ...........................................74
3.3.4. Инвертирование групп битов байтовыми командами  .....................74
3.3.5. Ввод (чтение) байтовой информации .....................................................74
3.3.6. Ввод (чтение) информации групп битов байтовыми 
командами ....................................................................................................................75
3.4. Управление прерываниями  ....................................................................................75
3.4.1. Общие сведения ..............................................................................................75
3.4.2. Регистр разрешения прерываний IE ........................................................76
3.4.3. Регистр управления приоритетами IP ....................................................76
3.4.4. Управление типом внешних прерываний ..............................................77
3.4.5. Запросы прерываний .....................................................................................77
3.5. Пример программы для внешнего прерывания ...............................................78
3.5.1. Организация внешнего прерывания ........................................................78
3.5.2. Пример процедуры внешнего прерывания............................................79
3.5.3. Использование процедуры прерывания .................................................79
3.6. Регистры и возможности таймеров  .....................................................................80
3.6.1. Регистр управления таймерами TCON ..................................................80
3.6.2. Формат регистра режима TMOD .............................................................81
3.6.3. Инициализация (загрузка) регистра TMOD .......................................82
3.6.4. Загрузка регистров данных .........................................................................82
3.6.5. Чтение регистров данных ............................................................................83
3.7. Счет времени при помощи таймеров  ..................................................................83
3.7.1. Общие сведения ..............................................................................................83
3.7.2. 16-битный счет времени  ..............................................................................84
3.7.3. 8-битный счет времени с перезагрузкой .................................................86
3.7.4. Отсчет времени без использования прерывания ................................87
3.7.5. Отсчет времени с использованием прерываний ..................................87
3.8. Управление последовательным портом  .............................................................89
3.8.1. Общие сведения ..............................................................................................89
3.8.2. Назначение битов регистра управления SCON ...................................91
3.8.3. Управление режимами последовательного порта  ..............................92
3.8.4. Режим аппаратного различения 9-го бита при приеме .....................94
3.8.5. Бит последовательного порта в регистре управления 
мощностью PCON .....................................................................................................95
3.9. Особенности инициализации последовательного порта  .............................96
3.9.1. Выбор режима тактирования последовательного порта  .................96
3.9.2. Использование таймера Т1 для тактирования 
последовательного порта  .......................................................................................97
3.9.3. Погрешность задания стандартной скорости .......................................98
3.9.4. Пример инициализации последовательного порта ............................99
3.10. Процедуры для последовательного порта  ....................................................100
3.10.1. Программное ожидание посылки .........................................................100
3.10.2. Прием по прерыванию..............................................................................100
3.10.3. Передача байта без использования прерываний .............................101
3.10.4. Передача с ожиданием окончания посылки .....................................102
3.10.5. Передача пакета данных по прерыванию ..........................................102

Список используемых сокращений ..................................................................................103

Литература ..................................................................................................................................103

Введение

Как известно, экономическую целесообразность производства микросхем определяет их тираж, который, в свою очередь, зависит от 
степени универсальности изделия. Поэтому в настоящее время стараются по возможности унифицировать элементную базу, используя 
два пути реализации универсального схемотехнического элемента. 
Первый – аппаратный, когда изготавливается интегральная 
схема в виде набора логических и аналоговых элементов, которые 
коммутируются пользователем при программировании, определяя 
заданную схему. Заметим, что в этом случае достигается предельное 
для используемых элементов быстродействие.
Второй путь – программный, когда необходимая функция по обработке данных в виде программного алгоритма заносится в память 
однокристальной ВМ (ОВМ), которая под управлением программы 
реализует необходимые операции. Быстродействие в этом случае 
существенно хуже, поскольку необходимые функции пpиxoдитcя 
peaлизoвывaть пocлeдoвaтeльнo вo вpeмeни. 
Однако на практике в диапазоне относительно низких рабочих 
частот существует огромный круг задач, где применение ОВМ экономически и технически оправдано благодаря вычислительному потенциалу процессорного ядра. 
Отметим также, что в настоящее время происходит естественное 
слияние двух путей создания универсальных микросхем, аппаратного и программного, в рамках концепции «система на кристалле» 
(СнК), когда реализуют программируемые цифровые и аналоговые 
цепи вместе с процессорным ядром на одном кристалле. Поэтому 
изуче ние основ схемотехники и принципа действия ОВМ совершенно необходимо современному специалисту. 
В настоящее время существует множество процессорных семейств, 
отличающихся назначением, внутренней структурой, системой 
команд, набором внутренних узлов и средствами общения с внешним миром. Но первое знакомство с ОВМ недаром начинают с изучения неустаревающего 8-разрядного семейства MCS-51, разработанного фирмой Intel много лет назад и до сих пор успешно конкурирующего со своими 16- и 32-битными собратьями. 
Десятки зарубежных компаний производят сотни модификаций 
(клонов) этого семейства – от простых маловыводных, которые за 
ограниченность вычислительных ресурсов иногда называют микроконтроллерами, до сложнейших многовыводных кристаллов с массивами таймеров-счетчиков, АЦП, интерфейсными схемами и зна
ВВЕДЕНИЕ

чительными объемами памяти. И самое интересное, что ядро х51 
по-прежнему используется в новых разработках (например, в СнК), 
поскольку его архитектура функционально достаточна для множества применений и имеет существенный резерв для повышения быстродействия, снижения потребляемой мощности и увеличения объемов памяти.
Как показывает опыт, освоение общих механизмов работы основных узлов ОВМ х51 оказывается весьма полезным в дальнейшем 
при изучении более сложных процессорных семейств.
Чтобы более наглядно иллюстрировать процессы, происходящие 
внутри ОВМ, принципы действия ее внутренних узлов будут поясняться при помощи средств языка ассемблера. В дальнейшем будем придерживаться в основном рекомендаций, изложенных в ОСТ 
110342.2–87 «Язык ассемблера АСМ51». 
Имена переменных и процедур, вводимые пользователем в примерах программных фрагментов, будут начинаться с префикса «my», 
чтобы отличать их от стандартных  имен спецрегистров, операторов 
и директив, которые для большей заметности будут набраны жирным шрифтом. 

СТРАНИЦА
ГЛАВА

ВНУТРЕННИЕ РЕСУРСЫ 
ОВМ СЕМЕЙСТВА х51
1

2
Перечень команд ОВМ х51
37
3
Управление внутренней аппаратурой 
ОВМ х51
64

ОБЩЕЕ ОПИСАНИЕ ОВМ х51

В этой главе приводятся основные сведения для первоначального 
знакомства с функциональными возможностями ОВМ, которые, не 
подменяя справочных, дают опорный материал для использования 
в дальнейшем при изучении процессоров других семейств.

1.1. Общее описание ОВМ х51

1.1.1. Внутренняя структура ОВМ

Под ОВМ обычно понимается функционально законченная БИС, 
имеющая в своем составе (рис. 1.1) все необходимые узлы для самостоятельной работы по программе с целью обслуживания внешних 
устройств. 

Рис. 1.1

Как правило, в ОВМ выделяют две части, основную (собственно 
ВМ) и дополнительную (набор вспомогательных устройств). 

1.1.2. Процессорное ядро

Основой ОВМ х51 являются:
 
• 8-разрядный процессор, обеспечивающий вычисления и управление по программе;
 
• память команд в виде постоянного запоминающего устройства 
(ПЗУ), где хранится программа;
 
• память данных, которую часто для простоты называют оперативным запоминающим устройством (ОЗУ);
 
• тактовый генератор (с внешним кварцем), обеспечивающий 
внутреннюю синхронизацию.
Раздельная память команд и данных (гарвардская архитектура) 
применяется в большинстве ОВМ, поскольку позволяет при модер
ВНУТРЕННИЕ РЕСУРСЫ ОВМ СЕМЕЙСТВА х51
10

низации процессора увеличивать размер памяти без опасности наложения адресных пространств ПЗУ и ОЗУ друг на друга. 
Процессор взаимодействует со своим обрамлением через внутреннюю системную магистраль, но обычно этот обмен скрыт от пользователя. 

1.1.3. Внутренняя периферия

Важной частью ОВМ является набор так называемых внутренних 
периферийных устройств, предназначенных для взаимодействия 
с внешними объектами и аппаратной реализации некоторых функций – счета и измерения времени, цифрового и аналогового вводавывода, организации последовательной связи и т. д. Следует отметить, что набор этих устройств для разных семейств различен, но 
в любом случае имеются регистры, называемые портами, для внешнего ввода-вывода цифровых сигналов. 
В стандартном варианте ОВМ х51 имеет 4 порта, два таймерасчетчика, последовательный порт и схему прерываний, особенности 
которых будут рассмотрены далее. 
В каждом из подобных устройств имеются несколько регистров, 
организующих их работу и называемых специальными регистрами 
(SFR – SPECIAL FUNCTION REGISTERS), в отличие регистров общего назначения (РОН), необходимых для вычислений. Все спецрегистры 
имеют стандартные символические имена, которые понимаются 
инструментальными программами и используются программистами. Например, регистры четырех портов обозначаются как Р0, Р1, 
Р2, Р3, регистр управления для последовательного порта имеет имя 
SCON (SERIAL CONTROL). Другие стандартные имена спецрегистров 
будут рассмотрены по ходу пояснения.
Отметим только, что в состав внутренней периферии более сложных ОВМ дополнительно входят энергонезависимая память данных, 
АЦП, ЦАП, цифровые часы, интерфейс (например, USB) и другие 
устройства, необходимые микропроцессорной системе для обслуживания внешних объектов. Эти дополнительные устройства имеют 
свой набор и имена спецрегистров.

1.1.4. Условное графическое обозначение

Выполнено, как обычно, в виде прямоугольника (рис. 1.2), в центральном поле которого пишется знак процессора – CPU. Как известно, обозначения внешних входов должны размещаться слева, 

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