Смекни!
smekni.com

Разработка программной и аппаратной поддержки к методическим указаниям Программирование микроконтроллеров (стр. 1 из 18)

Министерство ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Воронежский Государственный Университет

Физический факультет

№______________________ кафедральной регистрации

“К ЗАЩИТЕ ДОПУЩЕНА”

Зав. кафедрой физики полупроводников

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

проф. __________ Петров Б.К.

“____”__________2002 г.

УДК.681.3 КОРОБКОВ Георгий Николаевич

РАЗРАБОТКА ПРОГРАММНОЙ И АППАРАТНОЙ
ПОДДЕРЖКИ К МЕТОДИЧЕСКИМ УКАЗАНИЯМ
«ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ»

Магистерская диссертация по направлению «Физика»

Научный руководитель

доц. ___________ Клюкин В.И.

ВОРОНЕЖ 2002


РЕФЕРАТ

УДК. 681.3 КОРОБКОВ Георгий Николаевич

РАЗРАБОТКА ПРОГРАММНОЙ И АППАРАТНОЙ ПОДДЕРЖКИ К МЕТОДИЧЕСКИМ УКАЗАНИЯМ «ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ». – Магистерская диссертация по направлению «Физика», Воронеж, ВГУ, 2002. – 93 с., илл. 45, табл. 4, прилож. 5, библ. 21 назв.

В настоящее время микроконтроллеры принимают все большее распространение. Однако, информации по вопросам обучения программированию микроконтроллеров в соединении с внешними исполнительными бывает не достаточно.

В работе рассмотрены архитектура, аппаратные и программные средства распространенных и недорогих микроконтроллеров фирмы ATMEL серии AVR типа AT90S1200, AT90S2313, AT90S4414 и AT90S8515. Анализ методики программирования в интегрированной среде разработке позволил объединить практические рекомендации с некоторыми особенностями обучения программирования микроконтроллеров. На основании этого предложен алгоритм обучения.

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

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


СОДЕРЖАНИЕ

ВВЕДЕНИЕ....................................................................................................................................... 4

1. ОСНОВЫ АРХИТЕКТУРЫ МИКРОКОНТРОЛЛЕРОВ....................................................... 6

1.1. ОСНОВНЫЕ ТИПЫ МИКРОКОНТРОЛЛЕРОВ И ИХ АРХИТЕКТУРА................................. 6

1.2. Аппаратные средства........................................................................................................... 10

1.2.1. Запуск микроконтроллера.............................................................................................. 10

1.2.2. Тактирование и командные циклы................................................................................. 10

1.2.3. Программный счетчик и АЛУ........................................................................................ 11

1.2.4. Подпрограммы и функции.............................................................................................. 13

1.2.5. Ввод/вывод данных.......................................................................................................... 17

1.3. Инструментальные и программные средства разработки и отладки............................ 20

1.4. Основные типы интерфейсов МК....................................................................................... 27

1.4.1. Подключение переключателей и подавление «звона» контактов............................... 27

1.4.2. Световая индикация....................................................................................................... 28

1.4.3. Ввод с матричной клавиатуры...................................................................................... 30

2. ОСОБЕННОСТИ ПОСТРОЕНИЯ И ФУНКЦИОНИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ ФИРМЫ ATMEL СЕМЕЙСТВА AVR........................................................................................ 32

2.1. Архитектура микропроцессорного ядра AVR-микроконтроллеров.............................. 32

2.2. Аппаратные средства AVR.................................................................................................. 41

2.3. Система команд микроконтроллера AVR......................................................................... 49

3. ПРОГРАММНОЕ И ИНСТРУМЕНТАЛЬНОЕ ОБЕСПЕЧЕНИЕ ПРОЦЕССА ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ............................................................ 56

3.1. Написание и отладка программного кода с помощью AVR Studio............................. 56

3.1.1. Обзор AVR Studio............................................................................................................. 57

3.1.2. Создание нового проекта............................................................................................... 58

3.1.3. Исполнение программного кода..................................................................................... 62

3.2. Анализ методики реализации разработки программного обеспечения....................... 69

3.2.1. Классификация вариантов заданий.............................................................................. 69

3.2.2. Рассмотрение типовых примеров................................................................................. 73

3.3. Описание макета программатора..................................................................................... 77

ЗАКЛЮЧЕНИЕ.............................................................................................................................. 80

БИБЛИОГРАФИЧЕСКИЙ СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.................. 81

ПРИЛОЖЕНИЕ 1 Инструкции процессоров AVR..................................................... 83

ПРИЛОЖЕНИЕ 2. Таблица регистров микроконтроллера AT90S1200........ 88

ПРИЛОЖЕНИЕ 3. Программа для измерителя звуковой частоты........... 89

ПРИЛОЖЕНИЕ 4. Программа для устройства «кодовый замок».............. 91

ПРИЛОЖЕНИЕ 5. Основные характеристики
микроконтроллеров AVR.................................................................................................. 93

ВВЕДЕНИЕ

Можно считать что микроконтроллер (МК) – это компьютер, разместившийся в одной микросхеме. Отсюда и его основные привлекательные качества: малые габариты; высокие производительность, надежность и способность быть адаптированным для выполнения самых различных задач.

Микроконтроллер помимо центрального процессора (ЦП) содержит память и многочисленные устройства ввода/вывода: аналого-цифровые преобразователи, последовательные и параллельные каналы передачи информации, таймеры реального времени, широтно-импульсные модуляторы (ШИМ), генераторы программируемых импульсов и т.д. Его основное назначение – использование в системах автоматического управления, встроенных в самые различные устройства: кредитные карточки, фотоаппараты, сотовые телефоны, музыкальные центры, телевизоры, видеомагнитофоны и видеокамеры, стиральные машины, микроволновые печи, системы охранной сигнализации, системы зажигания бензиновых двигателей, электроприводы локомотивов, ядерные реакторы и многое, многое другое. Встраиваемые системы управления стали настолько массовым явлением, что фактически сформировалась новая отрасль экономики, получившая название Embedded Systems (встраиваемые системы).

Достаточно широкое распространение имеют МК фирмы ATMEL, функциональные возможности которых охватывают все перечисленные задачи [1,2].

Применение МК можно разделить на два этапа: первый – программирование, когда пользователь разрабатывает программу и прошивает ее непосредственно в кристалл, и второй – согласование спроектированных исполнительных устройств с запрограммируемым МК. Значительно облегчают отладку программы на первом этапе – симулятор, который наглядно моделирует работу микропроцессора. На втором этапе для отладки используется внутрисхемный эмулятор, который является сложным и дорогим устройством, зачастую недоступным рядовому пользователю.

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

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


1. ОСНОВЫ АРХИТЕКТУРЫ МИКРОКОНТРОЛЛЕРОВ

1.1. ОСНОВНЫЕ ТИПЫ МИКРОКОНТРОЛЛЕРОВ И ИХ АРХИТЕКТУРА

Если представить все типы современных микроконтроллеров (МК), то можно поразиться огромным количеством разнообразных приборов этого класса, доступных потребителю. Однако все эти приоры можно разделить на следующие основные типы:

· Встраиваемые (embedded) 8-разрядные МК;

· 16- и 32-разрядные МК;

· Цифровые сигнальные процессоры.

Промышленностью выпускаются очень широкая номенклатура встраиваемых МК. В них все необходимые ресурсы (память, устройства ввода-вывода и т.д.) располагаются на одном кристалле с процессорным ядром [3]. Если подать питание и тактовые импульсы на соответствующие входы МК, то можно сказать, что он как бы «оживет» и с ним можно будет работать. Обычно МК содержат значительное число вспомогательных устройств, благодаря чему обеспечивается их включение в реальную систему с использованием минимального количества дополнительных компонентов. В состав этих МК входят:

· Схема начального запуска процессора (Reset);

· Генератор тактовых импульсов;

· Центральный процессор;

· Память программ (E(E)PROM) и программный интерфейс;

· Средства ввода/вывода данных;

· Таймеры, фиксирующие число командных циклов.

Общая структура МК показана на рис. 1.1. Эта структура дает представление о том, как МК связывается с внешним миром.

Более сложные встраиваемые МК могут дополнительно реализовывать следующие возможности:

· Встроенный монитор/отладчик программ;

· Внутренние средства программирования памяти программ (ROM);

· Обработка прерываний от различных источников;

· Аналоговый ввод/вывод;

· Последовательный ввод/вывод (синхронный и асинхронный);

· Параллельный ввод/вывод (включая интерфейс с компьютером);

· Подключение внешней памяти (микропроцессорный режим).

Все эти возможности значительно увеличивают гибкость применения МК и делают более простым процесс разработки систем на и основе.

Рис. 1.1. Структура микроконтроллера.

Некоторые МК (особенно 16- и 32-разрядные) используют только внешнюю память, которая включает в себя как память программ (ROM), так и некоторый объем памяти данных (RAM), требуемый для данного применения. Они применяются в системах, где требуется большой объем памяти и относительное не большое количество устройств (портов) ввода/вывода. Типичным примером применения такого МК с внешней памятью является котроллер жесткого диска (HDD) с буферной кэш-памятью, который обеспечивает промежуточное хранение и распределение больших объемов данных (порядка нескольких мегабайт). Внешняя память дает возможность такому микроконтроллеру работать с более высокой скоростью, чем встраиваемый МК.