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

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

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

Рік:
2010
Тип роботи:
Лабораторна робота
Предмет:
Мікропроцесори
Група:
ІБ – 44

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра ЗІ  Лабороторна робота №3 Побудова інфрачервоних детекторів руху на AVR-мікроконтролерах з курсу "МІКРОПРОЦЕСОРНІ ПРИСТРОЇ" Варіант № 27 Мета роботи: ознайомитись з будовою та принципом дії інфрачервоних детекторів руху і їх програмно-апаратною реалізацією на AVR-мікроконтролерах. Завдання Домашня підготовка до роботи 1. Вивчити теоретичний матеріал. 2. Вивчити основні властивості мікроконтролера AT90S2313, принципи побудови інфрачервоних детекторів руху необхідні для виконання лабораторної роботи. 3. Підготовити програму функціонування інфрачервоного детектора руху згідно індивідуального завдання в табл. 1. Виконати в лабораторії 1. Створити проект в AVR Studio, ввести свою програму, провести її асемблювання. 2. В режимі покрокової відладки переконатися в правильності роботи програми, перевірити дотримання заданих в завданні часових параметрів та умов спрацювання. 3. Відкрити файл LR_3.dsn в програмі Proteus, внести зміни у схему відповідно до свого індивідуального завдання, підключити до МК отриманий в AVR Studio hex-файл та асемблерний файл. 4. Запустити режим симуляції схеми та перевірити правильність функціонування детектора руху у всіх режимах роботи. табл.1 № вар. Тактова частота МК, МГц Період опитування АЦП TADC, с Максимальний рівень шуму, мкВ Коефіцієнт підсилення аналогових кіл KU Час встановлення PIR-давача TSet, с Час включення світлодіода TAlarm, с Вивід МК для підключення світлодіода Виводи МК для підключення АЦП  27 4 0,27 280  23 4 РВ4 PB0,1,2,3   Лістинг програми: .nolist .include "2313def.inc" .list .def temp=r16 .def ACP_res1=r17 .def ACP_res2=r18 .def cmp1=r19 .def cmp2=r20 .def Delay1=r21 .def Delay2=r22 .def Delay3=r23 .equ VTR_low=1961 .equ VTR_high=3038 .equ T_Delay=3199997;4 sec .equ ACP_D=101 .equ TimerVal=215997 ;0.27 sec .equ Setup=18399997 ; 23 sec .equ nSHDN=PB0 .equ nCS=PB1 .equ SCLK=PB2 .equ DOUT=PB3 .equ Led=PB4 .cseg .org 0 rjmp Main ; RESET interupt .org 0x04 rjmp TIMER_EXT ; Timer1 overlow ;************************************************* Main: ; Ініціалізація стеку ldi temp, low(RAMEND) out spl, temp ; налаштування виводів sbi DDRB, nSHDN cbi DDRB, DOUT sbi DDRB,nCS sbi DDRB, SCLK sbi DDRB, Led sbi PORTB, Led ; затримка на встановлення PIR давача ldi Delay1, low(Setup) ldi Delay2, high(Setup) ldi Delay3, byte3(Setup) rcall Delay ; налаштування таймера ; занести старший байт ldi temp, high(TimerVal) out OCR1AH, temp ; занести молодший ldi temp, low(TimerVal) out OCR1AL, temp ldi temp, (1<<OCIE1A) out TIMSK, temp ldi temp, (1<<CTC1) + (1<<CS11) out TCCR1B, temp ; енергозберігаючий режим ldi temp, (1<<SE) out MCUCR, temp sei wait: sleep rjmp wait ;**************************************************** TIMER_EXT: ldi temp, high(TimerVal) ; задання кількості тактів out TCNT1H, temp ldi temp, low(TimerVal) out TCNT1L, temp ; отримати дані з АЦП rcall GetACP_Res ; порівняти отримані дані з нижнім рівнем сигналу ldi cmp1, low(VTR_low) ldi cmp2, high(VTR_low) cp ACP_Res1, cmp1 ; порівняти молодші байти cpc ACP_Res2, cmp2 ; порівняти старші байти і перенос brcs Alarm ; значення менше за нижній поріг ; Порівняти з верхнім порогом ldi cmp1, low(VTR_high) ldi cmp2, high(VTR_high) cp cmp1, ACP_Res1 ; порівняти молодші байти cpc cmp2, ACP_Res2 ; порівняти старші байти і перенос brcs Alarm ; значення менше за нижній поріг ; значення є в допустимих межах - виходимо reti Alarm: cbi PORTB, Led ; вмикаємо світлодіод ; завантажуємо затримку світіння світлодіода ldi Delay1, low(T_Delay) ldi Delay2, high(T_Delay) ldi Delay3, byte3(T_Delay) rcall Delay ; затримка ; вимакаємо світлодіод sbi PORTB, Led reti ;****************************************************** GetACP_Res: sbi PORTB, nCS ; ініціалізуємо вихід sbi PORTB, nSHDN ; вмикаємо АЦП ; необхідно зачекати 10 мс до початку перетворення ldi Delay1, low(ACP_D) ldi Delay2, high(ACP_D) ldi Delay3, byte3(ACP_D) rcall Delay ; очікуємо cbi PORTB, SCLK ; ініціалізація ацп cbi PORTB, nCS ; початок перетворення acp_wait: sbis PINB, DOUT; очікуємо на одиницю на виході DOUT rjmp acp_wait ; зчитуємо результат clr ACP_res1 ; очищаємо регістри результату clr ACP_res2 ldi temp, 12 ; кількість ітерацій acp_read: sbi PORTB, SCLK cbi PORTB, SCLK ; формуємо один тактовий імпульс clc ; флажок переносу в 0 rol ACP_res1 ; зсуваємо на 1 rol ACP_res2 sbic PINB, DOUT ; пропускаємо інструкцію якщо вхід в 0 ori ACP_res1, 1 dec temp brne acp_read ; читання успішно завершено cbi PORTB, nSHDN ; вимикаємо АЦП ret ;************************************************* Delay: subi Delay1, 1 sbci Delay2, 0 sbci Delay3, 0 brcc Delay nop ret ;************************************************* Розрахунки часових затримок: 0,27*4*=1,08 МГц 5(N+1)+9=1,08 N=215997 Setup: 23*4=92 МГц N=18399997 T_Delay: 4*4=16 МГц N=3199997 280*1924=538.72 мВ VTR_low=2.5-0.53872=1.96128 VTR_high=2.5+0.53872=3.0387 1.9-1.15 В – рівень спрацювання піродавача Схема симуляції в Proteus Висновок: на даній лабораторній роботі я ознайомилася з будовою та принципом дії інфрачервоних детекторів руху і їх програмно-апаратною реалізацією на AVR-мікроконтролерах. Під час виконання роботи була побудована схема функціонування системи сигналізації на основі мікроконтролера моделі AT90S2313 та піродавача.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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