Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод-лаб-AVR-02-10-2012.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1 Mб
Скачать

Лабораторная работа № 4 Изучение команд битовой обработки данных мк

Цель работы: изучение команд битовой обработки данных, системы прерываний и таймеров/счетчиков МК AVR ATmega8515.

Задание 1

Для задачи из практической работы №5,6 провести отладку программы и детальную трассировку задания в AVR Studio 4, в соответствии с рекомендациями из лаб. раб. №1, описать каждый шаг выполняемой программы. Проверить все возможные условия задачи. Составить отчёт по трассировке. Ответить на контрольные вопросы.

Контрольные вопросы

1. Команды передачи управления и битовой обработки МК ATmega8515.

2. Организация таблицы прерываний и программирование T/C0 МК ATmega8515.

3. Методика работы в AVR Studio 4.

Практическая работа №8 Организация вывода данных в последовательном коде в мк

Цель работы: изучение функционирования и программирования передатчика модуля USART МК ATmega8515.

Методические рекомендации по выполнению практической работы

Задание 1.

1)Подробно изучить систему прерываний и функционирование передатчика модуля USART МК AVR ATmega8515.[1]

2)Необходимо составить алгоритм, написать программу на ассемблере МК AVR ATmega8515, провести проверку, выставить флаги для выполнения следующей задачи:

Пример выполнения задачи:

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта A, Y- ввести с порта B.

F(x,y)=X+Y. Сделать проверку при Х=02,Y=03

а) Составим алгоритм задачи:

Подпрограмма прерываний

Рис. 14. Алгоритм рассматриваемой задачи

в) Программа на языке ассемблер:

.include"8515def.inc" ;

.org 0x000 ; обращение к вектору сброса

Rjmp M0 ;безусловный переход на М0

.org 0x00a ; обращение к вектору прерываний от USART по Rg UDR ;пуст

Rjmp M1 ;безусловный переход на метку М1

M0: .def temp = R16 ;задание переменной в temp R16

ldi r17,$00 ;

out ddra,r17 ;

out ddrb,r17 ;

SEI ;разрешение глобальных прерываний (I=1 в Rg Sreg)

Ldi temp,$5f ;загрузка константы 5f в temp

Out SPL,temp ;организация стека в верхних ячейках памяти данных ;ОЗУ

Ldi temp,$02 ; загрузка константы 02 в temp

Out SPH,temp ;организация стека в верхних ячейках памяти данных ;ОЗУ

M2: Ldi R24, $86 ;

Out 0x20,R24 ; Rg UCSRC

Ldi R23,$25 ;

Out 0x09, R23 ; Rg UBRRL

Ldi R21,$68 ;

Out 0x0a, R21 ; Rg UCSRb

rjmp M2

M1: in r19,pina ; ввод x (PA)

in r20,pinb ; ввод y (PB)

add r19,r20 ; F(x,y)=X+Y

Out UDR,R19 ; передача F(x,y) по последовательному каналу

Reti ; возврат в основную программу

с) Проведем проверку F(x,y)=X+Y при Х=02,Y=03 и выставим флаги.

ADD R19, R20

В Rg UDR передатчика поместим результат F(x,y)=05h

Выставим флаги по результату действия:

H=0, N=0, C=0, Z=0, V=0, S=0.

Сформируем кадр: Старт бит =0, данные: 05h=0000 0101, бит четности: Р= 0, стоп-бит =1;

Передаваемый кадр: 0 1010 0000 0 1

Задание 2.

Получить у преподавателя задачу для реализации в соответствии с Вашим вариантом. Составить алгоритм, написать программу на ассемблере МК AVR ATmega8515, провести проверку, выставить флаги для реализации задачи в соответствии с рассмотренными выше методическими указаниями.

Таблица 5. Варианты заданий на практическую работу № 8

варианта

Задание на практическую работу.

1

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РA, Y- ввести с порта РB. F(x,y)=2X+3Y. Сделать проверку при Х=01,Y=03.

2

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РD, Y- ввести с порта РB. F(x,y)=2Xv3Y. Сделать проверку при Х=04,Y=03.

3

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РC, Y- ввести с порта РB. F(x,y)=3X-Y. Сделать проверку при Х=02,Y=03.

4

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РA, Y- ввести с порта РC. F(x,y)= 5X-3Y. Сделать проверку при Х=02,Y=03.

5

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РD, Y- ввести с порта РC. F(x,y)=2X^3Y. Сделать проверку при Х=01,Y=03.

6

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РD, Y- ввести с порта РB. F(x,y)=2X-3Y. Сделать проверку при Х=07,Y=04.

7

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РA, Y- ввести с порта РB. F(x,y)=2X-3Y. Сделать проверку при Х=01,Y=03.

8

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РD, Y- ввести с порта РA. F(x,y)=2X^3Y. Сделать проверку при Х=06,Y=04.

9

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РC, Y- ввести с порта РA. F(x,y)=4Xv3Y. Сделать проверку при Х=12h,Y=13h.

10

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РC, Y- ввести с порта РD. F(x,y)= X-3Y. Сделать проверку при Х=04,Y=03.

11

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РD, Y- ввести с порта РC. F(x,y)=5X+Y. Сделать проверку при Х=06,Y=04.

12

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РB, Y- ввести с порта РC. F(x,y)=5X-3Y. Сделать проверку при Х=01,Y=03.

13

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РA, Y- ввести с порта РD. F(x,y)=7 X+Y. Сделать проверку при Х=01,Y=03.

14

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РC, Y- ввести с порта РD. F(x,y)=3Xv3Y. Сделать проверку при Х=05,Y=03.

15

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РC, Y- ввести с порта РD. F(x,y)=4X - 3Y. Сделать проверку при Х=04,Y=03.

16

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РD, Y- ввести с порта РC. F(x,y)=X+5Y. Сделать проверку при Х=06,Y=03.

17

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РC, Y- ввести с порта РD. F(x,y)=6X^3Y. Сделать проверку при Х=01,Y=03.

18

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РD, Y- ввести с порта РB. F(x,y)= X^3Y. Сделать проверку при Х=02,Y=03.

19

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РA, Y- ввести с порта РD. F(x,y)=7X+Y. Сделать проверку при Х=04,Y=03.

20

Составить алгоритм, написать программу и сформировать кадр передаваемого результата для решения следующей задачи: передать результат, полученный от реализации следующей функции F(x,y) в последовательном коде с помощью передатчика модуля USART. X- ввести с порта РD, Y- ввести с порта РB. F(x,y)=4X - 3Y. Сделать проверку при Х=05,Y=03.

Задание 3. Оформить отчет по работе. Продемонстрировать отчет преподавателю.