Микрокомпьютерные системы управления. Первое знакомство
Покупка
Новинка
Издательство:
ДМК Пресс
Автор:
Суэмацу Ёсикадзу
Под ред.:
Амэмия Ёсифуми
Год издания: 2017
Кол-во страниц: 256
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-97060-502-8
Артикул: 661885.02.99
Kнига призвана дать общее представление об областях применения и возможностях микрокомпьютеров, используемых в качестве управляющих устройств различными процессами и системами. В популярной форме излагаются основные понятия из области микропроцессорной техники, программирования, цифровой электроники, методы обработки данных, возможности и конфигурация микрокомпьютеров. На примере конкретных задач управления подробно рассмотрены принципы составления программ для микроЭВМ, системы команд, взаимодействие с периферийными устройствами. Предназначена для начинающих радиолюбителей, студентов и школьников, осваивающих основы проектирования и программирования микропроцессорных контроллеров.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Программирование и алгоритмизация
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 02.03.02: Фундаментальная информатика и информационные технологии
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МОСКВА ДМК Пресс, Додэка МИКРОКОМПЬЮТЕРНЫЕ СИСТЕМЫ УПРАВЛЕНИЯ. ПЕРВОЕ ЗНАКОМСТВО ЁСИКАДЗУ СУЭМАЦУ под редакцией Ёсифуми Амэмия 2017
Yoshifumi AMEMIYA / Yoshikazu SUEMATSU Illustrated Introduction to Mechatronics Introduction to Personal Computer Based Controllers Revised 2nd Edition
МИКРОКОМПЬЮТЕРНЫЕ СИСТЕМЫ УПРАВЛЕНИЯ ПЕРВОЕ ЗНАКОМСТВО ЁСИКАДЗУ СУЭМАЦУ под редакцией Ёсифуми Амэмия Москва, 2017 — 1 —
УДК 004.382.7 ББК 32.973.26 С89 С89 Суэмацу, Ёсикадзу Микрокомпьютерные системы управления. Первое знакомство. /Пер. с яп.; под ред. Ёсифуми Амэмия. — 2е изд., стер. — М.: ДМК Пресс, 2017. — 256 с.: ил. ISBN 9785970605028 Kнига призвана дать общее представление об областях применения и возможностях микрокомпьютеров, используемых в качестве управляющих устройств различными процессами и системами. В популярной форме излагаются основные понятия из области микропроцессорной техники, программирования, цифровой электроники, методы обработки данных, возможности и конфигурация микрокомпьютеров. На примере конкретных задач управления подробно рассмотрены принципы составления программ для микроЭВМ, системы команд, взаимодействие с периферийными устройствами. Предназначена для начинающих радиолюбителей, студентов и школьников, осваивающих основы проектирования и программирования микропроцессорных контроллеров. УДК 004.382.7 ББК 32.973.26 Original Japanese edition published as Illustrated Introduction to Mechatronics. Introduction to Personal Computers Based Controllers (Revised 2nd Edition) by Yoshikazu Suematsu. Published by Ohmsha, Ltd., 31 Kanda Nishikicho, Chiyodaku, Tokyo, Japan. Translation rights arranged with Ohmsha, Ltd. ISBN 9784274086755 (яп.) © Yoshikazu Suematsu ISBN 9785941202140 ( одэка) © Перевод, макет, ДодэкаXXI Все права защищены. Никакая часть этого издания не может быть воспроизведена в любой форме или любыми средствами, электронными или механическими, включая фотографирование, ксерокопирование или иные средства копирования или сохранения информации, без письменного разрешения издательства. © Издание, ДМК Пресс, 2017 ISBN 9785970605028 ( Пресс) Д ДМК
ОГЛАВЛЕНИЕ От редактора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12 1. МИКРОКОМПЬЮТЕР КАК ОРУДИЕ ТРУДА . . . . . . . . . . . . .15 1.1. Где применяются микрокомпьютеры . . . . . . . . . . . . . . . . . . . . . .15 1.2. Функции контроллеров бытовых приборов . . . . . . . . . . . . . . . .21 1.3. Алгоритм работы микрокомпьютера . . . . . . . . . . . . . . . . . . . . . .25 Обобщение главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 Практические задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 2. УСТРОЙСТВО МИКРОКОМПЬЮТЕРА . . . . . . . . . . . . . . . . . .33 2.1. Внешний вид микрокомпьютера . . . . . . . . . . . . . . . . . . . . . . . . .34 2.2. Процессор (ЦПУ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 2.3. Запоминающее устройство . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 2.4. Порты вводавывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 Обобщение главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 Практические задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 3. МИКРОКОМПЬЮТЕРНАЯ МАТЕМАТИКА . . . . . . . . . . . . . . .51 3.1. Двоичная система счисления . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 5
Сложение двоичных чисел . . . . . . . . . . . . . . . . . . . . . . . . . . .53 Отрицательные двоичные числа (представление в дополнительном коде) . . . . . . . . . . . . . . . .55 Вычитание двоичных чисел . . . . . . . . . . . . . . . . . . . . . . . . . .57 Умножение двоичных чисел . . . . . . . . . . . . . . . . . . . . . . . . . .59 3.2. Шестнадцатеричная система счисления . . . . . . . . . . . . . . . . . .59 3.3. Двоичнодесятичный код (BCD) . . . . . . . . . . . . . . . . . . . . . . . .62 3.4. Логические операции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64 Логическое сложение (ИЛИ) . . . . . . . . . . . . . . . . . . . . . . . . .64 Логическое умножение (И) . . . . . . . . . . . . . . . . . . . . . . . . . . .66 Отрицание (НЕ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67 Исключающее ИЛИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68 Обобщение главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Практические задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 4. ЦИФРОВЫЕ СХЕМЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 4.1. Вентильные схемы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74 4.2. Триггеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 Счетный триггер (Tтриггер) . . . . . . . . . . . . . . . . . . . . . . . . .76 Dтриггер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 4.3. ТТЛ (транзисторнотранзисторные логические схемы) . . . . .78 Вентильные схемы ТТЛ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79 Схемы с Zсостоянием . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 Дешифратор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84 «Защелка» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85 4.4. Архитектура микрокомпьютера . . . . . . . . . . . . . . . . . . . . . . . . .86 Соединение процессора и ЗУ . . . . . . . . . . . . . . . . . . . . . . . . .86 Соединение ЦПУ с портами вводавывода . . . . . . . . . . . . . .92 Обобщение главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95 Практические задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96 5. ПРОГРАММЫ ДЛЯ МИКРОКОМПЬЮТЕРА . . . . . . . . . . . . .97 5.1. «Лингвистические» способности микрокомпьютера . . . . . . . .97 ОГЛАВЛЕНИЕ 6 0-1.qxd 18.11.02 13:17 Page 6
5.2. О том, что такое «мнемоника» и как она заменяет машинный код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 5.3. Схема выполнения команды . . . . . . . . . . . . . . . . . . . . . . . . . . .105 Обобщение главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 Практические задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 6. ВВЕДЕНИЕ В МАШИННЫЙ ЯЗЫК . . . . . . . . . . . . . . . . . . . .111 6.1. Назначение регистров ЦПУ . . . . . . . . . . . . . . . . . . . . . . . . . . .111 Регистры A и F для хранения результатов вычислений . . .111 Регистры общего назначения — «записная книжка» процессора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 Дополнительные регистры — «дублеры» главных регистров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 Регистры — указатели адреса IX и IY . . . . . . . . . . . . . . . . . .116 Счетчик команд (PC) и указатель стека (SP) . . . . . . . . . . . .116 6.2. Kоманда загрузки данных (Load) . . . . . . . . . . . . . . . . . . . . . . .117 6.3. Kоманды арифметических операций . . . . . . . . . . . . . . . . . . . .119 Kоманды сложения и вычитания . . . . . . . . . . . . . . . . . . . . .119 Kоманды увеличения (INC) и уменьшения (DEC) . . . . . .120 Kоманда сравнения (CP) . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 6.4. Kоманды логических операций . . . . . . . . . . . . . . . . . . . . . . . .122 Kоманды «И», «ИЛИ», «Исключающее ИЛИ» . . . . . . . . . .123 Kоманды инверсии (CPL) и изменения знака (NEG) . . . .124 6.5. Kоманды перехода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125 Команды безусловного перехода (JP, JR) . . . . . . . . . . . . . . .125 Команды условного перехода . . . . . . . . . . . . . . . . . . . . . . . .127 6.6. Kоманды вызова подпрограммы и возврата из подпрограммы (CALL, RET) . . . . . . . . . . . . . . . . . . . . . . . .129 6.7. Команды ввода и вывода (IN, OUT) . . . . . . . . . . . . . . . . . . . .134 Цикл считывания данных из порта ввода . . . . . . . . . . . . . .134 Цикл записи в порты вывода . . . . . . . . . . . . . . . . . . . . . . . .136 Обобщение главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139 Практические задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139 ОГЛАВЛЕНИЕ 7 0-1.qxd 18.11.02 13:17 Page 7
7. СОСТАВЛЕНИЕ ПРОГРАММ . . . . . . . . . . . . . . . . . . . . . . . . .141 7.1. Технические характеристики микрокомпьютера (аппаратные средства) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141 7.2. Задача № 1 — поочередно зажечь определенное количество светодиодов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142 Программирование «по частям» . . . . . . . . . . . . . . . . . . . . . .144 Kомпоновка единой программы . . . . . . . . . . . . . . . . . . . . . .148 Программа в машинных кодах и на языке ассемблера . . . .149 7.3. Задача № 2 — запомнить последовательность сигналов и воспроизвести ее (вариант 1) . . . . . . . . . . . . . . . . . . . . . . . . .153 Процедура записи в память последовательности сигналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .155 Процедура воспроизведения последовательности сигналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157 7.4. Задача № 3 — запомнить последовательность сигналов и воспроизвести ее (вариант 2) . . . . . . . . . . . . . . . . . . . . . . . .161 Запоминаем последовательность сигналов . . . . . . . . . . . . .161 Воспроизводим последовательность сигналов, соблюдая временные интервалы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166 Kоррекция ошибок ввода состояния выключателей (устранение «дребезга») . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170 7.5. Задача № 4 — программа с использованием таблицы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 7.6. Задача № 5 — управление шаговым двигателем . . . . . . . . . . .180 Kак управлять шаговым двигателем . . . . . . . . . . . . . . . . . . .180 Импульсы управления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182 Описание программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .182 Обобщение главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186 Практические задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186 8. ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА УПРАВЛЯЮЩЕГО МИКРОКОМПЬЮТЕРА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187 8.1. БИС портов вводавывода . . . . . . . . . . . . . . . . . . . . . . . . . . . .187 ОГЛАВЛЕНИЕ 8 0-1.qxd 18.11.02 13:17 Page 8
8.2. Обработка прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 Понятие прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 Сигнал прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195 Программирование ПИ на обработку прерывания . . . . . .198 Задача № 6 — программа контроля механической системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .201 8.3. БИС таймерасчетчика (CTC) . . . . . . . . . . . . . . . . . . . . . . . . .205 8.4. Преобразования цифровых и аналоговых сигналов . . . . . . . .208 Цифроаналоговый преобразователь (ЦАП) . . . . . . . . . . . .209 Аналогоцифровой преобразователь (АЦП) . . . . . . . . . . . .214 Задача № 7 — программа ввода в ЦПУ изменяющегося во времени аналогового сигнала . . . . . . . . . . . . . . . . . . . . . .222 Обобщение главы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227 Практические задания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .227 Приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229 Ответы к практическим заданиям . . . . . . . . . . . . . . . . . . . . . . . . . . .244 Предметный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251 ОГЛАВЛЕНИЕ 0-1.qxd 18.11.02 13:17 Page 9
ОТ РЕДАКТОРА Серия «Механотроника. Первое знакомство (с иллюстрациями)» издается с 1983 года. Kак раз в это время общественный интерес к новому направлению, получившему название «механотроника»1, начал набирать силу. Именно тогда представители самых разных профессий, так или иначе связанных с техникой и естественными науками, боясь отстать от времени, ощутили потребность заполнить «пустоты» в своей эрудиции, образовавшиеся в результате стремительного развития электроники, вычислительной и микропроцессорной техники. Аудитории, где проводились семинары и лекции, посвященные этим дисциплинам, были переполнены слушателями. Приступая к работе над этой серией, авторы постарались таким образом подобрать, скомпоновать и изложить материал, чтобы рассматриваемые (в общем, достаточно сложные) вопросы и проблемы пробуждали у читателей, особенно у тех, кто впервые столкнулся с понятием «механотроника», интерес и стремление к более глубокому их изучению и пониманию (а не наоборот!). Теперь, без ложной скромности, можно утверждать, что мы с этой задачей справились. Объективным свидетельством этого служит тот факт, что и сейчас, по прошествии двух десятилетий, книги данной серии не залеживаются на прилавках. За это время было продано более 100000 экземпляров. Учитывая столь очевидный интерес читателей, было принято решение о выпуске второго — исправленного и дополненного — издания книги. Теперь в конце каждой главы вы найдете разделы «Обобщение главы» и «Практические задания», в которых, для закрепления материала, в очень сжатой форме изложено основное содержа1 Механотроника (от англ. mechatronics) — соединение оборудования с микрокомпьютерами (прим. переводчика). 0-1.qxd 18.11.02 13:17 Page 10