Знайомство з інтегрованим середовищем розробки AVR Studio та програмою симуляції Proteus. Написання та відлатка простих програм для AVR-мікроконтролерів

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Захисту інформації
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Мікропроцесори в системах технічного захисту інформації
Варіант:
11

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра «Захист інформації»  ЗВІТ про виконання лабораторної роботи №1 з курсу “Мікропроцесори в системах технічного захисту інформації ” Знайомство з інтегрованим середовищем розробки AVR Studio та програмою симуляції Proteus. Написання та відлатка простих програм для AVR-мікроконтролерів Мета роботи – ознайомитись з послідовністю створення та відладки програмно-апаратних засобів на основі мікроконтролерів сімейства AVR в програмах AVR Studio та Proteus 7. Завдання Написати та відладити програму охоронної сигналізації з такими параметрами  Тактова частота рівна 6 Мгц Блок-схема роботи охоронної системи  Текст програми .include "2313def.inc" ; Підключаємо заголовочний файл ; Робочий регістр .def temp = r16 ; Регістри затримки .def Delay1 = r17 .def Delay2 = r18 .def Delay3 = r19 ;////////////////////////////////////////////////////////////// .equ SHLEIF_NC1 = PD3 ; Вивід для підключення Normal Closed шлейфу (НЗМ) .equ SHLEIF_NC2 = PB0 ; Вивід для підключення Normal Closed шлейфу (НЗМ) .equ LED = PB6 ; Вивід для підключення світлодіоду .equ SWITCH = PD0 ; Вивід для підключення секретної кнопки ;////////////////////////////////////////////////////////////// ; Розрахунок часових затримок .equ FCLK = 6000000 ; Тактова частота МК .equ N_Alarm = (FCLK*3/10 - 15)/5 ; Затримка 3 секунди .equ N_Blick = (FCLK/6 - 15)/5 ; Частота мигання 6 Гц ;/////////////////////////////////////////////////////////////// ; Сегмент коду .cseg ; Початкова адреса .org 0 ldi temp, 0xDF ; Ініціалізація out SPL, temp ; стеку rcall Pin_Init ; Налаштування виводів МК No_Work: ; Режим очікування in temp, PIND ; Прочитати стан секретної кнопки andi temp, (1<<SWITCH) ; Виділити розряд РВ3 brne No_Work ; Якщо не натиснута, то перейти на No_Work ; Почекати час необхідний для виходу з об'єкту Loop: ldi Delay1, low(N_Alarm) ldi Delay2, high(N_Alarm) ldi Delay3, byte3(N_Alarm) rcall Delay ; Виклик п/п часової затримки ; Режим охорони cbi PORTB, LED ; Включити світлодіод сигналізації ; Перейти в режим сканування охоронних шлейфів Start: in temp, PIND ; Прочитати стан шлейфу 1 andi temp, (1<< SHLEIF_NC1) ; Виділити розряд РВ3 breq Next_1 ; Якщо є спрацювання, перейти rjmp Work Next_1: in temp, PINB ; Прочитати стан шлейфу 1 andi temp, (1<< SHLEIF_NC2) ; Виділити розряд РВ4 brne Work ; Якщо шлейфи не активні: in temp, PIND ; Прочитати стан секретної andi temp, (1<<SWITCH) ; Кнопка натиснута? breq Next_2 ; Якщо так, перейти на Next_2 sbi PORTB, LED ; Виключити світлодіод сигналізації rjmp No_Work ; Перейти в режим очікування Next_2: rjmp Start ; Почекати час необхідний для відключення сигналізації Work: ldi Delay1, low(N_Alarm) ldi Delay2, high(N_Alarm) ldi Delay3, byte3(N_Alarm) rcall Delay ; Час вичерпано – перевірити стан секретної кнопки in temp, PIND ; Прочитати стан секретної andi temp, (1<<SWITCH) ; Кнопка натиснута (знято з breq Alarm ; Якщо ні, перейти на Alarm ; Охорона вчасно відключена sbi PORTB, LED ; Виключити світлодіод сигналізації rjmp No_Work ; і перейти в режим очікування ; Сигналізація спрацювала – режим тривоги Alarm: in temp, PORTB ; Прочитати стан світлодіоду ldi Delay1, (1<<LED) eor temp, Delay1 ; Інвертувати стан світлодіоду out PORTB, temp ; Вивести в PORT_LED ldi Delay1, low(N_Blick) ; Затримка ldi Delay2, high(N_Blick) ldi Delay3, byte3(N_Blick) rcall Delay rjmp Alarm ; Перейти на початок ;////////////////////////////////////////////////////////////// ; Підпрограма часової затримки Delay: subi Delay1, 1 sbci Delay2, 0 sbci Delay3, 0 brcc Delay nop ret ;////////////////////////////////////////////////////////////// ; Підпрограма ініціалізації виводів МК Pin_Init: ; Налаштувати виводи SHLEIF_NC без підтягуючих резисторів cbi PORTD,SHLEIF_NC1 cbi PORTB,SHLEIF_NC2 ; Налаштувати виводи SHLEIF_NC на ввід cbi DDRD,SHLEIF_NC1 cbi DDRB,SHLEIF_NC2 ; Налаштувати вивід LED на вивід з логічною 1 на виході sbi PORTB,LED sbi DDRB,LED ; Налаштувати вивід SWITCH на ввід з підтягуючим резистором sbi PORTD,SWITCH cbi DDRD,SWITCH ret ; Повернення з підпрограми Схема симуляції Висновок: на цій лабораторній роботи ми ознайомились з послідовністю створення та відладки програмно-апаратних засобів на основі мікроконтролерів сімейства AVR в програмах AVR Studio та Proteus 7, і також написали та відладили програму охоронної сигналізації з данними параметрами
Антиботан аватар за замовчуванням

22.12.2017 00:12-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!