МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра «Захист інформації»
/
Звіт
до лабораторної роботи № 1
на тему:
«Знайомство з інтегрованим середовищем розробки AVR Studio та
програмою симуляції Proteus.
Написання та відладка простих програм для AVR-мікроконтролерів»
з курсу
«Мікропроцесори в системах технічного захисту інформації»
Львів – 2016
Мета роботи − ознайомитись з послідовністю створення та відладки програмно-апаратних засобів на основі мікроконтролерів сімейства AVR у програмах AVR Studio та Proteus 7.
1. Завдання:
Підготувати програму згідно індивідуального завдання у Табл. 1.
Створити проект в AVR Studio, ввести свою програму, провести її асемблювання.
В режимі покрокової відладки переконатися в правильності роботи програми, перевірити дотримання заданих в завдані часових параметрів.
Відкрити файл LR_1.dsn в програмі Proteus, внести зміни у схемі відповідно до свого індивідуального завдання, підключити до МК отриманий в AVR Studio hex-файл.
Запустити режим симуляції схеми та перевірити правильність функціонування. У випадку відхилень в роботі внести потрібні виправлення.
№
Частота МК,
МГц
Час постановки та зняття з охорони T_Alarm, с
Частота
блимання світлодіода F_Blick,
Гц
Вивід для підкл. світлодіода
18
PB1
3,2
15
PB1
2. Результат виконання роботи:
Код програми:
; *******************************************
; Автор: ПІБ *
; Дата: 04.10.2016 *
; Версія: 1.0 *
; Ім'я файлу: LR_1.asm *
; Тип МК: AT90S2313 *
; Тактова частота: 7 MГц *
; *******************************************
;////////////////////////////////////////////////////////////////////////////////////
.include "2313def.inc" ; Підключаємо заголовочний файл
; Робочий регістр
.def temp = r16
; Регістри затримки
.def Delay1 = r17
.def Delay2 = r18
.def Delay3 = r19
;////////////////////////////////////////////////////////////////////////////////////
.equ LED = PB1 ; Вивід для підключення світлодіоду
.equ SWITCH = PD0 ; Вивід для підключення секретної кнопки
;////////////////////////////////////////////////////////////////////////////////////
; Розрахунок часових затримок
.equ FCLK = 7000000 ; Тактова частота МК
.equ N_Blick = (FCLK/15 - 15)/5 ; Частота мигання 15 Гц
;////////////////////////////////////////////////////////////////////////////////////
; Сегмент коду
.cseg
; Початкова адреса
.org 0
ldi temp, 0xDF ; Ініціалізація
out SPL, temp ; стеку
ldi temp, 0xFF
out DDRB, temp ;
out PORTB, temp
cbi DDRD, SWITCH ;Вивід PD0 вхід
sbi PORTD, SWITCH ;Задається початковий стан кнопки
No_Work:
sbic PIND,0 ;Пропускає наступну команду,
rjmp No_Work ; якщо біт 0 в регістрі PIND скинутий
Work:
ldi temp, 0x00
out PORTB, temp
ldi Delay1, low(N_Blick)
ldi Delay2, high(N_Blick)
ldi Delay3, byte3(N_Blick)
rcall Delay
ldi temp, 0xFF
out PORTB,temp
ldi Delay1, low(N_Blick)
ldi Delay2, high(N_Blick)
ldi Delay3, byte3(N_Blick)
rcall Delay
rjmp No_Work
Delay:
subi Delay1, 1
sbci Delay2, 0
sbci Delay3, 0
brcc Delay
nop
ret
Схема:
Висновок:
На цій лабораторній роботі я ознайомилась з принципом роботи у середовищах AVR Studio та Proteus. Також, набула практичних навичок у створенні та відладки програмно-апаратних засобів на основі сімейства AVR.