- •Отладочная платформа Arduino Mega2560 Общие сведения
- •Краткие характеристики
- •Работа со средой разработки avrStudio
- •Интерфейс avrStudio
- •Создание нового проекта
- •Построение и отладка проекта
- •Работа со средой моделированияIsisProteus
- •Загрузка программы в микроконтроллер
- •Лабораторные работы Лабораторная работа №1. Алгоритмы арифметической обработки данных
- •Краткие теоретические сведения
- •Задание на лабораторную работу
- •Примерырешения задач
- •Лабораторная работа №2. Алгоритмы логическойобработки данных
- •Краткие теоретические сведения
- •Задание на лабораторную работу
- •Примерырешения задач
- •Лабораторная работа №3.Организация ввода/вывода информации. Механизм прерываний
- •Краткие теоретические сведения
- •Задание на лабораторную работу
- •Примерырешения задач
- •Лабораторная работа №4. Алгоритмы программного управления. Временные задержки. Таймеры/счётчики
- •Краткие теоретические сведения
- •Список литературы
- •Заочное Введение
- •Задание
Отладочная платформа Arduino Mega2560 Общие сведения
Arduino Mega2560 предназначена для практического овладения принципами построения микроЭВМ, обучения программированию в машинных кодах, а также для отладки программного обеспечения микроконтроллерных систем различного назначения. Платформа имеет 54 цифровых входов/выходов, 16 аналоговых входов, 4 последовательных порта UART, кварцевый генератор 16 МГц, разъёмы: USB, питания, ICSP и кнопка перезагрузки. Для работы необходимо подключить Arduino к компьютеру USB-кабелем или подать внешнее питание через соответствующий разъём.
Краткие характеристики
Микроконтроллер |
ATmega2560 |
Рабочее напряжение |
5 В |
Внешнее напряжение питания |
7..12 В |
Цифровые входы/выходы |
54 |
Аналоговые входы |
16 |
Постоянный ток через вход/выход |
40 mA |
Постоянный ток для вывода 3,3 В |
50 mA |
Флеш-память |
256 KB (из которых 8 КB используются для загрузчика) |
ОЗУ |
8 KB |
Энергонезависимая память |
4 KB |
Тактовая частота |
16 MHz |
Программа, подготовленная к загрузке представляет собой *.hex-файл, сгенерированный в среде разработки AVRStudio из проекта на языке C или Assembler. Она загружается в Arduino через интерфейс USB непосредственно из командной строки. Простейшая программа на языке Assembler для микроконтроллера Atmega2560 выглядит следующим образом:
.include "m2560def.inc"
init:
ldi r16,0b10000000
out DDRB,r16
main:
ldi r16,0b10000000
out PORTB, r16
rjmp main
.include – это директива, которая подключает файл к проекту. Программа из подключенного файла будет выполняться так, как если бы код был написан в текущем файле. В файле *.incсодержатся макроопределения, а также наборы директив *.def(definition), которые присваивают кратким именам адреса периферийных регистров микроконтроллера.
После компиляции команды преобразуются в коды, выполняемые вычислительным ядром контроллера, а также присваиваются адреса расположения команд в памяти программ. Для того, чтобы посмотреть шестнадцатеричный код, который генерируется компилятором, необходимо в процессе пошаговой отладки программы воспользоваться комбинацией горячих клавиш (Alt+8) либо во вкладкеWindowsнажать пунктDisassembly. В результате проделанных манипуляций над кодом, приведенным выше, откроется окно со следующим содержимым:
@00000000: init
5: ldi r16,0b10000000
+00000000: E800 ldi R16,0x80
6: out DDRB,r16
+00000001: B904 out 0x04,R16
@00000002: main
8: ldi r16,0b10000000
+00000002: E800 ldi R16,0x80
9: out PORTB, r16
+00000003: B905 out 0x05,R16
10: rjmp main
+00000004: CFFD rjmp PC-0x0002
В каждой ячейке памяти программ хранится по два байта, а сам *.hex-файл данного кода, записываемый в микроконтроллер, занимает 63 байта. Как можно посчитать, каждая из вышеприведённых AVR-команд занимает 2 байта, в оставшиеся 53 байта помещаются макроопределения из заголовочногоincludeфайла.
Работа со средой разработки avrStudio
Для написания программ, их отладки и трансляции используется среда “AVRStudio”. Она работает с проектами, аналогично тому, как это реализовано в Microsoft Visual Studio. Проект содержит файлы программы и ориентирован на применяемый микроконтроллер. Файл проекта *.aps содержит сведения о типе процессора, частоте тактового генератора и т.д. Он также содержит описание всех остальных файлов входящих в проект. Текст программы имеет расширение asm. Проект может содержать несколько файлов такого типа, в данном случае один из них будет главным, а другие должны подключаться в главном посредством директивы .include.
Если программа не содержит критических ошибок и процесс трансляции прошел успешно, то в директории проекта автоматически появляется файл с результирующим кодом трансляции в hex-формате, готовым к загрузке в память программ МК, и другие вспомогательные файлы.