Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Алгоритм выполнения расчетного задания.


Расчетное задание.

 

Записать программу на языке СИ для AVR- контроллера AT90S2313 c использованием генератора программного кода компилятора CodeVisionAVR, реализующую следующий алгоритм. Пусть номер студента по журналу (d) и номера группы (четырехзначный год поступления) (k).

k=2004;

d=10;

x1=k*d;

x=x1+x1/2+x1/4+x1/8+x1/16+x1/32;

Вычисленный байт (x) записать в один из четырех выделенных именованных ячеек ОЗУ bait1, bait2, bait3, bait4, в соответствии с содержанием двух младших битов вычисленного байта (x). Проверить работу программы в пакете AVRStudio.

В отчете о выполнении расчетного задания привести:

· тексты программы на языке СИ,

· и ее аналога на языке Ассемблер,

· вычисленный байт (х),

· и адрес ячейки ОЗУ, куда он записался.

Уметь объяснять использованные команды как на языке СИ, так и на языке Ассемблер.

Описать структуру области машинных кодов, записанных в ПЗУ, пользуясь окном “Disassembler” пакета AVRStudio.

Привести адреса и функциональное назначение каждой области.

 

Пример программы.

 

void main()

{int k,x1;

short int a,d,b;

unsigned char bait1=0x00,bait2=0x00,bait3=0x00,bait4=0x00;

unsigned short int x;

k=2004;

d=10;

x1=k*d;

x=x1+x1/2+x1/4+x1/8+x1/16+x1/32;

b=0b00000011;

a=(b)&(x);

if(a==0b00000000)

{bait1=x; //=0b00000000;

}

if(a==0b00000001)

{bait2=x; //=0b00000001;

}

if(a==0b00000010)

{bait3=x; //=0b00000010;

}

if(a==0b00000011)

{bait4=x; //=0b00000011;

}

x=x;

}

 

Алгоритм выполнения расчетного задания.

1. Открыть программу CodeVisionAVR: (Пуск\Все программы)

2. Создать новый проект:

3. , нажать «OK»,

4. Использовать мастер CodeWizardAVR:

5. Выбрать тип микроконтроллера

6. Создать проект

7. Сохранить файлы проекта (например в папке C:\temp\), задавая для разных файлов одно имя. При этом в именах файлов, папок - необходимо использовать только латинские буквы, и длина имени не должна быть больше 8 букв.

8. Создается заготовка программы, дорабатываем программу – добавляем свой код внутрь скобок while (1) { … }.

9. Компилируем проект .

10. В нижнем окне сообщений – не должно быть сообщений об ошибках.

11. Запускаем отладку программы .

12. Открывается программа AVRStudio, в которой необходимо открыть файл проекта с расширением.COF .

13. Необходимо выбрать AVRsimulator, тот же тип микроконтроллера .

14. Откроется файл проекта, появится желтая стрелка, указывающая текущую команду.

15. Для наблюдения за переменными необходимо открыть окно Watch: .

16. Нажимая правую клавишу мыши в окне Watch – добавить переменные, значения которых будем наблюдать: .

17. Нажимая F10 (выполнение одного шага программы) – наблюдаем, как меняются переменные при исполнении команд программы.

18. В конце программы – видим результат, который необходимо сохранить в виде картинки (нажимая PrintScreen, открыть Пуск\Все программы\Стандартные\Paint, вставить картинку из буфера, вырезать необходимый фрагмент, вставить в файл отчета – документ Word -.doc).

19. Текст программы на языке Assembler можно просмотреть, открыв окно Disassembler: .

20. Содержимое памяти можно наблюдать, открыв окно Memory .

 




<== предыдущая лекция | следующая лекция ==>
Расчет налогооблагаемой прибыли | 

Дата добавления: 2015-09-04; просмотров: 384. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

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

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия