8-900-374-94-44
[email protected]
Slide Image
Меню

Программирование на с микроконтроллеров atmel на языке с прокопенко: Книга: «Программирование микроконтроллеров ATMEL на языке C» — Вадим Прокопенко. Купить книгу, читать рецензии | ISBN 978-5-7931-0906-2

Программирование микроконтроллеров ATMEL на языке Си. Прокопенко В. С. 2012 г.

  1. Главная|
  2. Литература
Просмотров: 33257

Эта книга — сборник примеров программ на языке С для микроконтроллеров производства ATMEL. В качестве средств разработки и имитации использованы компилятор WinAVR, среда AVR Studio и имитатор схем Proteus ISIS. Синтаксические особенности языка С и методы работы с перечисленными выше инструментальными средствами в книге подробно не рассматриваются, поскольку автор преследовал цель дать максимальное число практических примеров использования тех или иных периферийных устройств микроконтроллера: таймеров/счетчиков, приемопередатчика

U(S)ART, аналогового компаратора, АЦП, интерфейсов SPI и TWI, памяти Flash и EEPROM. Отдельная глава посвящена взаимодействию с ЖК-модулем.

Название: Программирование микроконтроллеров ATMEL на языке С
Автор: Прокопенко В. С.
Издательство: МК-Пресс
Формат: djvu (ISO)
Размер: 71,4 Mb + 276,6 Mb (CD)
Год издания: 2012 
Страниц: 394

СОДЕРЖАНИЕ

Введение

ЧАСТЬ I. ПРИСТУПАЯ К РАБОТЕ

Глава 1. Средства разработки/имитации

Среда разработки WinAVR
Среда разработки AVR Studio
Имитатор схем Proteus ISIS

Глава 2. Работа с разрядами в языке С

Оператор >
Оператор ~
Оператор а
Оператор |
Оператор &
Запись лог. 1 в некоторый разряд с обнулением остальных разрядов
Запись лог. 1 в некоторый разряд без обнуления остальных разрядов

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

ЧАСТЬ II. МИКРОКОНТРОЛЛЕР AT90S2313

Глава 3. Таймеры/счетчики AT90S2313

Таймер/счетчик 0
Таймер/счетчик 0 в режиме счета импульсов на внешнем выводе ТО
Таймер/счетчик 1
Таймер/счетчик 1 в режиме счета импульсов на внешнем выводе Т1
Регистр захвата ICR1 таймера/счетчика 1
Регистр совпадения OCR1 таймера/счетчика 1
Использование таймера/счетчика 1 в режиме ШИМ

Настройка ШИМ
Расчеты и формулы
Изменение коэффициента заполнения в режиме ШИМ
ЦАП с применением ШИМ
Сторожевой таймер

Глава 4. Память EEPROM AT90S2313

Запись/чтение одного байта
Запись/чтение заданного количества байт
Работа с EEPROM с помощью функций WinAVR

Глава 5. Работа с UART в AT90S2313

Передача байта данных через UART
Передача заданного числа байт через UART
Прием данных через UART
Настройка виртуального терминала в Proteus
Создание подключения в программе HyperTerminal
Прием и передача байта данных через UART
Прием байта, отправка строки через UART
Использование потока stdout
Использование потоков stdout и stdin для передачи и приема символа
Использование потоков stdout и stdin для передачи и приема строки
Сравнение строки, принятой через UART
Управление выводами с помощью UART
Реализация приглашения командной строки

Глава 6.

Аналоговый компаратор AT90S2313

Глава 7. Работа с прерываниями в AT90S2313

Прерывание при переполнении счетного регистра TCNT0
Работа таймера/счетчика 0 в режиме счетчика импульсов на внешнем выводе
Прерывание при переполнении счетного регистра TCNT1
Работа таймера/счетчика 1 в режиме счетчика импульсов на внешнем выводе
Прерывание по сигналу на входе захвата
Прерывание при совпадении регистра OCR1
Внешние прерывания INTO и INT1
Прерывание при очистке регистра UDR
Прерывание по окончанию приема данных
Прерывание по окончанию передачи данных
Прерывание от аналогового компаратора
Использование таймера/счетчика 1 в режиме ШИМ
Передача данных через UART с использованием буфера

ЧАСТЬ III. МИКРОКОНТРОЛЛЕР ATMEGA16

Глава 8. Таймеры/счетчики ATmega16

Таймер/счетчик 0 в режиме «Normal»
Таймер/счетчик 0 в режиме «СТС»
Таймер/счетчик О в режиме «Fast PWM»

Таймер/счетчик О в режиме «Phase Correct PWM»
Таймер/счетчик 1 в режиме «Normal»
Таймер/счетчик 1 в режиме «Normal» и с регистром сравнения
Таймер/счетчик 1 в режиме «СТС»
Таймер/счетчик 1 в режиме «Fast PWM»
Таймер/счетчик 1 в режиме «Phase Correct PWM»
Изменение частоты и коэффициента заполнения
Таймер/счетчик 1 в режиме «Phase and Frequency Correct PWM»
Изменение частоты и коэффициента заполнения
Сторожевой таймер

Глава 9. Аналоговый компаратор и АЦП ATmega16

Аналоговый компаратор
АЦП в режиме непрерывного преобразования
АЦП в режиме одиночного преобразования
АЦП в режиме дифференциального входа

Глава 10. Интерфейсы передачи данных ATmega16

Интерфейс USART
Интерфейс SPI. Подключение 12-разрядного ЦАП МСР4821
Интерфейс SPI. Работ а с памятью EEPROM
Внешние функции, используемые в программе
Описание микросхемы М95040

Интерфейс SPI. Работа с датчиком температуры ТС77
Преобразование значения температуры из двоичной в десятичную форму
Интерфейс SPI. Работа с Flash-памятью
Описание микросхемы AT25F2048
Интерфейс SPI. Работа с температурным преобразователем МАХ6675
Интерфейс SPI. Работа с температурным преобразователем МАХ6674
Интерфейс SPI. Работа с АЦП МАХ 1241
Процесс приема данных
Интерфейс TWI
Значение регистра Temperature

Глава 11. Использование ЖК-экрана

Подключение текстового ЖК-экрана 16×2 на базе контроллера KS0066U
Применение стандартных функций вывода при работе с ЖК-дисплеем
Вывод на ЖК-экран результатов аналого-цифрового преобразования
Измерение тока, напряжения, температуры
Подключение клавиатуры 3×4

Скачать книгу с Depositfiles

Скачать CD-диск с Depositfiles

Понравилась статья? Поделиться с друзьями:

  • Назад
  • Вперед

Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера

Нет в наличии

Ревич Юрий Всеволодович

Артикул1502
ISBN 978-5-9775-0277-1
Количество страниц 384
Формат издания 170 x 240 мм
Печать Черно-белая
Серия Аппаратные средства

436 ₽

# AVR# электроника и схемотехника#Atmel

  • Описание
  • Детали
  • Отзывы (0)

Описание

Изложены основные принципы функционирования и особенности архитектуры микроконтроллеров Atmel AVR.

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

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

Автор 16 книг, в том числе «Занимательной электроники», выдержавшей 5 изданий в течение 15 лет, а также нескольких сотен публикаций в журналах, газетах и сетевых изданиях, в том числе ряда статей на портале Habr.ru.

Детали

Артикул1502
ISBN978-5-9775-0277-1
Количество страниц384
Серия Аппаратные средства
ПереплетМягкая обложка
Печать Черно-белая
Год2008
Габариты, мм240 × 170 × 18
Вес, кг0.43

  • Новинки на 2 недели раньше магазинов
  • Цены от издательства ниже до 30%
  • Акции и скидки только для подписчиков
  • Важные новости БХВ

ПОЛЕЗНАЯ РАССЫЛКА КНИЖНЫХ НОВОСТЕЙ

Подписываясь на рассылку, вы соглашаетесь с политикой конфиденциальности и обработкой своих персональных данных.


Рекомендуем также

  •  

    Scratch+Arduino. 18 проектов для юных программистов + КНИГА

    8400 ₽
    6552 ₽
  •  Петин Виктор Александрович

    Проекты с использованием контроллера Arduino. 3-е изд.

    803 ₽
    602 ₽
  •  Иго Том

    Умные вещи: Arduino, датчики и сети для связи устройств: Пер. с англ. 3-е изд.

    1650 ₽
    1237 ₽
  •  Брайан Хуанг, Дерек Ранберг

    Arduino для изобретателей. Обучение электронике на 10 занимательных проектах

    1094 ₽
    820 ₽
  •  Ревич Юрий Всеволодович

    Занимательная электроника, 5-е изд.

    948 ₽
    711 ₽

Образовательные руководства по программированию микроконтроллеров Atmel AVR

Микроконтроллер AVR от Atmel (теперь Microchip) является одним из наиболее широко используемых 8-разрядных микроконтроллеров. Arduino Uno основан на микроконтроллере AVR; это недорого и общедоступно по всему миру.

В этой книге авторы используют пошаговый и систематический подход для демонстрации программирования микросхемы AVR. Примеры как на языке ассемблера, так и на C объясняют, как программировать многие функции AVR, такие как таймеры, последовательная связь, АЦП, SPI, I2C и ШИМ.

Текст состоит из двух частей:

  1. Первые шесть глав используют программирование на языке ассемблера для изучения внутренней архитектуры AVR.
  2. В главах 7–18 используются языки Assembly и C, чтобы показать периферийные устройства AVR и интерфейс ввода-вывода с реальными устройствами, такими как ЖК-дисплей, двигатель и датчик.

В первом издании этой книги, опубликованном Pearson, использовался ATmega32. Он по-прежнему доступен для покупки на Amazon. Эта новая версия основана на Atmega328 и плате Arduino Uno.

Дополнительная информация…


Микроконтроллеры Atmel AVR — это чипы, на которых работает Arduino, и которые являются популярными чипами для многих любителей и проектов по взлому оборудования. В этой книге вы отложите в сторону уровни абстракции, предоставляемые средой Arduino, и научитесь напрямую программировать микроконтроллеры AVR.

При этом вы приблизитесь к чипу и сможете выжать из него больше мощности и возможностей.

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

Дополнительная информация…


Благодаря использованию популярного и экономичного встроенного контроллера Atmel AVR в качестве платформы и приложения для обучения Embedded C Programming и Atmel AVR являются идеальным выбором для новичков. Эта инновационная книга, содержащая множество полнофункциональных примеров приложений, позволяет пользователям применять подход «обучение на практике» по мере того, как они приобретают знания и навыки, необходимые для достижения профессионального уровня.

После ознакомления с RISC-процессорами Atmel AVR читатели сразу же переходят к встроенному учебному пособию по языку C.

Здесь они будут экспериментировать с переменными и константами, операторами и выражениями, операторами управления, указателями и массивами, типами памяти, директивами препроцессора, методами реального времени и многим другим.

В дополнение к всеобъемлющему справочнику по библиотечным функциям, целая глава о компиляторе CodeVision AVR C содержит подробные пошаговые инструкции по установке и эксплуатации IDE, смешиванию ассемблера с C и использованию генератора кода Code Wizard. Использование периферийных устройств, таких как клавиатуры, ЖК-дисплеи и другие стандартные встроенные устройства, связанные с микроконтроллерами, также подробно рассматривается в этом всеобъемлющем современном руководстве и справочном руководстве для программиста.

Дополнительная информация…


STK128+ — это полная и экономичная отладочная плата для ATmega128. Он предназначен для того, чтобы предоставить разработчикам возможность быстрого начала разработки кода для микроконтроллера ATmega128, что ускорит разработку прототипов устройств ATMega 128.

Микросхема ATmega128 установлена ​​на плате устройства, которую можно отделить от материнской платы, что позволяет безопасно заменять MCU. Чип ATmega128 поставляется в корпусе TQFP64 и может быть ATmega128-16AU, ATmega128L-8AU или ATmega128A-AU.

Комплект STK128+ включает плату устройства ATmega128, дополнительную запасную плату устройства ATmega128 и набор экспериментальных фитингов.

Дополнительная информация…

Программирование AVR 01: Введение | Hackaday

Нам нравится смотреть на хардкорные проекты в области электроники с мощным микроконтроллером и сотнями, если не тысячами, строк кода в его центре. Но всем нужно как-то туда попасть.

Эта серия руководств призвана научить вас программировать линейку микроконтроллеров Atmel AVR. Если вы никогда раньше не прикасались к микроконтроллерам или уже успели поработать над десятками проектов Arduino, это поможет вам сразу перейти к аппаратному обеспечению и придаст вам уверенности в создании чего угодно.

Дорожная карта серии:

  • Программирование AVR 01: Введение
  • Программирование AVR 02: Аппаратное обеспечение
  • Программирование AVR 03: Чтение и компиляция кода
  • Программирование AVR 04: Запись кода

Предварительные знания

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

Что на самом деле делает микроконтроллер?

Это загруженный вопрос. Для понимания я приведу это к самому простому объяснению:

  1. Микроконтроллер принимает некоторый тип ввода
  2. Он принимает решение на основе написанного вами программного обеспечения
  3. Выходы изменены на основе решения на шаге 2.

Микроконтроллер делает то, для чего вы его программируете. Делает это быстро и надежно.

Как это работает?

В этой серии руководств я буду обсуждать цифровую логику. То есть все входные и выходные контакты будут оцениваться на основе нулевого напряжения или 5 В. Это производит наши цифровые 1 и 0, с 5 вольтами как единица и ноль вольт как ноль.

Итак, если вы хотите зажечь светодиод, просто подключите цепь к контакту, сделайте этот контакт выходным и установите на нем высокий логический уровень (5 вольт). Если вы хотите добавить кнопку, подключите ее к контакту, установленному в качестве входа, и запрограммируйте микросхему для измерения уровня напряжения на этом контакте. Это действительно так просто, как только вы научитесь писать правильные команды, чтобы чип понял ваши пожелания.

Посмотрите на сам чип

Я решил использовать микроконтроллер ATmega168. Это мощный чип, но начать использовать его не сложнее, чем его младшие собратья. Это оставит вам много места для роста в ваших проектах, оставаясь при этом доступным (менее 4,50 долларов США). Вот его схема:

Это часто называют распиновкой, поскольку она показывает, что на самом деле делает каждый из 28 контактов на микросхеме. Все эти контакты имеют несколько функций, поэтому рядом с каждым из них есть длинные строки текста, за исключением пяти, которые имеют только одно имя. Это контакты, имеющие отношение к напряжению и земле (VCC, GND, AVCC, AREF, AGND), что является важной проблемой для микроконтроллеров.

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

Еще раз взгляните на распиновку и найдите контакты, имена которых начинаются с PD. Вы должны увидеть восемь из них, помеченные от PD0 до PD 7. Это фантастический пример 8-битной природы этих чипов. PD означает порт D, один из входных и выходных регистров. Все в этих чипах сосредоточено вокруг 8-бит. Это последовательность из восьми единиц или нулей в разных сочетаниях. Если вы хотите включить или отключить определенные функции, вы изменяете один или несколько битов в 8-битном регистре. Каждый раз, когда вы хотите изменить один контакт, вы должны адресовать все восемь в регистре. Мы узнаем об этом гораздо больше, но только в третьей части серии.

Программирование

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

Размер этого чипа ограничен 16 килобайтами пространства для программирования. В наши современные времена 64-гигабайтных iPod 16 килобайт могут показаться мизерными. Но на самом деле это 16 килобайт машинного кода. Вы можете многое сделать с этим… поверьте мне.

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

Делайте домашнее задание

Чтобы подготовиться к оставшейся части этой серии руководств, мне нужно, чтобы вы собрали некоторые инструменты. У вас должен быть какой-то тип компьютера, будь то Linux, Mac или Windows PC. Это запустит программное обеспечение, которое берет наш код, компилирует его во что-то, что может использовать микроконтроллер, а затем сообщает программисту, как записать его в наш чип.

Компилятор

Со временем мы напишем собственный код для AVR, использующий архитектуру RISC. Но мы делаем это на компьютере с архитектурой x86. Инструмент, необходимый для этого, называется кросс-компилятором. Это, возможно, лучшая причина для выбора AVR для разработки, поскольку имеется отличная цепочка инструментов, которую можно легко установить на несколько платформ.

  • Пользователи Mac: установите CrossPack
  • Пользователи Windows: установите WinAVR
  • Пользователи Linux: пользователи Debian и Ubuntu должны установить пакет GCC-AVR, который включает в себя всю цепочку инструментов. Другие могут заглянуть на страницу набора инструментов AVR-libc, чтобы получить помощь в компиляции пакетов.

Это не единственный вариант. Многие пользователи Windows доверяют бесплатному программному обеспечению AVR Studio от Atmel. Это единственный раз, когда я буду ссылаться на него, поскольку у меня нет компьютера с Windows и я никогда не пробовал этот пакет.

Программное обеспечение для программирования

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

 avrdude -h 

Появится экран справки. Если вы получили сообщение об ошибке, вам следует убедиться, что вы правильно установили набор инструментов на предыдущем шаге, или скачайте AVRdude самостоятельно.

Что ждет нас в будущем

На этом вступительная часть этой серии завершается.

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

Часть 3: Предварительно скомпилированный HEX-файл использовался для программирования микроконтроллера AVR во второй части серии.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *