Описание работы программы
МИНОБРНАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
“Московский государственный университет приборостроения и информатики”
Факультет(филиал) ПР специальность (направление) 200101 1
Кафедра ПР-1 «Приборы и информационно-измерительные системы» ”
Дисциплина «Микропроцессорная измерительная техника»
ОТЧЕТ
по домашним работам
на тему:
«Написание программ для микроконтроллера ATmega 8515 фирмы Atmel на языке Ассемблер»
Студент Трушков Е.В.
подпись, дата Ф.И.О.
Группа ПР1-09-01д шифр______________09022
Обозначение домашней работы Д ДомР–2068752–200101–ПР1–19–12
Отчёт проверен
Руководитель Москаленко О.В.
подпись, дата Ф.И.О.
Москва
2013
Введение………………………………………………………………………………..
|
| Техническое задание…………………………………………………………………..
|
| 1 Лабораторная работа №1.………………...………………………………………...
|
| 1.1 Листинг программы……………………………………………………….
|
| 1.2 Описание работы программы…………………………………………….
1.3 Блок схема алгоритма программы……………………………………......
|
| 2 Лабораторная работа №2…………………………………..……………………......
|
| 2.1 Листинг программы……………………………………………………….
|
| 2.2 Описание работы программы…………………………………………….
|
| 2.3 Блок схема алгоритма программы………………………………………..
|
| 3 Лабораторная работа №3…………………………………..…………………….....
|
| 3.1 Листинг программы……………………………………………………….
|
| 3.2 Описание работы программы…………………………………………….
|
| 3.3 Блок схема алгоритма программы……………………………………......
|
| 4 Лабораторная работа №4…………………………………....……………………....
|
| 4.1 Листинг программы……………………………………………………….
|
| 4.2 Описание работы программы…………………………………………….
|
| 4.3 Блок схема алгоритма программы……………………………………......
|
| 5 Лабораторная работа №5…………………………………..……………………......
|
| 5.1 Листинг программы……………………………………………………….
|
| 5.2 Описание работы программы…………………………………………….
|
| 5.3 Блок схема алгоритма программы………………………………………..
|
| 6 Лабораторная работа №6…………………………………..……………………......
|
| 6.1 Листинг программы……………………………………………………….
|
| 6.2 Описание работы программы…………………………………………….
|
| 6.3 Блок схема алгоритма программы………………………………………..
|
|
СОДЕРЖАНИЕ
Заключение……………………………………………………………………….........
|
| Список использованной литературы…………………………………………………
|
| Приложение А Блок – схема для лабораторной работы №1
|
| Приложение Б Блок – схема для лабораторной работы №2
|
| Приложение В Блок – схема для лабораторной работы №3
|
| Приложение Г Блок – схема для лабораторной работы №4
|
| Приложение Д Блок – схема для лабораторной работы №5
|
| Приложение Е Блок – схема для лабораторной работы №6
|
|
ВВЕДЕНИЕ
Целью данной работы является написание программ для микроконтроллера ATmega 8515 фирмы Atmel на языке Ассемблер, отладка в среде AVRStudio 4.13 и составление блок – схем к каждой программе, которые представлены в соответствующих приложениях.
Для программирования AVR – микроконтроллеров существует немало средств разработки, однако, наиболее популярным, несомненно, стоит признать пакет AVR Studio. AVR Studio объединяет в себе текстовый редактор, ассемблер и симулятор. Пакет AVR Studio также используется совместно с аппаратными средствами отладки [1].
Написание программ для микроконтроллера ATmega 8515 фирмы Atmel на языке Ассемблер
| ДомР-2068752-200101-ПР1-19-12
|
Техническое задание
Написать программы на языке Ассемблер, составить блок – схемы и отладить в пакете AVR Studio.
Задание на лабораторную работу №1
Уменьшить данные на 19510 в ячейке памяти с адресом 50010.
Задание на лабораторную работу №2
Если в ячейке памяти с адресом 56410 находятся нечетные данные, то записать в них лог. 1 в младшие 4 бита. Если данные – четные, то оставить их без изменений.
Задание на лабораторную работу №3
Записать лог. 1 в нечетные биты данных в ячейке памяти (ЯП) с адресом 54310, только в том случае, если данные четные и ≥ 17010, или нечетные ≤ 10110.
Задание на лабораторную работу №4
Записать лог. 1 в четные биты элементов массива, содержащие нечетные данные 15910> x ≥ 7510.. Ячейка памяти 51510 содержит 1 элемент массива. В массиве 14 элементов (адрес следующего элемента массива больше на 1).
Задание на лабораторную работу №5
В массиве из 12 элементов, первый элемент массива находится в ЯП с адресом 57210 (адрес следующего на 1 меньше), найти элемент массива, содержащий min нечетные данные, попадающие в интервал 18710 < x ≤ 1910. Результат поместить в ЯП с адресом 57510.
Задание на лабораторную работу №6
В массиве из 26 элементов, первый элемент массива (ЭМ) находится в ячейке памяти с адресом 38010 (адрес следующего ЭМ на 1 меньше), найти количество бит, равных лог. 1 в младшей тетраде ЭМ, содержащего max нечетные данные, попадающие в интервал 12510 < х ≤ 21310. Результат поместить, начиная с ЯП с адресом 40510.
Лабораторная работа №1
Лабораторная работа №1 посвящена ознакомлению с возможностями написания программы на языке ассемблер и отладки в пакете AVR Studio.
Уменьшить данные на 19510 в ячейке памяти с адресом 50010.
Листинг программы
Прежде чем приступить к написанию программы необходимо перевести числа, указанные в условии задачи, из десятичной системы исчисления в шестнадцатеричную:
- 19510 → С316;
- 50010 → 014016.
ldi r31,0x01 ;Загрузить в регистр общего назначения (РОН) r31 ;старшую часть адреса ячейки памяти (ЯП)
ldi r30,0x40 ;Загрузить в РОН r30 младшую часть адреса ЯП
ldi r16,0xC3 ;Загрузить число 12410 в РОН r16
ld r5,Z ;Скопировать данные в РОН r5 из ЯП, адрес которой ;указан в регистровой паре Z
sub r5,r16 ;Вычесть из содержимого РОН r5 содержимое ;регистра r16 и поместить результат в РОН r5
st Z,r5 ;Скопировать данные из РОН r5 в ЯП, адрес ;которой указан в регистровой паре (РП) Z
nop ;Конец программы
Описание работы программы
Прежде чем выполнить требуемое действие над заданными числами необходимо обратиться к ЯП оперативного запоминающего устройства (ОЗУ) микроконтроллера, а для этого требуется загрузить адрес интересующей нас ЯП в свободную регистровую пару (РП), в данном случае используется РП Z. Далее загружаем константу в любой свободный РОН с r16 по r31. Следующее действие, которое выполнит микроконтроллер – это скопирует данные из ЯП, адрес которой указан в РП Z и поместит их в требуемый регистр – в данном случае регистр r5. После чего микроконтроллер вычитает данные, хранящиеся в регистре r16 из регистра r5 и результат выполненной операции помещает в регистр r5. Остается только записать полученный результат из регистра r5 в ЯП, адрес которой указан в РП Z.
Блок схема программы
Алгоритм работы программы 1 находится в приложении А. В приложении А приняты следующие сокращения: ЯП – ячейка памяти, РП – регистровая пара, РОН – регистр общего назначения.
Лабораторная работа №2
Написание подпрограммы для проверки данных на четность/нечетность на языке ассемблер микроконтроллера ATmega 8515 фирмы Atmel.
Если в ячейке памяти с адресом 56410 находятся нечетные данные, то записать в них лог. 1 в младшие 4 бита. Если данные – четные, то оставить их без изменений.
Листинг программы
В условии задачи адрес ЯП, в которой находятся интересующие нас данные, записан в десятичной системе исчисления. Переведём число - 56410 в шестнадцатеричную систему исчисления. Это будет 023416 .
ldi r27,0x02 ;Загрузить старшую часть адреса ЯП в РОН r27
ldi r26,0x34 ;Загрузить младшую часть адреса ЯП в РОН r26
ld r17,X ;Скопировать в РОН r17 данные из ЯП, адрес ;которой указан в РП Х
mov r16,r17 ;Скопировать данные из регистра r17 в регистр r16 для ;последующей проверки на четность/нечетность
andi r16, 0b00000001 ;Проверяем на четность, выполняя логическое ;умножение r16 с числом 0b00000001
breq finish ;Если флаг Z = 1 (т.е. в регистре r16 находились ;четные данные), то перейти в конец программы
ori r17,0b11110000 ;Записать лог. 1 в старшие 4 бита данных, находящихся ;в регистре r18
st X,r17 ;Скопировать данные из регистра r18 в ЯП, адрес ;которой указан в РП Х
finish: nop ;Конец программы
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|