Звіт до лабораторної роботи № 1

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

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

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

Рік:
2012
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» / Звіт до лабораторної роботи № 1 Знайомство з інтегрованим середовищем розробки AVR Studio та програмою симуляції Proteus. Написання та відладка простих програм для AVR - мікроконтролерів з навчальної дисципліни: “ Технології програмування ” Варіант № 22 Львів – 2012 Мета роботи - ознайомитись з послідовністю створення та відладки програмно - апаратних засобів на основі мікроконтролерів сімейства AVR у програмі AVR Studio та Proteus7. Завдання Домашня підготовка до роботи Вивчити теоретичний матеріал. Вивчити основні властивості МК необхідні для виконання лабораторної роботи. Підготовити програму функціонування охоронної системи згідно індивідуального завдання у Табл. 1. Таблиця 1 № Кількість охоронних шлейфів з НЗР давачами Кількість охоронних шлейфів з НЗМ давачами Виводи для підкл. охоронних шлейфів з НЗР давачами Виводи для підкл. охоронних шлейфів з НЗМ давачами Час постановки та зняття з охорони T_Alarm, с Частота блимання світлодіода F_Blick, Гц Вивід для підкл. світлодіода  22 2 1 PD1, PD3 PB5 3.6 10 PB2   Виконати в лабораторії Створити проект в AVR Studio, ввести свою програмe, провести її асемблювання. В режимі покрокової вілладки переконатися в правильності роботи програми, перевірити дотримання заданих в завданні часових параметрів. Відкрити файл LR_l.dsn в програмі Proteus, внести зміни у схему відповідно до свого індивідуального завдання, підключити до МК отриманий в AVR Studio hex-файл. Запустити режим симуляції схеми та перевірити правильність функціонування охоронної системи у всіх режимах роботи. У випадку виявлення відхилень в роботі внести потрібні виправлення. Лістинг програми .include "2313def.inc" ; Підключаємо заголовочний файл ; Робочий регістр .def temp = r16 ; Регістри затримки .def Delay1 = r17 .def Delay2 = r18 .def Delay3 = r19 ;//////////////////////////////////////////////////////////////////////////////////// .equ SHLEIF_NO_1 = PD1 ; Вивід для підключення Normal Open шлейфу (НРЗ) .equ SHLEIF_NO_2 = PD3 ; Вивід для підключення Normal Open шлейфу (НРЗ) .equ SHLEIF_NC = PB5 ; Вивід для підключення Normal Close шлейфу (Н3M) .equ LED = PB2 ; Вивід для підключення світлодіоду .equ SWITCH = PD0 ; Вивід для підключення секретної кнопки ;//////////////////////////////////////////////////////////////////////////////////// ; Розрахунок часових затримок .equ FCLK = 2000000 ; Тактова частота МК .equ N_Alarm = (FCLK*3.6 - 15)/5 ; Затримка 3.6 секунди .equ N_Blick = (FCLK/20 - 15)/5 ; Частота мигання 10 Гц ;//////////////////////////////////////////////////////////////////////////////////// ; Сегмент коду .cseg ; Початкова адреса .org 0 ldi temp, 0xDF ; Ініціалізація out SPL, temp ; стеку rcall Pin_Init ; Налаштування виводів МК No_Work: ; Режим очікування in temp, PIND ; Прочитати стан секретної кнопки andi temp, (1<<SWITCH) ; Виділити розряд РВ2 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 ; Прочитати стан шлейфу 0 andi temp, (1<<SHLEIF_NO_1) ; Виділити розряд РD1 brne Next_1 rjmp Work ; Якщо є спрацювання, перейти на Work Next_1: in temp, PIND ; Прочитати стан шлейфу 1 andi temp, (1<<SHLEIF_NO_2) ; Виділити розряд РD3 brne Next_2 rjmp Work ; Якщо є спрацювання, перейти на Next_2: in temp, PINB ; Прочитати стан шлейфу 2 andi temp, (1<<SHLEIF_NC) ; Виділити розряд РВ5 brne Work ; Якщо є спрацювання, перейти на ; Якщо шлейфи не активні: in temp, PIND ; Прочитати стан секретної кнопки andi temp, (1<<SWITCH) ; Кнопка натиснута? breq Next_3 ; Якщо так, перейти на Next_3 sbi PORTB, LED ; Виключити світлодіод сигналізації rjmp No_Work ; Перейти в режим очікування Next_3: 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_NO та SHLEIF_NC без підтягуючих резисторів cbi PORTB, SHLEIF_NO_1 cbi PORTB, SHLEIF_NO_2 cbi PORTD, SHLEIF_NC ; Налаштувати виводи SHLEIF_NO та SHLEIF_NC на ввід cbi DDRB, SHLEIF_NO_1 cbi DDRB, SHLEIF_NO_2 cbi DDRD, SHLEIF_NC ; Налаштувати вивід LED на вивід з логічною 1 на виході sbi PORTB, LED sbi DDRB, LED ; Налаштувати вивід SWITCH на ввід з підтягуючим резистором sbi PORTD, SWITCH cbi DDRD, SWITCH ret ; Повернення з підпрограми Схема симуляції в Proteus / Висновок Під час виконання даної лабораторної роботи була розроблена програма функціонування охоронної системи, час постановки та зняття з охорони T_Alarm складає 3,6 с., частота блимання світло діода – 10 Гц. Також для програми створена схема охоронної системи.
Антиботан аватар за замовчуванням

22.05.2013 18:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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