
- •1. Теоретическая часть
- •1.1. Методические указания по выполнению лабораторной работы
- •1.1.1. Создайте новый проект.
- •1.1.2. Напишите и отладьте программу lab1
- •Контрольные вопросы.
- •Практическая часть
- •2.1. Задание:
- •Программа lab1:
- •. Содержание отчета
- •Практическая работа №1,2 Изучение методики «сквозного проектирования» мпс на мк
- •Контрольные вопросы
- •Практическая работа №3,4 Изучение команд пересылки данных в мк Организация параллельного обмена данными в мк
- •Контрольные вопросы
- •Лабораторная работа № 2 Изучение команд пересылки данных мк в avr Studio 4
- •Практическая работа №5 Изучение команд арифметики мк
- •Лабораторная работа № 4 Изучение команд битовой обработки данных мк
- •Контрольные вопросы
- •Практическая работа №8 Организация вывода данных в последовательном коде в мк
- •Подпрограмма прерываний
- •Лабораторная работа №5 Организация вывода данных в мк в последовательном коде в режиме реального времени
- •Практическая работа №9 Организация ввода данных в последовательном коде в мк
- •Лабораторная работа №6 Организация ввода данных в мк в последовательном коде в режиме реального времени
- •Практическая работа №10 Организация процесса обмена данными в мк через spi - интерфейс
- •Лабораторная работа №7 Организация обмена данными в мпс через spi – интерфейс
- •Практическая работа №11 Программирование сторожевого таймера (Watch Dog Timer) мк aTmega8515
- •Сброс wdt
- •Инициализация wdt
- •Инициализация портов
- •Лабораторная работа № 8,9 Организация простейших мпс на базе мк
Лабораторная работа № 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. Оформить отчет по работе. Продемонстрировать отчет преподавателю.