DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Мікропроцесори

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" ІНСТИТУТ КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ, АВТОМАТИКИ ТА МЕТРОЛОГІЇ КАФЕДРА ”ЗАХИСТ ІНФОРМАЦІЇ” / Звіт до лабораторної роботи № 1 з курсу: "Мікропроцесори в системах ТЗІ" Варіант №4 Мета робот – ознайомитись з послідовністю створення та відладки програмно- апаратних засобів на основі мікроконтролерів сімейства AVR у програмах AVR Studio та Proteus 7. ТЕОРЕТИЧНІ ВІДОМОСТІ AVR Studio 4 є інтегрованим середовищем розробки для написання та відлагодження програмного забезпечення мікроконтролерів сімейства AVR. AVR Studio 4 надає засоби управління проектами, редагування та асемблювання вихідних кодів, підтримки мов високого рівня С/С++. Також AVR Studio 4 дає змогу проводити симуляцію роботи програми, програмування кристалу мікроконтролера, здійснювати апаратну відладку. Виконати в лабораторії 1. Створити проект в AVR Studio, ввести свою програму, провести її асемблювання. 2. В режимі покрокової відладки переконатися в правильності роботи програми, перевірити дотримання заданих в завданні часових параметрів. 3. Відкрити файл LR_1.dsn в програмі Proteus, внести зміни у схему відповідно до свого індивідуального завдання, підключити до МК отриманий в AVR Studio hex-файл. 4. Запустити режим симуляції схеми та перевірити правильність функціонування охоронної системи у всіх режимах роботи. У випадку виявлення відхилень в роботі внести потрібні виправлення. Лістинг програми ; ******************************************* ; ?????: ??? * ; ????: 01.09.2010 * ; ??????: 1.0 * ; ??'? ?????: LR_1.asm * ; ??? ??: AT90S2313 * ; ??????? ???????: 4 M?? * ; ******************************************* ;//////////////////////////////////////////////////////////////////////////////////// .include "2313def.inc" ; Підключаємо заголовочний файл ; Робочий регістр .def temp = r16 ; ???????? ???????? .def Delay1 = r17 .def Delay2 = r18 .def Delay3 = r19 ;//////////////////////////////////////////////////////////////////////////////////// .equ SHLEIF_NC = PB2 ; Вивід для підключення Normal Closed шлейфу (НЗМ) .equ LED = PD5 ; Вивід для підключення світлодіоду .equ SWITCH = PD0 ; Вивід для підключення секретної кнопки ;//////////////////////////////////////////////////////////////////////////////////// ; Розрахунок часових затримок .equ FCLK = 4000000 ; Тактова частота МК .equ N_Alarm = (FCLK*4 - 15)/5 ; Затримка 4 секунди .equ N_Blick = (FCLK/20 - 15)/5 ; Частота мигання 5 Гц ;//////////////////////////////////////////////////////////////////////////////////// ; Сегмент коду .cseg ; Початкова адреса .org 0 ldi temp, 0xDF ; Ініціалізація out SPL, temp ; стеку rcall Pin_Init ; Налаштування виводів МК No_Work: ; Режим очікування in temp, PIND ; Прочитати стан секретної кнопки andi temp, (1<<SWITCH) ; Виділити розряд РВ0 brne No_Work ; Якщо не натиснута, то перейти на No_Work ; Почекати час необхідний для виходу з об'єкту Loop: ldi Delay1, low(N_Alarm) ldi Delay2, high(N_Alarm) ldi Delay3, byte3(N_Alarm) rcall Delay ; Виклик п/п часової затримки ; Режим охорони cbi PORTD, LED ; Включити світлодіод сигналізації ; Перейти в режим сканування охоронних шлейфів Start: // in temp, PINB ; Прочитати стан шлейфу 0 // andi temp, (1<<SHLEIF_NO) ; Виділити розряд РВ0 // brne Next_1 ; Якщо немає спрацювання, перейти на Next_1 // rjmp Work ; Якщо є спрацювання, перейти на Work //Next_1: in temp, PINB ; Прочитати стан шлейфу 1 andi temp, (1<< SHLEIF_NC) ; Виділити розряд РВ2 brne Work ; Якщо є спрацювання, перейти на Work ; Якщо шлейфи не активні: in temp, PIND ; Прочитати стан секретної кнопки andi temp, (1<<SWITCH) ; Кнопка натиснута? breq Next_2 ; Якщо так, перейти на Next_2 sbi PORTD, 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 PORTD, LED ; Виключити світлодіод сигналізації rjmp No_Work ; і перейти в режим очікування ; Сигналізація спрацювала – режим тривоги Alarm: in temp, PORTD ; Прочитати стан світлодіоду ldi Delay1, (1<<LED) eor temp, Delay1 ; Інвертувати стан світлодіоду out PORTD, 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_NO та SHLEIF_NC без підтягуючих резисторів // cbi PORTB, SHLEIF_NO cbi PORTB, SHLEIF_NC ; ; Налаштувати виводи SHLEIF_NO та SHLEIF_NC на ввід // cbi DDRB, SHLEIF_NO cbi DDRB, SHLEIF_NC ; Налаштувати вивід LED на вивід з логічною 1 на виході sbi PORTD, LED //? sbi DDRD, LED //? ; Налаштувати вивід SWITCH на ввід з підтягуючим резистором sbi PORTD, SWITCH cbi DDRD, SWITCH ret ; Повернення з підпрограми Схема симуляції в Proteuz / Висновок: ознайомились з послідовністю створення та відладки програмно- апаратних засобів на основі мікроконтролерів сімейства AVR у програмах AVR Studio та Proteus 7.
Антиботан аватар за замовчуванням

25.03.2013 23:38

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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