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

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

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

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

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

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

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

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

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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