- •1. Теоретическая часть
- •1.1. Методические указания по выполнению лабораторной работы
- •1.1.1. Создайте новый проект.
- •1.1.2. Напишите и отладьте программу lab1
- •Практическая работа №1,2 Изучение методики «сквозного проектирования» мпс на мк
- •Контрольные вопросы.
- •Практическая часть
- •2.1. Задание:
- •Программа lab1:
- •. Содержание отчета
- •Контрольные вопросы
- •Практическая работа №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 Организация простейших мпс на базе мк
Контрольные вопросы.
Продемонстрируйте преподавателю ход создания проекта и работы программы LAB1.
Практическая часть
2.1. Задание:
1. Изучить методику создания проекта в AVR Studio.
2. Провести детальную трассировку программы LAB1 в AVR Studio, описать каждый шаг Program Counter, значения которого изменяются при каждом нажатии на клавишу F11.
3. Изменить значение на PIN порта ввода и отметить что произошло.
4. Ответить на контрольные вопросы.
5. Составить отчёт по трассировке.
Программа lab1:
.include "8515def.inc" ; подключение файла описания МК
.def temp = r16 ; задание временной переменной temp
cli ; глобальный запрет прерываний
;------------|Организация стека в верхних ячейках ОЗУ|-----------------------
ldi temp,low(RAMEND) ; загрузка в temp младшего байта адреса
; последней ячейки оперативной памяти МК
out SPL,temp ; определение указателя стека
; (младший байт)
ldi temp,high(RAMEND) ; загрузка в temp старшего байта адреса
; последней ячейки оперативной памяти МК
out SPH,temp ; определение указателя стека
; (старший байт)
;------------|Инициализация портов|-----------------------
ldi temp,$ff ; загрузка в temp числа $FF
out DDRB,temp ; запись в регистр направления порта В
; значения temp ($FF – порт вывода)
ldi temp,$00 ; загрузка в temp числа $00
out DDRD,temp ; запись в регистр направления порта D
; значения temp ($00 – порт ввода)
;------------|Основной блок программы|-----------------------
MAIN:
in temp,PIND
dec temp
rol temp
ror temp
swap temp
out PORTB,temp
rjmp MAIN
.exit
. Содержание отчета
Наименование лабораторной работы.
Цель лабораторной работы.
Формулировка задания.
Отчет по трассировке.
Вычисления и выводы.
Электронный вариант выполненной работы.
Практическая работа №1,2 Изучение методики «сквозного проектирования» мпс на мк
Цель работы: изучение основ методики сквозного проектирования микропроцессорных систем на базе микроконтроллеров AVR.
Теоретическая часть
Процесс разработки микропроцессорных систем (МПС) разбивается на несколько этапов:
Составление технического задания в соответствии с требованиями, предложенными заказчиком.
Разработка принципа функционирования МПС.
Выбор оборудования (элементной базы) разрабатываемой системы.
Разработка и отладка программного обеспечения МПС в соответствии с требованиями технического задания с использованием программных средств.
Отладка функционирования МПС в соответствии с требованиями технического задания с использованием аппаратных средств.
Сдача разработанной МПС заказчику.
Практическая часть
Методические рекомендации по разработке простейшей МПС.
1) Разработать систему сигнализации, отображающую замыкание/размыкание нескольких контактов (ключей) световой индикацией – включением (зажиганием)/выключением светодиодов.
2) Разработка функциональной схемы МПС. В качестве примера рассмотрим функционирование системы с 2 контактами и 8 светодиодами:
Если ключ 1 и ключ 5 замкнуты, то ”включить” (зажечь) светодиоды VD1, VD5.
Если ключ 1 замкнут, а ключ 5 разомкнут, то ”включить” светодиоды VD1, VD2, VD3, VD4.
Если ключ 5 замкнут, а ключ 1 разомкнут, то ”включить” светодиоды VD5, VD6, VD7, VD8.
Если ключ 1 и ключ 5 разомкнуты, то все светодиоды ”выключены”.
3) Выбор элементной базы разрабатываемой системы сигнализации. В качестве основного микроконтроллера выбираем МК AVR ATmega8515, переключатели, светодиоды, источник питания (цепи питания не прорабатываются в данной практической работе).
В разрабатываемой системе переключатели подключим к порту PD, светодиоды – к порту PA МК. Замыкание ключа индицируется подачей логической единицы в соответствующий разряд порта (размыкание ключа - нулем). Включение светодиода индицируется выдачей логической единицы в соответствующий разряд порта.
Рис. 7. Схема электрическая структурная.
4) Разработка и отладка программного обеспечения МПС в соответствии с требованиями технического задания с использованием программных средств. На данном этапе проектирования разрабатывается алгоритм функционирования системы. Алгоритм приведен на рис. 8.
Рис. 8. Алгоритм рассматриваемой задачи.
В соответствии с алгоритмом разрабатывается программа на языке Ассемблер AVR Studio 4.
Программа на языке ассемблер:
.include "8515def.inc" ; подключение файла описания МК
LDI R20, $FF ; загрузка регистра R20 константой
OUT DDRA, R20 ; инициализация порта РА – вывод данных
LDI R21, $00 ; загрузка регистра R21 константой
OUT DDRD, R21 ; инициализация порта РD – ввод данных
M0: IN R1, PIND ; ввод данных РD – в регистр R1
SBRS R1,0 ; пропускаем след. команду если R1,0=1(к1-замкнут)
JMP M1 ; переход на M1, если к1- разомкнут (R1,0=0)
SBRS R1,4 ; пропуск след. команды если R1,4=1 (к5-замкнут)
JMP M2 ; переход на M2, если к5- разомкнут (R1,4=0)
LDI R16, $11 ; загрузка в регистр R16 числа $11
OUT PORTA, R16 ;запись содержимого регистра R16 в порта PA (VD1, VD5-;зажгли)
JMP M0 ;переход на метку М0
M2: LDI R17, $0F ; загрузка в регистр R17 числа $0F
OUT PORTA, R17 ;запись содержимого регистра R17 в порта PA (VD1, VD2, ;VD3, VD4-зажгли)
JMP M0 ;переход на метку М0
M1: SBRS R1,4 ;пропуск след. команды если R1,4=1 (к5-замкнут)
JMP M3 ;переход на M3, если к5- разомкнут (R1,4=0)
LDI R18, $F0 ;загрузка в регистр R18 числа $F0
OUT PORTA, R18 ;запись содержимого регистра R17 в порта PA (VD5, VD6, ;VD7, VD8-зажгли)
JMP M0 ; переход на метку М0
M3: LDI R19, $00 ; загрузка в регистр R19 числа $00
OUT PORTA, R19 ; запись содержимого регистра R19 в порта PA (все ;светодиоды погашены)
JMP M0 ; переход на метку М0
Разработка и отладка программного обеспечения МПС в соответствии с требованиями технического задания с использованием программных средств.
Разработанную программу необходимо отладить в программной среде AVR-Studio4, проверить состояние внутренних регистров МК AVR ATmega8515.
6) Отладка функционирования МПС в соответствии с требованиями технического задания с использованием аппаратных средств – лабораторной установки AVR STK 500.
Сдача разработанной МПС заказчику. Продемонстрировать работоспособную МПС Преподавателю.
Задание 2.
Получить у преподавателя задачу для реализации в соответствии с Вашим вариантом. Составить алгоритм, написать программу на ассемблере МК AVR ATmega8515, привести схему электрическую структурную в соответствии с рассмотренными выше методическими указаниями. Провести отладку программы и детальную трассировку задания в AVR Studio 4, описать каждый шаг выполняемой программы. Проверить все возможные условия задачи. Составить отчёт по трассировке. Ответить на контрольные вопросы.
