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 з навчальної дисципліни: «Мікропроцесори в системах ТЗІ» на тему: “Знайомство з інтегрованим середовищем розробки AVR Studio та програмою симуляції Proteus. Написання та відладка простих програм для AVR- мікроконтролерів” Варіант №1 Львів – 2012 Мета роботи: ознайомитись з послідовністю створення та відладки програмно-апаратних засобів на основі мікроконтролерів сімейства AVR у програмах AVR Studio та Proteus 7. Текст завдання 1. Створити проект в AVR Studio, ввести свою програму, провести її асемблювання. 2. В режимі покрокової відладки переконатися в правильності роботи програми, перевірити дотримання заданих в завданні часових параметрів. 3. Відкрити файл LR_1.dsn в програмі Proteus, внести зміни у схему відповідно до свого індивідуального завдання, підключити до МК отриманий в AVR Studio hex-файл. 4. Запустити режим симуляції схеми та перевірити правильність функціонування охоронної системи у всіх режимах роботи. У випадку виявлення відхилень в роботі внести потрібні виправлення. Лістинг програми .include "2313def.inc" ; підключаємо заголовочний файл; ;Робочий регістр .def temp = r16 ; регістри затримки .def Delay1 = r17 .def Delay2 = r18 .def Delay3 = r19 ;//////////////////////////////////////////////////////////////////////////////////// .equ SHLEIF_NO1 = PB3 ; Вивід для підключення Normal Open шлейфу (НРЗ) .equ SHLEIF_NO2 = PB5 ; Вивід для підключення Normal Open шлейфу(НРЗ) .equ SHLEIF_NC1 = PD2 ; Вивід для підключення Normal Closed шлейфу(НЗМ) .equ SHLEIF_NC2 = PD4 ; Вивід для підключення Normal Closed шлейфу (НЗМ) .equ LED = PB1 ; Вивід для підключення світлодіоду .equ SWITCH = PD0 ; Вивід для підключення секретної кнопки ;//////////////////////////////////////////////////////////////////////////////////// ; Розрахунок часових затримок .equ FCLK = 4000000 ; Тактова частота МК .equ N_Alarm = (FCLK*(3.2) - 15)/5 ; Затримка 3.2 секунди .equ N_Blick = (FCLK/15 - 15)/5 ; Частота мигання 15 Гц ;//////////////////////////////////////////////////////////////////////////////////// ; Сегмент коду .cseg ; Початкова адреса .org 0 ldi temp, 0xDF ; Ініціалізація out SPL, temp ; стеку rcall Pin_Init ; Налаштування виводів МК No_Work: ; Режим очікування in temp, PIND ; Прочитати стан секретної кнопки andi temp, (1<<SWITCH) ; Виділити розряд РВЗ 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, PINB ; прочитати стан шлейфу 0 andi temp, (1<<SHLEIF_NO1) ; Виділити розряд РВ3 brne Next_1 ; Якщо немає спрацювання, перейти на Next_1 rjmp Work ; Якщо є спрацювання, перейти на Work Next_1: in temp, PINB ; прочитати стан шлейфу 1 andi temp, (1<<SHLEIF_NO2) ; Виділити розряд РВ5 brne Next_2 ; Якщо немає спрацювання, перейти на Next_2 rjmp Work ; Якщо є спрацювання, перейти на Work Next_2: in temp, PIND ; прочитати стан шлейфу 3 andi temp, (1<< SHLEIF_NC1) ; Виділити розряд PD2 brne Work ; Якщо є спрацювання, перейти на Work in temp, PIND ; прочитати стан шлейфу 4 andi temp, (1<< SHLEIF_NC2) ; Виділити розряд PD4 brne Work ; Якщо є спрацювання, перейти на 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_NO1 cbi PORTB, SHLEIF_NO2 cbi PORTD, SHLEIF_NC1 cbi PORTD, SHLEIF_NC2 ; Налаштувати виводи SHLEIF_NO та SHLEIF_NC на ввід cbi DDRB, SHLEIF_NO1 cbi DDRB, SHLEIF_NO2 cbi DDRD, SHLEIF_NC1 cbi DDRD, SHLEIF_NC2 ; Налаштувати вивід LED на вивід з логічною 1 на виході sbi PORTB, LED sbi DDRB, LED ; Налаштувати вивід SWITCH на ввід з підтягуючим резистором sbi PORTD, SWITCH cbi DDRD, SWITCH ret ;Поверненння з підпрограми Схема симуляції в Proteus  Висновок На даній лабораторній роботі, ми ознайомилися з послідовністю створення та відладки програмно-апаратних засобів на основі мікроконтролерів сімейства AVR у програмах AVR Studio та Proteus 7.
Антиботан аватар за замовчуванням

16.01.2013 12:26

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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