Глава III. Лабораторный практикум по микроконтроллерам семейства AVR фирмы ATMEL
Магомедов И. А.
Микропроцессорные системы.
Теория и практика применения микроконтроллеров
Махачкала 2011
ББК 32.973.26-04
УДК 681.325.5-181.4
Магомедов И. А. Микропроцессорные системы. Теория и практика применения микроконтроллеров. - Учебное пособие, 2011. –263с
Рецензенты:
1. д.т.н., профессор Мелехин В.Б.- заведующий кафедрой вычислительной техники Дагестанского государственного технического университета
2. д.т.н., профессор Исмаилов Ш.А. -директор научно-исследовательского технологического института информатики
3. к.т.н. Меркухин Е.Н - доцент кафедры прикладной информатики филиала (института) Московского государственного открытого университета в Махачкале
В учебном пособии рассмотрены: архитектуры современных микроконтроллеров и их особенности; программные модели микроконтроллеров; режимы адресации и форматы команд. Приведены описания периферийных модулей микроконтроллеров семейства AVR фирмы Atmel, примеры их использования и лабораторный практикум по изучению микроконтроллеров.
Учебное пособие предназначено для студентов высших учебных заведений, обучающихся по направлениям подготовки дипломированных специалистов и специальностям в области информатики и вычислительной техники и может быть полезным для инженерно-технических работников, связанных с разработкой аппаратуры на микроконтроллерах.
Допушено Учебно-методическим объединением вузов по университетскому политехническому образоваю в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению 230100 «Информатика и вычислительная техника»
ББК 32.973.26-04
Предисловие
Введение
Глава I. Микроконтроллеры
1.1. Классификация микроконтроллеров
1.2. Направление развития элементной базы 8-разрядных
микроконтроллеров
Глава II. Высокопроизводительные RISC микроконтроллеры семейства AVR
2.1. Микроконтроллер фирмы Atmel ATmega128
Системное управление и сброс микроконтроллера
2.3. Программная модель микроконтроллера
2.4. Подсистема памяти микроконтроллера
2.5. Периферийные модули микроконтроллера ATmega128
2.5.1. Параллельные порты ввода-вывода
2.5.2. Использование параллельных портов для управления жидкокристаллическим индикатором и матрицы кнопок
Подсистема таймера/счетчика микроконтроллера ATmega128
Восьмиразрядный таймер-счетчик 0 с функциями ШИМ и асинхронного тактирования
2.6.2. 16-разрядные таймеры-счетчики
2.7. Подсистема ввода аналоговых сигналов МК
Аналоговый компаратор
Последовательный периферийный интерфейс – SPI
2.9.1. Пример использования интерфейса SPI
микроконтроллера ATmega128
Универсальный синхронно - асинхронный
Последовательный приемопередатчик
2.10.1. Пример использования порта UART
Последовательный двухпроводной интерфейс TWI
Формат посылки и передаваемых данных
2.11.2. Модуль TWI микроконтроллера AVR
2.11.3. Подключение схемы DS1307 к микроконтроллеру по интерфейсу TWI
Глава III. Лабораторный практикум по микроконтроллерам семейства AVR фирмы ATMEL
Лабораторные работы №1. Разработка и отладка программ в среде AVR Studio 4. Изучение системы команд микроконтроллеров семейства AVR
Лабораторные работы №2. Параллельные порты ввода/вывода микроконтроллера.
Лабораторная работа №3
Подсистема ввода аналоговых сигналов микроконтроллера
Лабораторная работа №4.
Универсальный асинхронный приемопередатчик – UART
Лабораторная работа №5
Изучение режимов работы Таймера/Счетчика
Лабораторная работа №6
Последовательный периферийный интерфейс – SPI
Лабораторная работа №7
Подсистема памяти микроконтроллера.
Лабораторная работа №8
Последовательный двухпроводной интерфейс I2C (TWI)
Список использованной литературы
Приложение
Предисловие
Базовыми дисциплинами для изучения данного курса являются «Программирование», «Микросхемотехника», «Микроэлектроника», «Информатика», «Вычислительные машины и системы», «Схемотехника ЭВМ», «Машинно-ориентированное программирование» и д.р.
Содержание учебного пособия соответствует программам дисциплин «Микропроцессорные системы», «Микропроцессорные устройства систем управления» и «Проектирование микропроцессорных систем управления», читаемых студентам технических вузов.
В результате изучения курсов «Микропроцессорные системы», «Микропроцессорные устройства систем управления» и «Проектирование микропроцессорных систем управления» студенты должны знать основные направления развития микропроцессорной техники и принципы их построения, методы и способы повышения быстродействия, архитектурные особенности современных микропроцессоров (МП) и микроконтроллеров (МК), а также и способы их программирования, области использования, основы проектирования микропроцессорных устройств и систем.
В основу учебного пособия положены одноименные курсы лекций, читаемые автором на протяжении ряда лет студентам, обучающимся по специальностям «Программное обеспечение вычислительной техники и автоматизированных систем», «Вычислительные машины, комплексы системы и сети» и «Управление и информатика в технических системах».
Автор считает своим долгом выразить благодарность рецензентам: д.т.н., профессор Мелехину В.Б., д.т.н., профессору Исмаилову Ш.А. и к.т.н., доценту Меркухину Е.Н. за ценные замечания, которые позволили улучшить качество учебного пособия и расширить перечень рассмотренных вопросов
Введение
Одной из характерных особенностей нынешнего этапа научно-технического прогресса является все более широкое применение микроэлектроники в различных отраслях народного хозяйства. Роль микроэлектроники в развитии общественного производства определяется ее практически неограниченными возможностями в решении различных задач во всех областях народного хозяйства, глубоким влиянием на культуру и быт современного человека.
Особое внимание в настоящее время уделяется внедрению микропроцессоров, обеспечивающих решение задач автоматизации управления механизмами, приборами и аппаратурой. Адаптация микропроцессора к особенностям конкретной задачи осуществляется в основном путем разработки соответствующего программного обеспечения, заносимого затем в память программ. Аппаратная адаптация в большинстве случаев осуществляется путем подключения необходимых интегральных схем обрамления и организации ввода-вывода, соответствующих решаемой задаче.
В микропроцессорной технике выделился самостоятельный класс больших интегральных схем (БИС) - однокристальные микро-ЭВМ (ОМЭВМ) или, как в последнее время называют, "микроконтроллер" (МК), которые предназначены для «интеллектуализации» оборудования различного назначения.
Цель данного учебного пособия - познакомить студентов различных специальностей с общими принципами построения современных 8-разрядных МК, основами программирования и программными средствами отладки МК.
Глава I. Микроконтроллеры
Микроконтроллер (MК) – программируемая микросхема, предназначенная для арифметико-логической обработки информации и управления техническими объектами и/или технологическими процессами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, содержит ОЗУ и ПЗУ. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров.
Наиболее распространённым семейством микроконтроллеров являются 8-битные микроконтроллеры, широко используемые в промышленности. В то время как 8-разрядные процессоры общего назначения полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость.
Архитектура МК - результат эволюции архитектуры микропроцессоров и микропроцессорных систем, обусловленных стремлением существенно снизить их аппаратные затраты и стоимость. Как правило, эти цели достигаются как путем повышения уровня интеграции БИС, так и за счет поиска компромисса между стоимостью, аппаратными затратами и техническими характеристиками МК.
МК представляют собой приборы, конструктивно выполненные в виде одной БИС и включающие в себя все устройства, необходимые для реализации цифровой системы управления минимальной конфигурации: процессор, запоминающее устройство данных, запоминающее устройство команд, внутренний генератор тактовых сигналов, АЦП, интерфейсы и другие программируемые модули для связи с внешней средой. Использование МК в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС МК), что им, видимо, нет в ближайшем времени альтернативной элементной базы для построения управляющих и/или регулирующих систем. Специфическая организация ввода-вывода информации предопределяет область их применения в качестве специализированных вычислителей, включенных в контур управления объектом или процессом. Структурная организация, набор команд и аппаратно-программные средства ввода-вывода информации этих микросхем лучше всего приспособлены для решения задач управления и регулирования в приборах, устройствах и системах автоматики, а в последнее время и для решения задач обработки данных. Указанные выше соображения отражают технический уровень МК в настоящий момент.
Первые 8-разрядные микропроцессоры появились в 1971 г. Пять лет спустя, в 1976 г., был произведен первый 8-разрядный микроконтроллер (МК), который объединил в одном кристалле основные элементы микропроцессорной управляющей системы [1]: центральный процессор, постоянное запоминающее устройство, оперативное запоминающее устройство, порты ввода-вывода, таймеры. С тех пор микропроцессорная элементная база встраиваемых систем управления развивается высокими темпами:
-16 - и 32-разрядные МК с интегрированной на кристалл многофункциональной периферией стали обычным явлением;
-в последние годы бурно развиваются МК с процессором цифровой обработки сигналов (DSP) в качестве процессорного ядра.
-на очереди МК с командами обработки чисел с плавающей запятой и однокристальные программируемые логические МК.
Каждый из представителей, перечисленных выше групп, значительно превосходит по производительности скромного 8-разрядного предка. Однако высокоинтегрированные высокопроизводительные собратья не вытеснили 8-разрядные МК. Более того, 8-разрядные МК по количеству их модификаций значительно превосходят все остальные группы. И вот почему.
Во-первых, основная область применения 8-разрядных МК - устройства интеллектуального управления промышленной автоматики и бытовой аппаратуры. Специфика алгоритмов управления этих устройств не требует выполнения расчетов высокой точности в жестких условиях реального времени. Основная доля операций управления состоит в преобразовании логической информации. Следовательно, 8-разрядные МК могут с успехом реализовать эти задачи и не имеют тенденций к вытеснению МК с более высокой разрядностью обрабатываемого слова. Во-вторых, процессы глобальной информатизации настоятельно диктуют необходимость объединения в информационные сети даже очень простых устройств управления, например: торговых автоматов, уличного освещения и т.д. В результате 8-разрядные MK начинают применяться в тех областях, где до недавнего времени микропроцессорная техника не использовалась. В-третьих, степень алгоритмической культуры инженеров-разработчиков повысилась настолько, что они предпочитают применять простейшие МК вместо цифровых ИС средней степени интеграции. А низкая цена 8-разрядных МК этому только способствует. Все эти причины обусловливают возросшую потребность в 8-разрядных МК и, как следствие, постоянное расширение номенклатуры 8-разрядных МК такими известными компаниями, как Motorola, NEC, Microchip, Mitsubishi, Hitachi, Philips, Infineon, а также выход на рынок новых фирм-производителей 8-разрядных МК с очень интересной продукцией (Atmel, Scenix). Чтобы выстоять в конкурентной борьбе, производители стремятся предложить разработчикам такие МК, которые, с одной стороны, наиболее точно соответствуют требованиям разрабатываемого устройства, а с другой стороны, не являются функционально избыточными для этого устройства, что обеспечивает конкурентоспособность конечного изделия по стоимости продукции. Результатом этого стремления явилось великое множество моделей 8-разрядных МК.
На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры AVR фирмы Atmel и PIC фирмы Microchip Technology, шестнадцатибитные MSP430 фирмы TI, а также МК ARM, архитектуру, которых разрабатывает фирма ARM и продаёт лицензии другим фирмам для их производства.
И вся эта продукция в настоящее время стала доступной российскому разработчику и производителю.