Знакомство с интегрированной средой программирования CASMAVR
Министерство
образования и науки Российской Федерации
Федеральное
государственное бюджетное образовательное учреждение высшего профессионального
образования
«Пермский
национальный исследовательский политехнический университет»
Лысьвенский
филиал
Кафедра
«Естественнонаучных дисциплин»
ОТЧЕТ
по
лабораторной работе №
Дисциплина:
«Микропроцессорные системы»
Тема:
«Знакомство с интегрированной средой программирования CASMAVR»
Лысьва,
2012 г
Цель работы
Ознакомиться с архитектурой микроконтроллера AVR
и с интегрированной средой программирования «CASMAVR»
Краткие теоретические сведения
В настоящее время широкое применение получили
микроконтроллеры типа AVR. В рамках единой базовой архитектуры
AVR-микроконтроллеры можно разделить на три подкласса:
classic AVR- основная линия микроконтроллеров с
производительностью отдельных модификаций до 16 MIPS, FLASH ROM программ 2-8
кбайт, EEPROM данных 64-512 байт, SRAM 128-512 байт
mega AVR с производительностью 4-6 MIPS для
сложных приложений, требующих большого объёма памяти, FLASH ROM программ 64-128
кбайт, EEPROM данных 64-4096 байт, SRAM 1-4 кбайт, встроенный 10-разрядный
8-канальный АЦП, аппаратный умножитель 8x8;
tiny AVR - низкостоимостные микроконтроллеры в
8-выводном исполнении, имеющие встроенную систему контроля напряжения питания,
что позволяет обойтись без внешних супервизорных микросхем.
При создании программы для микроконтроллера на
языке Ассемблер разработчик оперирует программно-доступными ресурсами
микропроцессорной системы.
У микроконтроллера AT90mega103 эти ресурсы
включают в себя: программно-доступные регистры микроконтроллера, внутреннюю
память данных.
Каждая команда языка Ассемблер сообщает
процессору выполняемую операцию и методы доступа к операндам. Командная строка
Ассемблера включает в себя метку (символический адрес), мнемонику
(символическое имя) команды, поле операндов, комментарий. Имя команды
однозначно связано с выполняемой ею операцией.
Строка кода не должна быть длиннее 120 символов.
Любая строка может начинаться с метки, которая
является набором символов, заканчивающимся двоеточием. Метки используются для
указания места, в которое передаётся управление при переходах, а также для
задания имён переменных.
Входная строка может иметь одну из четырёх форм:
[метка:] директива [операнды] [Комментарий]
[метка:] инструкция [операнды] [Комментарий]
Комментарий
Пустая строка
Комментарий имеет следующую форму:
;[Текст]
Позиции в квадратных скобках необязательны.
Текст после точки с запятой (;) и до конца строки игнорируется компилятором.
Метки, инструкции и директивы более детально описываются ниже.
Примеры:: .EQU var1=100 ; Устанавливает var1
равным 100 (Это директива)
.EQU var2=200 ; Устанавливает var2 равным 200:
rjmp test ; Бесконечный цикл (Это инструкция)
; Строка с одним только комментарием
; Ещё одна строка с комментарием
Компилятор не требует, чтобы метки, директивы,
комментарии или инструкции находились в определённой колонке строки.
Ход работы
. Изучить описание структуры микроконтроллера
AT90mega103 и интегрированной системы его программирования на языке Ассемблер.
. Запустить на инструментальном компьютере
интегрированную систему программирования « Турбо Ассемблер-AVR» (CasmAVR.exe).
Командой File/New создать новый файл и командой
File/Save As сохранить его с именем, например, demol.asm
. Выполнить настройку интегрированной среды
программирования.
. Инициализировать систему командой
Ran/Program/Reset/ Выполнить программу по шагам, инициируя выполнение каждой
команды клавишей F7.
. Вызвать окно Disassembler, используя его
информацию, определить адрес каждой команды программы, её код, формат (в
байтах) и время выполнения, а также время выполнения всей программы.
микроконтроллер программа команда
Рис. 1
Рис. 2
Контрольные вопросы
Виды памяти у микроконтроллеров AVR
Виды режимов энергосбережения микроконтроллеров.
Сколько операндов выбирается из файла регистров
за один тактовый цикл?
Прерывание, с каким адресом вектора прерываний
(наименьшим или наибольшим) имеет наивысший приоритет?
Ответы на контрольные вопросы
Flash-память,
EEPROM, SRAM, CISK, RISK.
ITL - останавливает центральный процессорDOWN -
сохраняется содержание регистров, но останавливается тактовый генераторSAVE -
все устройства переходят в режим сна, но продолжает работать генератор таймера
За один тактовый цикл выбирается два операнда
Прерывание с наименьшим вектором прерывания
имеет наивысший приоритет
Вывод
Ознакомились с архитектурой микроконтроллера AVR
и с интегрированной средой программирования CASMAVR.