ОГЛАВЛЕНИЕ
А. В. Белов
Создаем устройства на микроконтроллерах
Наука и Техника
Санкт-Петербург
2007
Белов А. В.
Создаем устройства на микроконтроллерах. — СПб.: Наука и Техника,
2007. — 304 с: ил.
ISBN 978-5-94387-364-3
Серия «Радиолюбитель»
Данная книга представляет собой практическое пособие по разработке электронных схем с применением микроконтроллеров и управляющих программ к ним. Основа книги - это ряд практических примеров, которые от простого к сложному раскрывают принципы построения схем и написания программ для микроконтроллеров. Специально разработанные примеры вводят читателя в мир программирования с самых азов, пройти по всем этапам усложнения задачи и заканчиваются описанием нескольких интересных конструкций имеющих определенную практическую ценность.
После урока по программированию и схемотехники читатель получает подробные сведения о том, как происходит написание трансляция и отладка программ, познакомится с программными средствами, облегчающими редактирование и отладку программ. В заключении вы познакомитесь с принципами построения программаторов для прошивки оттранслированных программ в микросхему микроконтроллера, рассмотрите конкретную схему программатора и научитесь работать с программой, управляющей этим программатором. Книга рассчитана на широкий круг читателей. Она будет полезна разработчикам электронных устройств, радиолюбителям и студентам технических ВУЗов.
Mil IIII II lllllll I I 11 III llllll Автор и издательство не несут ответственности за
9785943873645
II III III III Hill I I IIIII возможный ущерб, причиненный в ходе использования
1111 IIII II lllllll I I 11 III llllll материалов данной книги,
II II lllllll III III Контактные телефоны издательства
II III II llllll (812)567-70-25,567-70-26
llll III llllll (044) 516~38-66
llll III III lllllll III llllll Официальный сайт: www.nit.com.ru
llll IIIIII lllllll llll III III III © Белов A. B.
ISBN 978-5-94387-364-3 © Наука и Техника (оригинал-макет), 2007
ООО «Наука и Техника».
Лицензия №000350 от 23 декабря 1999 года.
198097, г. Санкт-Петербург, ул. Маршала Говорова, д. 29.
Подписано в печать 01.02.2007. Формат 60x88 1 /1в.
Бумага газетная. Печать офсетная. Объем 19 п. л.
Тираж 5000 экз. Заказ №911.
Отпечатано с готовых диапозитивов в ОАО «Техническая книга»
190005, Санкт-Петербург, Измайловский пр., 29
Содержание
Вступление 10
Глава 1. Написание программ для микроконтроллеров AVR ... 12
1.1. Общие положения 13
1.2. Простейшая программа 16
Постановка задачи 16
Принципиальная электрическая схема 16
Алгоритм 20
Программа на Ассемблере 21
Директивы 23
Операторы 26
Описание программы (листинг 1.1) 29
Программа на языке СИ 32
Работа программы, написанной на языке Си 39
Описание программы (листинг 1.2) 47
1.3. Переключающийся светодиод 49
Постановка задачи 49
Принципиальная схема 49
Алгоритм 49
Программа на Ассемблере 54
Описание программы (листинг 1.3) 56
Программа на языке СИ 57
Описание программы (листинг 1.4) 59
1.4. Боремся с дребезгом контактов 60
Постановка задачи 60
Схема 60
Алгоритм 60
Программа на Ассемблере 62
Описание программы (листинг 1.5) 65
Программа на языке СИ 67
1.5. Мигающий светодиод 70
Постановка задачи 70
Схема 70
Алгоритм программы 70
Программа на Ассемблере 71
Описание программы (листинг 1.7) 72
Программа на языке СИ 74
1.6. Бегущие огни 76
Постановка задачи 76
Схема 76
Алгоритм 77
Выполнение алгоритма сдвига 78
Программа на Ассемблере 78
Описание программы (листинг 1.9) 82
Программа на языке СИ 84
1.7. Использование таймера 88
Постановка задачи 88
Схема 88
Алгоритм 88
Программа на Ассемблере 90
Описание программы (листинг 1.11) 92
Программа на языке СИ 95
1.8. Использование прерываний по таймеру 98
Постановка задачи 98
Схема 98
Алгоритм 98
Программа на Ассемблере 100
Описание программы (листинг 1.13) 104
Программа на языке СИ 110
Описание программы (листинг 1.14) 114
4
1.9. Формирование звука 117
Постановка задачи 117
Схема 117
Алгоритм 119
Программа на Ассемблере 120
Описание программы (листинг 1.15) 125
Программа на языке СИ 130
Описание программы (листинг 1.16) 135
1.10. Музыкальная шкатулка 137
Постановка задачи 137
Схема., 137
Алгоритм 138
Кодируем мелодии 140
Алгоритм работы музыкальной шкатулки 141
Программа на Ассемблере 142
Описание программы (листинг 1.17) 149
Процедура вычисления адреса 150
Текст программы «шаг за шагом» 1.51
Особенности программы 151
Подрограмма формирования задержки 155
Программа на языке СИ 157
Описание программы (листинг 1.18) 161
1.11. Кодовый замок 165
Постановка задачи 165
Алгоритм 166
Схема 169
Программа на Ассемблере 170
Описание программы (листинг 1.19) 177
Процедура записи ключевой комбинации в EEPROM 189
Процедура проверки кода 190
Процедура открывания замка 191
Программа на языке СИ 192
Описание программы (листинг 1.20) 194
5
1.12. Кодовый замок с музыкальным звонком 207
Постановка задачи 207
Алгоритм 207
Схема 208
Программа на Ассемблере 209
Программа на языке СИ 221
Глава 2 . Отладка и трансляция программ 227
2.1. Программная среда AVR Studio 228
2.1.1. Общие сведения 228
Отладка программы 228
Программный отладчик 229
Аппаратный отладчик 229
Полнофункциональные программные имитаторы электронных устройств 230
Внутренний отладчик микроконтроллеров AVR 231
Программная среда «AVR Studio» 232
2.1.2. Описание интерфейса 235
Главная панель программы «AVR Studio» 235
2.1.3. Создание проекта 242
2.1.4. Трансляция программы 245
Форматы файлов 245
Формат НЕХ-файл а 245
Процедура трансляции 246
2.1.5. Отладка программы 248
Ошибки алгоритма и его реализации 248
Этапы процесса отладки 249
Применение точек останова 252
Просмотр и изменение содержимого введенных переменных 255
2.1.6. Исправление ошибок 256
2.1.7. Создание проектов на языке СИ 257
2.2. Система программирования Code Vision AVR 259
2.2.1. Общие сведения 259
2.2.2. Интерфейс системы Code Vision AVR 261
6
Окно номер 1 261
Окно номер 2 263
Окно номер 3 263
Создание проекта без использования мастера 263
Отладка программы 267
2.3. Программаторы 269
2.3.1. Общие сведения 269
2.3.2. Схема программатора 271
Универсальные и специализированные программаторы 271
Способ подключения программатора к компьютеру 271
Внутрисхемное программирование 274
Питание программатора 274
2.3.3. Программа управления программатором 275
Знакомство с программой PonyProg 275
Алгоритм действий 276
Программирование микросхем 278
Режимы работы программатора 285
ПРИЛОЖЕНИЕ 287
Сводная таблица команд Ассемблера микроконтроллеров AVR
Группа команд логических операций
Группа команд арифметических операций
Группа команд операций с разрядами
Группа команд сравнения
Группа команд операций сдвига
Группа команд пересылки данных
Группа команд управления системой
Группа команд передачи управления (безусловная г1ередача управления)
Группа команд передачи управления (пропуск команды по условию)
Группа команд передачи управления (передача управления по условию)
Список литературы 295
Список ссылок в Интернет 295
|