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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" ІНСТИТУТ КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ, АВТОМАТИКИ ТА МЕТРОЛОГІЇ КАФЕДРА ”ЗАХИСТ ІНФОРМАЦІЇ” / Звіт до лабораторної роботи № 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:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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