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

Управление электронными устройствами на C++. Разработка практических приложений

Покупка
Артикул: 643192.02.99
К покупке доступен более свежий выпуск Перейти
Книга предназначена всем, кому интересно изучение C++ и управление электронными устройствами на реальных и интересных примерах. Читателю предоставлена возможность научиться писать программы для выполнения конкретных задач, а не просто скучное изложение материала с картинками. Также рассказывается как создавать программы, взаимодействующие с внешними устройствами посредством специально разработанной интерфейсной платы. Книга, интерфейсная плата и предлагающееся программное обеспечение представляют собой набор простых и несложных для понимания устройств, таких как цифро-аналоговый преобразователь, аналого-цифровой преобразователь, устройство управления коллекторными и шаговыми электродвигателями, измерители температуры и напряжения, таймеры на базе компьютера и простое устройство сбора данных. Также материал книги содержит сведения из области автоматического управления, электроники и механотроники. Издание будет полезно студентам, инженерам и научным работникам, техникам и радиолюбителям.
Катупития, Я. Управление электронными устройствами на C++. Разработка практических приложений / Янта Катупития, Ким Бентли. пер. с англ. И. В. Бакомчева. - Москва : ДМК Пресс, 2016. - 442 с. - ISBN 978-5-97060-175-4. - Текст : электронный. - URL: https://znanium.com/catalog/product/1027505 (дата обращения: 28.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Управление 
электронными 
устройствами  
на C++

Разработка практических приложений

Янта Катупития, Ким Бентли

Jayantha Katupitiya Kim Bentley

Interfacing with C++

Programming Real-World Applications

Москва, 2016

Янта Катупития Ким Бентли

Управление 

электронными 

устройствами на C++

Разработка практических приложений

УДК 621.3:004.438С++
ББК 31.26с
 
К29

 
Янта Катупития, Ким Бентли.

К29
Управление электронными устройствами на C++. Разработка практических приложений. / Перевод с англ. Бакомчев И. В. – М.: ДМК Пресс, 
2016. – 442 с.

ISBN 978-5-97060-175-4

Книга предназначена всем, кому интересно изучение C++ и управление элек
тронными устройствами на реальных и интересных примерах. Читателю предоставлена возможность научиться писать программы для выполнения конкретных 
задач, а не просто скучное изложение материала с картинками. Также рассказывается как создавать программы, взаимодействующие с внешними устройствами 
посредством специально разработанной интерфейсной платы. Книга, интерфейсная плата и предлагающееся программное обеспечение представляют собой набор простых и несложных для понимания устройств, таких как цифро-аналоговый преобразователь, аналого-цифровой преобразователь, устройство управления 
коллекторными и шаговыми электродвигателями, измерители температуры и напряжения, таймеры на базе компьютера и простое устройство сбора данных. Также материал книги содержит сведения из области автоматического управления, 
электроники и механотроники.

Издание будет полезно студентам, инженерам и научным работникам, техникам 

и радиолюбителям. 

УДК 621.3:004.438С++
ББК 31.26с

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой 

бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.

Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность 

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

ISBN 978-3-540-25378-5 (англ.)
   © Springer-Verlag Berlin Heidelberg

ISBN 978-5-97060-175-4 (рус.)
   © Перевод, оформление, ДМК Пресс, 2016

Оглавление

1
 Начало ...................................................................................... 11
1.1. Введение .......................................................................................................................... 11
1.2. Среда разработки программ ..................................................................................... 11 
1.2.1. Редактирование ................................................................................................................ 12
1.2.2. Компилирование .............................................................................................................. 12
1.2.3. Редактирование связей .................................................................................................. 14
1.3. Программа на C++ ....................................................................................................... 14
1.3.1. Комментарии в программах ..........................................................................................15
1.3.2. Заголовочные файлы .......................................................................................................16
1.3.3. Синтаксис программы .....................................................................................................17
1.3.4. Служебные слова ..............................................................................................................17
1.3.5. Тип возвращаемого значения ........................................................................................18
1.3.6. Тело функции main() .......................................................................................................18
1.4. Функции ......................................................................................................................... 19
1.4.1. Программа с вызовом функции ...................................................................................20
1.5. Базовые типы данных ................................................................................................. 23
1.6. Функции с параметрами и возвращаемыми значениями .............................. 26
1.7. Заключение .................................................................................................................... 28
1.8. Литература ..................................................................................................................... 29

2
 Базовые сведения о параллельном порте и работа с ним ............... 30
2.1. Введение .......................................................................................................................... 30
2.2. Что такое параллельный порт? ............................................................................... 30
2.2.1 Цифровые логические схемы .........................................................................................31
2.2.2. Устройство параллельного порта.................................................................................32
2.3. Представление данных ............................................................................................... 35
2.4. Программа для отображения шестнадцатеричных и десятичных чисел .....37
2.5. Заключение .................................................................................................................... 38
2.6. Литература ..................................................................................................................... 38

3
 Тестирование параллельного порта ............................................. 39
3.1. Введение .......................................................................................................................... 39
3.2. Источник питания интерфейсной платы ............................................................ 39
3.3. Интерфейс параллельного порта ........................................................................... 42
3.3.1. Схема драйвера светодиодов .........................................................................................44
3.3.2. Работа светодиода .............................................................................................................44
3.4. Элементарный вывод через параллельный порт .............................................. 46
3.5. Ввод через параллельный порт ............................................................................... 48
3.6. Коррекция внутренней инверсии........................................................................... 52
3.6.1. Вывод данных .....................................................................................................................52

Оглавление
6

3.6.2. Работа в качестве входа ...................................................................................................55
3.7. Заключение .................................................................................................................... 56
3.8. Литература ..................................................................................................................... 57

4
 Объектно-ориентированное программирование ........................... 58
4.1. Введение .......................................................................................................................... 58
4.2. Воображаемые и реальные объекты ...................................................................... 58
4.3. Реальные объекты ........................................................................................................ 59
4.3.1. Внешний интерфейс объекта ........................................................................................60
4.3.2. Создание и уничтожение объекта ...............................................................................61
4.4. Классы объектов ........................................................................................................... 61
4.5. Инкапсуляция ............................................................................................................... 62
4.5.1. Инстанцирование объектов ...........................................................................................63
4.6. Абстрактные классы ................................................................................................... 63
4.7. Иерархии классов ........................................................................................................ 64
4.8. Наследование ................................................................................................................ 64
4.9. Множественное наследование ................................................................................ 65
4.10. Полиморфизм ............................................................................................................. 66
4.11. Пример иерархии объектов .................................................................................... 66
4.12. Преимущества объектно-ориентированного программирования ............ 71
4.13. Недостатки объектно-ориентированного программирования .................. 71
4.14. Заключение .................................................................................................................. 72
4.15. Литература ................................................................................................................... 72

5
 Объектно-ориентированное программирование ........................... 73
5.1. Введение .......................................................................................................................... 73
5.2. Правила обозначения ................................................................................................. 73
5.3. Разработка класса ........................................................................................................ 74
5.3.1. Данные-члены ....................................................................................................................75
5.3.2. Функции-члены .................................................................................................................75
5.3.3. Атрибуты доступа .............................................................................................................75
5.3.4. Определение класса .........................................................................................................76
5.3.5. Конструктор ........................................................................................................................77
5.3.6. Автоматический конструктор .......................................................................................78
5.3.7. Перегрузка конструкторов ............................................................................................78
5.3.8. Деструкторы........................................................................................................................78
5.4. Класс ParallelPort – этап 1 ........................................................................................ 79
5.4.1. Определение класса .........................................................................................................79
5.5. Программирование с классами ............................................................................... 83
5.5.1. Примеры с атрибутами доступа ...................................................................................86
5.6. Класс ParallelPort – этап 2 ........................................................................................ 89
5.7. Класс ParallelPort – этап 3 ........................................................................................ 93
5.7.1. Полнофункциональный класс ParallelPort ..............................................................93
5.8. Заключение .................................................................................................................... 96

Оглавление

5.9. Литература ..................................................................................................................... 97

6
 Цифро-аналоговое преобразование ............................................ 98
6.1. Введение .......................................................................................................................... 98
6.2. Цифро-аналоговое преобразование....................................................................... 98
6.2.1. Основные сведения об операционном усилиетеле ................................................99
6.2.2. Принципы работы ЦАП............................................................................................... 101
6.2.3. Работа DAC0800 ............................................................................................................. 105
6.2.4. Характеристики и параметры ЦАП ......................................................................... 108
6.3. Работа с цифро-аналоговым преобразователем ..............................................109
6.4. Производные классы ................................................................................................112
6.5. Добавление членов к производному классу .....................................................119
6.5.1. Спецификаторы доступа ............................................................................................. 122
6.5.2. Полиморфные функции .............................................................................................. 124
6.6. Заключение ..................................................................................................................134
6.7. Литература ...................................................................................................................134

7
 Управление светодиодами ........................................................ 135
7.1. Введение ........................................................................................................................135
7.2. Циклы ............................................................................................................................135
7.2.1. Цикл for ............................................................................................................................. 135
7.2.2. Циклы while и do-while ................................................................................................ 138
7.3. Переходы .......................................................................................................................139
7.3.1. Выражение if .................................................................................................................... 139
7.3.2. Выражения break и continue ....................................................................................... 141
7.3.3. Выражение switch-case ................................................................................................. 142
7.4. Массивы ........................................................................................................................143
7.5. Указатели ......................................................................................................................146
7.5.1. Объявление указателей ............................................................................................... 147
7.5.2. Указатели на скалярные величины .......................................................................... 148
7.5.3. Указатели на объекты классов ................................................................................... 149
7.5.4. Указатели на массивы ................................................................................................... 150
7.5.5. Массивы указателей ...................................................................................................... 152
7.5.6. Арифметические операции над указателями ....................................................... 152
7.5.7. Указатели на функции .................................................................................................. 155
7.5.8. Указатели на void ........................................................................................................... 158
7.5.9. Указатель this ................................................................................................................... 159
7.6. Работа с указателями ................................................................................................160
7.6.1. Массивы чисел для светодиодов .............................................................................. 160
7.7. Макросы ........................................................................................................................168
7.8. Динамическое выделение памяти ........................................................................169
7.9. Обработка исключений............................................................................................172
7.10. Заключение ................................................................................................................177
7.11. Литература .................................................................................................................178

Оглавление
8

8
 Управление шаговыми и коллекторными электродвигателями ..... 179
8.1. Введение ........................................................................................................................179
8.2. Двигатели постоянного тока ..................................................................................179
8.2.1. Конструкция и характеристики двигателей постоянного тока ..................... 180
8.2.2. Управление коллекторным двигателем .................................................................. 181
8.3. Шаговые двигатели ...................................................................................................182
8.3.1. Конструкции шаговых двигателей........................................................................... 183
8.3.2. Устройство шаговых двигателей ............................................................................... 183
8.3.3. Управление шаговым двигателем ............................................................................. 189
8.3.4. Характеристики шаговых двигателей ..................................................................... 190
8.4. Иерархия классов для двигателей .......................................................................191
8.5. Введение в виртуальные функции .......................................................................193
8.5.1. Чистая виртуальная функция ................................................................................... 196
8.5.2. Формирование сигнала с ШИМ ............................................................................... 203
8.6. Виртуальные функции в приложении ...............................................................211
8.6.1. Виртуальные деструкторы .......................................................................................... 216
8.7. Ввод с клавиатуры .....................................................................................................232
8.8. Заключение ..................................................................................................................245
8.9. Литература ...................................................................................................................245

9
 Методы программирования ...................................................... 247
9.1. Введение ........................................................................................................................247
9.2. Методы эффективного программирования ......................................................247
9.3. Модульные программы ............................................................................................255
9.3.1. Разбиение программы на модули ............................................................................. 255
9.3.2. Сборка многофайловой программы ........................................................................ 256
9.4. Пример программы управления двигателями .................................................261
9.5. Заключение ..................................................................................................................273
9.6. Литература ...................................................................................................................273

10
  Измерение напряжения и температуры .................................. 274

10.1. Введение .....................................................................................................................274
10.2. Преобразование напряжения в последовательность импульсов ............274
10.3. Измерение температуры .......................................................................................275
10.4. Класс ГУН ..................................................................................................................276
10.5. Измерение напряжения с помощью ГУН .......................................................280
10.6. Работа с графикой – отображение прямоугольных импульсов ..............287
10.6.1. Работа с экраном .......................................................................................................... 288
10.7. Измерение температуры .......................................................................................292
10.7.1. Калибровка термистора ............................................................................................. 293
10.8. Заключение ................................................................................................................297
10.9. Литература .................................................................................................................297

Оглавление

11
 Аналого-цифровое преобразование ........................................ 298

11.1. Введение .....................................................................................................................298
11.2. Аналого-цифровое пребразование ....................................................................298
11.3. Методы преобразования .......................................................................................301
11.4. Измерение напряжения при помощи АЦП ....................................................307
11.5. Класс АЦП .................................................................................................................313
11.6. Измерение напряжения при помощи АЦП ....................................................320
11.7. Измерение температуры при помощи АЦП ...................................................323
11.8. Заключение ................................................................................................................326
11.9. Литература .................................................................................................................326

12
  Сбор данных с использованием перегрузки операторов........... 327

12.1. Введение .....................................................................................................................327
12.2. Перегрузка операторов ..........................................................................................327
12.2.1. Передача параметров функции по значению ..................................................... 329
12.2.2. Передача парметров функции по ссылке ............................................................ 330
12.2.3. Выбор способа передачи параметров .................................................................... 331
12.2.4. Конструктор копии ..................................................................................................... 335
12.2.5. Перегрузка операторов при помощи функций-членов .................................. 342
12.2.6. Перегрузка операторов при помощи обычных функций ............................... 344
12.2.7. Дружественные связи ................................................................................................. 346
12.2.8. Потоки ввода/вывода ................................................................................................. 348
12.2.9. Транзитные объекты ................................................................................................... 349
12.2.10. Оператор присвоения .............................................................................................. 351
12.3. Сбор данных ..............................................................................................................354
12.4. Заключение ................................................................................................................358
12.5. Литература .................................................................................................................358

13
  Таймер персонального компьютера ........................................ 359

13.1. Введение .....................................................................................................................359
13.2. Устройство таймера персонального компьютера .........................................359
13.2.1. Конфигурирование счётчиков ................................................................................ 361
13.2.2. Регистр управления .................................................................................................... 362
13.2.3. Режимы работы таймеров ......................................................................................... 364
13.2.4. Чтение данных таймера ............................................................................................. 366
13.3. Работа с таймером ...................................................................................................367
13.3.1. Чтение текущего значения таймера 0 и количества тиков ............................ 368
13.4. Класс PCTimer ..........................................................................................................368
13.5. Измерение времени.................................................................................................374
13.6. Измерение скорости реакции человека ...........................................................376
13.7. Формирование развёртки во времени ..............................................................378
13.8. Сбор данных с метками времени ........................................................................381

Оглавление
10

13.8.1. Схема заряда/разряда ................................................................................................ 381
13.8.2. Сбор данных с метками времени ............................................................................ 382
13.9. Заключение ................................................................................................................387
13.10. Литература ...............................................................................................................388

A
 Приложение. Электронное оборудование ................................ 389

Принципиальная схема ................................................................................................... 389
Печатная плата ................................................................................................................... 389
Сборка ...................................................................................................................................390
Пайка  ....................................................................................................................................392
Правила чтения принципиальной схемы ..................................................................393
Наладка .................................................................................................................................393
Демонтаж компонентов ...................................................................................................394
Соединительные кабели и провода .............................................................................395
Блок питания ......................................................................................................................396
Интерфейс параллельного порта .................................................................................399
Драйвер светодиодов ........................................................................................................402
Цифро-аналоговый преобразователь .........................................................................404
Схема управления двигателями ...................................................................................408
Управляемый напряжением генератор импульсов ................................................412
Аналого-цифровой преобразователь ..........................................................................415
Мультиплексор ...................................................................................................................418
Управляемый источник тока .........................................................................................421
Повторитель напряжения ...............................................................................................423
Схема заряда/разряда ......................................................................................................425
Пара светодиод-фотоприёмник ....................................................................................427
Кнопка, потенциометр, диод и стабилитрон ............................................................428
Перечень элементов и материалов интерфейсной платы ...................................430

B
 Приложение ........................................................................... 434

Служебные слова C++ .....................................................................................................434
Приоритет операторов .....................................................................................................435
Символы ASCII ..................................................................................................................436

Предметный указатель .................................................................. 437

К покупке доступен более свежий выпуск Перейти