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

Отладочная платформа 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-формате, готовым к загрузке в память программ МК, и другие вспомогательные файлы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]