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

Лабораторная работа № 2 Изучение команд пересылки данных мк в avr Studio 4

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

Задание 1.

Создать проект в AVR Studio 4, написать и отладить программу для реализации задачи из практической работы №3.

Пример выполнения задания из практической работы №3 на рис. 10.

Рис. 10. Рабочее окно AVR Studio 4 с результатами проверки задачи

Проверим правильность выставления флагов по выполнению команды сложения (результат на рис. 11) – все арифметические флаги =0, что подтверждает правильность теоретических расчетов в задании 1.

Рис. 11. Рабочее окно AVR Studio 4 с результатами проверки арифметических флагов

Задание 2.

Продемонстрировать преподавателю функционирование МК при отладке программы в AVR Studio 4.

Оформить отчет по лабораторной работе. Требования к содержанию отчета приведены в лаб. раб. №1.

Практическая работа №5 Изучение команд арифметики мк

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

Задание1.

1) Подробно изучить структуру и функции МК AVR ATmega8515.[1]

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

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

Реализовать функцию z=3x+2Ah, если x меняется с шагом 1 от 1 до 10h. Запись массива производить в памяти данных, начиная с адреса 0х100h по возрастанию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=02h.

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

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

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

.include "8515def.inc" ; подключение файла описания МК

М0: LDI R28, $00 ; загрузка младшего байта регистра Y

LDI R29, $01 ; загрузка старшего байта регистра Y

LDI R20, $10 ; загрузка регистра R20 константой $10

LDI R30, $01 ; счетчик (x=1)

М1: MOV R10, R30 ; пересылаем содержимое регистра R30 в регистр R10

;(x => R10)

ADD R10, R10 ; z=2x

ADD R10, R30 ; z=3x

LDI R16, $2A ; загрузка регистра R16 константой $2A

ADD R10, R16 ; z=3x+2Ah

ST Y+, R10 ; z => mem. [Y], y=y+1

CP R20, R30 ;сравниваем регистры R20 и R30 (R20-R30=const.) и ;выставляем флаги

BREQ M0 ; если х=10h, то переход на метку М0 (ZF=1)

INC R30 ; увеличиваем x на единицу (x=x+1) и помещаем в R30

JMP M1 ; переход на метку М1

с) Проведем проверку при x=02h и выставим флаги.

1) ADD R10, R10

В R10 поместим результат (R10=04h).

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

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

2) ADD R10, R30

Результат снова помещаем в R10 (R10=06h)

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

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

3) ADD R10, R16

В R10 поместим окончательный результат (R10=30h).

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

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

Задание 2.

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

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

Вари

анта

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

1

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

Реализовать функцию , если x меняется с шагом 1 от 1 до 1610. Запись массива производить в памяти данных, начиная с адреса 0х110h по возрастанию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=03h.

2

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

Реализовать функцию z=2x3x, если x меняется с шагом 1 от 1 до 10h. Запись массива производить в памяти данных, начиная с адреса 0х120h по возрастанию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=04h.

3

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

Реализовать функцию , если x меняется с шагом 1 от 1 до 15h. Запись массива производить в памяти данных, начиная с адреса 0х160h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=05h.

4

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

Реализовать функцию z=4x2Ah, если x меняется с шагом 1 от 1 до 1010. Запись массива производить в памяти данных, начиная с адреса 0х150h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=06h.

5

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

Реализовать функцию , если x меняется с шагом 1 от 1 до2010. Запись массива производить в памяти данных, начиная с адреса 0х140h по возрастанию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=1610.

6

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

Реализовать функцию , если x меняется с шагом 1 от 1 до 1310. Запись массива производить в памяти данных, начиная с адреса 0х130h по возрастанию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=0Ah.

7

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

Реализовать функцию z=5x-2Bh, если x меняется с шагом 1 от 1 до 1410. Запись массива производить в памяти данных, начиная с адреса 0х170h по возрастанию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=07h.

8

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

Реализовать функцию , если x меняется с шагом 1 от 1 до 11h. Запись массива производить в памяти данных, начиная с адреса 0х180h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=10h.

9

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

Реализовать функцию z=5x2x, если x меняется с шагом 1 от 1 до1710. Запись массива производить в памяти данных, начиная с адреса 0х190h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=1110.

10

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

Реализовать функцию , если x меняется с шагом 1 от 1 до2010. Запись массива производить в памяти данных, начиная с адреса 0х200h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=1510

11

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

Реализовать функцию z=6x30h, если x меняется с шагом 1 от 1 до 1Ah. Запись массива производить в памяти данных, начиная с адреса 0х190h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=08h.

12

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

Реализовать функцию , если x меняется с шагом 1 от 1 до 10h. Запись массива производить в памяти данных, начиная с адреса 0х280h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=07h.

13

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

Реализовать функцию , если x меняется с шагом 1 от 1 до1810. Запись массива производить в памяти данных, начиная с адреса 0х210h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=03h.

14

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

Реализовать функцию , если x меняется с шагом 1 от 1 до 16h. Запись массива производить в памяти данных, начиная с адреса 0х220h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=02h.

15

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

Реализовать функцию z=4Ah-2x, если x меняется с шагом 1 от 1 до 12h. Запись массива производить в памяти данных, начиная с адреса 0х260h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=1010.

16

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

Реализовать функцию z=11h3x, если x меняется с шагом 1 от 1 до1910. Запись массива производить в памяти данных, начиная с адреса 0х260h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=08h.

17

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

Реализовать функцию , если x меняется с шагом 1 от 1 до2010. Запись массива производить в памяти данных, начиная с адреса 0х230h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=06h.

18

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

Реализовать функцию , если x меняется с шагом 1 от 1 до 12h. Запись массива производить в памяти данных, начиная с адреса 0х250h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=1210.

19

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

Реализовать функцию , если x меняется с шагом 1 от 1 до 14h. Запись массива производить в памяти данных, начиная с адреса 0х240h по убыванию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=12h.

20

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

Реализовать функцию , если x меняется с шагом 1 от 1 до1510. Запись массива производить в памяти данных, начиная с адреса 0х110h по возрастанию адресов в соседних ячейках памяти. Провести проверку результата и выставить флаги при х=08h.

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

Лабораторная работа № 3

Изучение арифметических команд МК в AVR Studio 4

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

Задание 1.

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

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

  1. Команды арифметики и косвенной адресации МК ATmega8515.

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

Практическая работа №6,7

Изучение структуры, функционирования и программирования

таймеров/счетчиков МК

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

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

Задание 1.

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

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

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

Организовать вывод функции z=2x в порт РВ с минимальной задержкой 8 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0 (реализовать скорость подачи тактовых сигналов CLKI/O/8 в режиме Normal).

2)Вывод функции z в порт РВ при событии совпадения T/C0 через подпрограмму прерываний.

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

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

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

.include"8515def.inc"; подключение файла описания МК

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

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

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

.org 0x00E; обращение к вектору прер. от Т/С0 по Rg счета=Rg сравнения

Rjmp M1; безусловный переход на М1 (п/прогр. обработки прерывания)

M0:

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

Ldi temp,$5f; загрузка const 5f в temp

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

Ldi temp,$02; загрузка const 02 в temp

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

Ldi temp,$ff; загрузка const ff в temp

Out DDRB, temp; порт В настроен на вывод данных

M3: Ldi temp,$02; загрузка const 02 в temp

Out 0x33,temp; в Rg TCCR0 выбор реж нормал и упр такт сигналом clk/8

Ldi temp,$05; загрузка const 05 в temp

Out 0x31,temp; загрузка const=5 в регистр сравнения (Rg OCR0)

Ldi temp,$01; загрузка const 01 в temp

Out 0x39,temp; в RgTIMSK разреш. прер. от Т/С0 по Rg счета=Rg сравнения

Ldi temp,$00; загрузка const 00 в temp

Out PORTB,temp; обнуление выводов порта В

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

; подпрограмма обработки прерывания

M1: Ldi temp,$00; загрузка const 00 в temp

Out 0x33,temp; останов T/C0

Out 0x32,temp; обнуление Rg счета (TCNT0)

Ldi R20,$06; вычисление заданной функции z (х для примера взят 06h)

Add R20,R20; вычисление заданной функции z

Out PORTB,R20; вывод заданной функции z в порт В

Reti; возвращение в основную программу

с) Проведем проверку при x=06h и выставим флаги.

1) ADD R20, R20

В порт PB поместим результат z=0Ch

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

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

Задание 2.

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

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

варианта

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

1

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

Организовать вывод функции z=2x+y в порт РA с минимальной задержкой 4 тактa:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PD; y – порта PC.

2)Вывод функции z в порт РA при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=02, y=03.

2

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

Организовать вывод функции z=3x+2y в порт РD с минимальной задержкой 8 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PВ; y – порта PC.

2)Вывод функции z в порт РD при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=03, y=03.

3

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

Организовать вывод функции z=x+3y в порт РA с минимальной задержкой 9 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PC; y – порта PB.

2)Вывод функции z в порт РA при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=04, y=02.

4

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

Организовать вывод функции z=2x^2y в порт РC с минимальной задержкой 3 тактa:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PA; y – порта PB.

2)Вывод функции z в порт РC при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=01, y=06.

5

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

Организовать вывод функции z=3xV2y в порт РD с минимальной задержкой 5 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PB; y – порта PC.

2)Вывод функции z в порт РD при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=01, y=05.

6

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

Организовать вывод функции z=x+5y в порт РA с минимальной задержкой 6 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PD; y – порта PВ.

2)Вывод функции z в порт РA при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=04, y=02.

7

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

Организовать вывод функции z=2x-y в порт РВ с минимальной задержкой 9 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PD; y – порта PА.

2)Вывод функции z в порт РВ при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=04, y=02.

8

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

Организовать вывод функции z=3x-2y в порт РВ с минимальной задержкой 10 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PD; y – порта PC.

2)Вывод функции z в порт РВ при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=05, y=02.

9

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

Организовать вывод функции z=4x+3y в порт РА с минимальной задержкой 11 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PD; y – порта PC.

2)Вывод функции z в порт РА при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=02, y=03.

10

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

Организовать вывод функции z=4x^2y в порт РВ с минимальной задержкой 12 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PА; y – порта PD.

2)Вывод функции z в порт РВ при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=02, y=07.

11

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

Организовать вывод функции z=3x-2y в порт РD с минимальной задержкой 13 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PА; y – порта PВ.

2)Вывод функции z в порт РD при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=04, y=02.

12

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

Организовать вывод функции z=xV5y в порт РА с минимальной задержкой 8 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PD; y – порта PВ.

2)Вывод функции z в порт РА при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=03, y=04.

13

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

Организовать вывод функции z=x+3y в порт РС с минимальной задержкой 8 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PD; y – порта PА.

2)Вывод функции z в порт РС при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=05, y=04.

14

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

Организовать вывод функции z=4x-3y в порт РВ с минимальной задержкой 14 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PА; y – порта PD.

2)Вывод функции z в порт РВ при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=06, y=04.

15

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

Организовать вывод функции z=4x-y в порт РА с минимальной задержкой 15 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PВ; y – порта PC.

2)Вывод функции z в порт РА при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=01, y=03.

16

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

Организовать вывод функции z=3x+3y в порт РD с минимальной задержкой 16 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PC; y – порта PA.

2)Вывод функции z в порт РD при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=02, y=03.

17

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

Организовать вывод функции z=4x-3y в порт РВ с минимальной задержкой 14 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PD; y – порта PА.

2)Вывод функции z в порт РВ при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=03, y=02.

18

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

Организовать вывод функции z=x-2y в порт РВ с минимальной задержкой 11 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PА; y – порта PC.

2)Вывод функции z в порт РВ при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=05, y=02.

19

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

Организовать вывод функции z=7x-y в порт РА с минимальной задержкой 10 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PD; y – порта PC.

2)Вывод функции z в порт РА при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=05, y=01.

20

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

Организовать вывод функции z=x+3y в порт РD с минимальной задержкой 10 тактов:

1)Задержку организовать с помощью таймера-счётчика T/C0; x – ввести с порта PА; y – порта PC.

2)Вывод функции z в порт РD при событии совпадения T/C0 через подпрограмму прерываний.

3) Сделать проверку при х=03, y=02.

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