Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
11.03.2016
Размер:
1.9 Mб
Скачать

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

Рис.18. Внутрисхемный эмулятор ICE 50

На практике часто эмуляцию как способ проверки работоспособности конкретной модели микроконтроллера по составленной программе не применяют,

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

ОПИСАНИЕ ЛАБОРАТОРНЫХ УСТРОЙСТВ

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

построенных по Гарвардской архитектуре и выпускаемых фирмой ATMEL. Почти все инструкции микроконтроллеров AVR выполняются за один такт. В семейство микроконтроллеров AVR входит несколько подсемейств: AT90, ATiny, ATmega и

др.

Наибольшей популярностью при написании программы для AVR и её последующей отладки встроенными средствами (симуляция) пользуется интегрированная среда разработки программного обеспечения AVR Studio. Она позволяет составлять программы на языках программирования Си и Ассемблер,

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

режим внутрисхемного программирования, например, комплекс STK-500 и др. (рис.19).

Рис. 19. Комплексы STK-500 и STK-525

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

AVR Studio. Для выполнения работы необходимо придерживаться следующей последовательности действий. После запуска AVR Studio в открывшемся диалоговом окне следует указать, что работа ведется с новым проектом «New Project», на языке Ассемблер «Atmel AVR Assembler»

Далее следует указать имя Вашего проекта, который создаст одноименную папку, в которую затем будет включать не только составленную программу в виде отдельного файла с расширением «_.asm», но и основной файл проекта и вспомогательные файлы настроек, хранящие информацию, какой выбран микроконтроллер, пути размещения библиотечек и т.д. Расширения файлов

«_.aps», «_.map», «_.obj», а так же файл с машинными кодами (прошивку) для записи в память EEPROM микроконтроллера «_.hex».

Внимание! Для корректной работы встроенного в AVR Studio симулятора имя проекта должно целиком состоять из букв английского алфавита.

После этого следует указать, что дальнейшая работа будет вестись в режиме симулятора микроконтроллера «AVR Simulator» и выбрать конкретный тип

микроконтроллера, который задает преподаватель.

Все созданные в среде AVR Studio файлы следует в дальнейшем сохранять.

В режиме написания и редактирования программ среда AVR Studio отображает следующие окна и вкладки (рис.20).

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

необходимо сохранить (рекомендуется сохранить весь проект «Save All» - ), и

выполнить пробное ассемблирование «Assemble» - . Если явные ошибки не выявлены (это видно в соответствующем окне), выполняют режим пошаговой

симуляции с целью отладки «Assemble and Run» .

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

осуществляется нажатием клавишы «F11» - «Step Into» . После каждого нажатия «F11» просматриваются состояния всех интересующих элементов микроконтроллера, в особенности, портов и регистров в соответствующем окне. В

ходе пошагового выполнения программы состояния портов можно менять вручную, щелкая мышью по соответствующим элементам окна «I/O View».

Если составленная программа работает корректно, сохраняется последняя редакция проекта, в том числе текст программы (файл _.asm) и машинный код

(файл_.hex)

а б

в

г

д

Рис. 20. Окна и вкладки среды AVR Studio:

 

а – вкладка Project (структура сформированного каталога с перечисленными файлами); б

вкладка I/O View, (состояния основных элементов микроконтроллера - рабочих регистров, CPU,

портов и т.д.); в – окно составления текста программы для микроконтроллера; г – окно сообщений (результаты компиляции, ошибки); д – информационное окно (назначения выводов микроконтроллера, таблицы прерываний и т.д.)

ПРОГРАММА РАБОТЫ

1.Изучив и освоив принципы работы в среде AVR Studio, создать собственный проект, сохранив его на сменный носитель (Flash-карту и т.п.),

предназначенный для дальнейшей работы с определенным типом микроконтроллера, который задал преподаватель

2.Описать максимально подробно свойства заданного микроконтроллера,

пользуясь встроенными вкладками и средствами среды AVR Studio (рабочая частота процессора, количество и характеристика портов, наличие регистров общего назначения и их свойства, наличие/отсутствие АЦП или аналогового компаратора, сторожевого таймера, количество выводов микроконтроллера и их назначение)

3.Составить на языке ассемблера и записать текст программы в среде AVR Studio с последующей его отладкой и сохранением исправленной и работоспособной версии проекта.

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

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

Содержание отчета

1.Титульный лист

2.Тема, цель работы,

3.Исходные данные для исследований

4.Краткие теоретические сведения

5.Практическая часть

5.1Название и тип данного микроконтроллера

5.2Схема расположения выводов микроконтроллера и их назначение

5.3Описание свойств данного микроконтроллера

5.4Задание на разработку программы, выданное преподавателем

5.5Разработанный алгоритм программы для данного микроконтроллера

5.6Составленный и отлаженный текст программы на языке ассемблера (с

комментариями)

5.7Схема электронного устройства, реализующая алгоритм для данного типа микроконтроллера

6.Общие выводы по работе в целом

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Что такое микроконтроллер, каковы его конструкции и какими свойствами он обладает?

2.Какие электронные модули может содержать микроконтроллер и для чего это нужно?

3.Для чего нужно знать архитектуру микроконтроллера?

4.Какие языки программирования микроконтроллеров наиболее популярны?

5.Что необходимо знать при написании программы для микроконтроллера?

6.Какие способы отладки написанной программы Вы знаете?

7.Чем отличается эмуляция от симуляции?

8.В чем заключается особенность программирования микроконтроллеров?

9.Какую роль играет персональный компьютер при работе с микроконтроллерами?

10.Какие файлы содержит готовый проект при использовании интегрированной среды разработки программ?

ЛАБОРАТОРНАЯ РАБОТА № 4

ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ

НА ИСПЫТАТЕЛЬНОМ СТЕНДЕ

Ц е л ь

работы

Изучение особенностей программирования

микроконтроллеров AVR

с

учетом имеющихся периферийных устройств.

Получение навыков работы с программаторами микроконтроллеров и режимом внутрисхемного программирования. Проверка работоспособности составленных программ на реальном объекте.

КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Программатор - это электронное устройство, предназначенное для выполнения чтения и записи (стирания и перезаписи) в энергонезависимую память программ (EEPROM) микроконтроллеров информации, представляющей в двоичном коде саму программу, а также чтения и записи (стирания и перезаписи) в энергонезависимую память данных микроконтроллеров необходимых констант и иной вспомогательной информации. Для работы с каждым типом программатора существует специализированный пакет программ (которые иногда тоже называют программатором), учитывающий режимы программирования (последовательный/параллельный) и поддерживаемые интерфейсы. Большинство отладочных комплексов (STK-500, 600 и др.) являются одновременно и программаторами, поддерживающими режим внутрисхемного программирования.

Внутрисхемное программирование – режим программирования, который производится по заранее предусмотренному интерфейсу и протоколу, без извлечения микроконтроллера из электронного устройства, в котором он постоянно находится. Большинство современных микроконтроллеров

поддерживают режим внутрисхемного программирования (при определенных условиях).

Один из разновидностей способов внутрисхемного программирования – использование последовательного интерфейса SPI, для организации которого используются каналы SCK (SPI Clock), MOSI (Master Out, Slave In), MISO (Master In, Slave Out), вывод SS (Slave Select) и соответствующие служебные регистры. С целью экономии числа выводов микроконтроллера, обычно указанные каналы совмещают с его портами, например портом B и выводом RESET (рис.21).

Рис. 21. Расположение выводов микроконтроллера Atiny 2313

При работе с программатором, чтобы выполнить корректную запись,

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

В данной работе в составе испытательного стенда применена базовая модель программатора Si-Prog schematics_v2.2., подкласс AVR-micro,

поддерживающая внутрисхемное программирование ряда микроконтроллеров

AT90Sхх, ATtiny_хх, ATmega_1х, PIC16F8xx, PIC12C50x по протоколу SPI eeprom. Данная модель может работать с несколькими программными пакетами,

настроенными на работу с помощью персонального компьютера IBM PC через

COM – порт. Один из таких пакетов - программа PonyProg2000.

Программа управления программатором PonyProg2000. Составлена для работы с программаторами, связанными через порт LPT либо COM порт. Имеет простой пользовательский интерфейс в виде главного окна и набора основных кнопок-инструментов (рис.22).

Рис. 22. Окно программы PonyProg2000

Наиболее часто используются следующие кнопки-инструменты:

- открытие файла прошивки микроконтроллера (_.hex), который был получен в среде программирования, например, AVR Studio.

- чтение имеющейся информации, записанной в EEPROM память программ микроконтроллера

- запись информации в EEPROM память программ микроконтроллера,

считанного из файла прошивки микроконтроллера (_.hex)

- стирание всей информации из EEPROM памяти микроконтроллера (как программ, так и данных)

ОПИСАНИЕ ЛАБОРАТОРНЫХ УСТРОЙСТВ

В работе используется испытательный стенд, содержащий микроконтроллер

ATmega 16, устройство внутрисхемного программирования Si-Prog schematics_ v2.2., поле из 12 кнопок без фиксации, двух переключателей и переменных резисторов, 2 семисегментных индикаторов и 16 светодиодов (LED).

Рис. 23. Внешний вид испытательного стенда

Для подключения внешних устройств (в том числе встроенного программатора) и питания, предусмотрены разъемы, расположенные сзади

(рис.24). На рис. 25 приведена принципиальная схема отладочного стенда,

которая необходима для уточнения связи кнопок/индикаторов с портами микроконтроллера

Рис. 24. Расположение разъемов слева – направо: 1 – питание; 2 – программатор; 3 – внешние устройства

Соседние файлы в папке Электронные и микропроцессорные устройства