Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорные системы пособие.doc
Скачиваний:
0
Добавлен:
12.02.2026
Размер:
2.53 Mб
Скачать

3. Работа с отладочной платой attiny104-xnano

Все практические работы, описанные далее, выполняются на базе микроконтроллера ATtiny104, входящего в состав отладочной платы ATTINY104-XNANO. Эти микроконтроллеры способны работать на частоте до 12 МГц и, несмотря на миниатюрный корпус, содержат периферию, ранее доступную только в более дорогих сериях МК, что делает их идеальными для применения в портативных устройствах, а также в бытовых приборах и промышленных системах.

Все программы разрабатываются в интегрированной среде разработки от компании Microchip для разработки приложений под микроконтроллеры ARM Cortex и AVR Atmel Studio 7. Программа позволяет работать как на ассемблере, так и на C/C++. Содержит в себе мастер проектов, виртуальный симулятор, редактор исходного кода, модуль внутрисхемной отладки и интерфейс командной строки.

Подключение ATtiny104 Xplained Nano Kit

Загрузите и установите программную среду разработки Atmel Studio 7 или более позднюю версию, актуальную на текущий момент. Программу можно бесплатно скачать на сайте разработчиков, по адресу https://www.microchip.com/mplab/avr-support/atmel-studio-7.

Запустите приложение Atmel Studio. Подключите отладочную плату ATtiny104 Xplained Nano к USB-порту компьютера, после этого она станет доступна в Atmel Studio. Когда плата подключается к компьютеру в первый раз, на панели задач Windows появляется всплывающее сообщение, как показано на рисунке. Необходимые драйвера входят в состав установщика Atmel Studio, поэтому их отдельная установка не требуется. Рекомендуемая операционная система – Windows 10, все программы протестированы при работе именно с ней, в других версиях операционной системы стабильная работа программы не гарантируется.

Если установка драйвера прошла успешно, программатор для микроконтроллеров семейства AVR mEDBG будет указан в диспетчере устройств, как показано на рисунке. Также программатор создаёт виртуальный Com-порт, который мы можем использовать для обмена данными с отладочной платой, в данном случае это COM4. На рисунке 3.1 показан внешний вид диспетчера устройств с установленным програматором.

Рис.3.1. Программатор в диспетчере устройств

Далее переходим в раздел Device Programming (Программирование устройства). Программатор должен быть указан в списке доступных инструментов как mEDBG, а состояние инструмента должно отображаться как Подключено (Connected). Это указывает на то, что инструмент взаимодействует с Atmel Studio штатным образом, и мы можем приступать к загрузке программ в память микроконтроллера (рис. 3.2).

Рис.3.2. Проверка работоспособности программатора

Создание примера приложения в Atmel Studio

Чтобы создать новый проект в Atmel Studio после подключения ATtiny104 Xplained Nano:

1. Перейдите в File > New > Project (рис. 3.3).

Рис.3.3. Создание нового проекта в Atmel Studio

2. В появившемся мастере создания нового проекта выберите исполняемый шаблон проекта GCC C Executable Project, назовите проект по своему усмотрению и нажмите кнопку ОК, чтобы открыть мастер выбора устройства (рис. 3.4).

Рис. 3.4. Мастер новых проектов

3. Мастер выбора устройства выглядит следующим образом (рис. 3.5). Выберите устройство ATtiny104 из раскрывающегося списка и нажмите OK (проще всего воспользоваться поиском).

Рис. 3.5. Мастер выбора устройства

4. Будет создан новый проект и файл main.c.

5. Добавьте следующий фрагмент кода (управление светодиодным индикатором с помощью кнопки) в файл main.c:

#include <avr/io.h>

int main(void)

{

DDRA |= (1 << DDRA5); // PORTA, 5 вывод на выход

DDRB &= ~(1 << DDRB1); // PORTB, вывод 1 на вход

PUEB |= (1 << PORTB1); // Разрешаем функцию подтяжки к питанию

PORTB |= (1 << PORTB1); // Активируем подтяжку по питанию

while(1)

{

/* Проверяем состояние кнопки (нажата - 0 , отпущена - 1 ) */

if(!(PINB & (1<<PINB1)))

{

/*Зажигаем светодиод когда кнопка нажата*/

PORTA &= ~(1<<PORTA5);

}

else

{

/* Гасим светодиод, когда кнопка отпущена*/

PORTA |= 1<<PORTA5;

}

}

}

 6. Проект и файл main.c с фрагментом кода выглядят так, как показано на рисунке 3.6.

Рис. 3.6. Окно проекта

7. Пояснение к работе тестовой программы:

Эта простая программа использует тактовую кнопку и желтый светодиод, расположенные на плате ATtiny104 Xplained Nano. Они подключены к выводам портов ввода-вывода PB1 и PA5 соответственно. Каждый порт имеет три регистра; DDRx, PORTx и PINx. Регистр DDRx используется для настройки направления выводов порта (1 – выход, 0 – вход). На плате нет встроенных резисторов для продтяжки кнопки к питанию, поэтому необходимо включить внутреннюю подтяжку. Для этого мы конфигурируем регистр PUEB для включения внутреннего подтягивания соответствующего вывода порта B. Когда вывод сконфигурирован как вход, и соответствующий бит в PORTx записан как логическая единица, соответствующий вывод будет подтянут к питанию через встроенный в микроконтроллер резистор.

Регистр PINx используется для возврата логического уровня, доступного на выводе порта. Кнопка, подключенная к контакту PB1, настроена как вход с подтяжкой к питанию. Светодиод, подключенный к контакту PA5, настроен как выход. Светодиод управляется в зависимости от состояния кнопки. Когда кнопка не нажата, светодиод не будет светиться. При нажатии на кнопку светодиод зажигается.

8. Перейдите к вкладке Build > Build Solution (F7), чтобы скомпилировать проект.

9. Если код успешно скомпилирован, перейдите в Tools > Device Programming (рис. 3.7). Выберите программатор (mEDBG), программируемый микроконтроллер (ATtiny104) и интерфейс (TPI). Нажмите кнопку Apply.

Рис.3.7. Настройки программатора

11. Далее необходимо считать подпись устройства (Device Signature) и напряжение (Target Voltage), чтобы убедиться в правильности подключения платы к компьютеру.

12. Если данные совпадают с приведенными на рисунке, в окне Программирование устройства (Device Programming) перейдите на вкладку Память (Memories). Чтобы запрограммировать устройство с помощью файла прошивки, найдите местоположение файла * .hex/elf и нажмите кнопку Program.

14. Работу приложения можно проверить вручную. Светодиод должен включаться при нажатии кнопки и выключаться при её отпускании.