Министерство образования Российской Федерации
Государственное образовательное учреждение высшего профессионального образования
Саратовский государственный технический университет
Балаковский институт техники, технологии и управления
ИЗУЧЕНИЕ ОСНОВ ПРОГРАММИРОВАНИЯ
МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА AVR
Методические рекомендации к практической работе
по курсу
"Микропроцессорные устройства систем управления" для студентов специальности 220201
Одобрено редакционно-издательским советом Балаковского института техники, технологии и управления
Балаково 2009
Цель работы: ознакомление с основами программирования микроконтроллеров семейства AVR, изучение простейших программ для микроконтроллера, осуществляющих ввод и вывод информации.
1. ОСНОВНЫЕ ПОНЯТИЯ О МИКРОКОНТРОЛЛЕРАХ
Микроконтроллер – это микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. Таким образом, микроконтроллер представляет собой своеобразный однокристальный компьютер, способный выполнять простые алгоритмические задачи.
Использование одной микросхемы вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров.
Микроконтроллеры являются основой для построения встраиваемых систем, их можно встретить во многих современных приборах, таких как телефоны, микроволновые печи, стиральные машины и т.д. Микроконтроллеры используются в игрушках, мобильных устройствах, транспортных средствах и в промышленном оборудовании.
Наибольшее распространение получили 8-разрядные микроконтроллеры.
Современные 8-разрядные МК имеют следующие отличительные признаки:
- модульная организация, при которой на базе одного процессорного ядра (центрального процессора) проектируется ряд (линейка) МК, различающихся объемом и типом памяти программ, объемом памяти данных, набором периферийных модулей, частотой синхронизации и т.д.;
- использование закрытой архитектуры МК, характеризующейся отсутствием линий магистралей адреса и данных на выводах корпуса;
- использование типовых функциональных периферийных модулей (таймеры, процессоры событий, контроллеры последовательных интерфейсов, аналого-цифровые преобразователи), имеющих незначительные отличия в алгоритмах работы в МК различных производителей;
- расширение числа режимов работы периферийных модулей, которые задаются в процессе инициализации регистров специальных функций МК.
На сегодняшний день большой популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, шестнадцатибитные MSP430 фирмы Texas Instruments, а также ARM, разрабатываемые и лицензируемые сторонним разработчикам фирмой ARM.
В то время, как 8-разрядные процессоры общего назначения полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость.
Неполный список периферии, которая может присутствовать в микроконтроллерах, включает в себя:
- различные интерфейсы ввода-вывода, такие как UART, I²C, SPI, CAN, USB, ETHERNET
- аналого-цифровые и цифро-аналоговые преобразователи
- компараторы
- широтно-импульсные модуляторы
- таймеры
- контроллеры бесколлекторных двигателей
- контроллеры дисплеев и клавиатур
- радиочастотные приемники и передатчики
- массивы встроенной FLASH памяти
Программирование микроконтроллеров обычно осуществляется на языке ассемблера или Си, хотя существуют компиляторы для других языков, например, Бейсика или Паскаля.
Распространенным и простым в изучении семейством микроконтроллеров является семейство AVR. Основными его достоинствами является простота, доступность и минимальная стоимость средств программирования, что делает это семейство наиболее предпочтительным для изучения студентами.
Центральной частью стенда является 40-выводной микроконтроллер AVR ATMega16, располагающий большим набором функциональных возможностей:
- малое потребление энергии;
- 32 восьмиразрядных рабочих регистра общего назначения;
- производительность до 16 миллионов операций в секунду (при тактовой частоте 16 МГц);
- 16 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash, 1000 циклов стирания/записи) ;
- 512 байт EEPROM (100000 циклов стирания/записи) ;
- 1 Кбайт встроенной SRAM;
- два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения;
- один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения;
- счетчик реального времени с отдельным генератором;
- четыре канала ШИМ;
- 8-канальный 10-разрядный аналого-цифровой преобразователь;
- байт-ориентированный 2-проводный последовательный интерфейс;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.