Вивчення внутрішніх модулів та режимів роботи AVR-мікроконтролерів

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" ІНСТИТУТ КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ, АВТОМАТИКИ ТА МЕТРОЛОГІЇ КАФЕДРА ”ЗАХИСТ ІНФОРМАЦІЇ”  Звіт до лабораторної роботи № 2 з курсу: "Мікропроцесори в системах технічного захисту інформації" на тему: “Вивчення внутрішніх модулів та режимів роботи AVR-мікроконтролерів” Варіант – 17 Мета роботи: Ознайомитись з роботою периферійних модулів (аналогового компаратора, EEPROM-пам’яті), системою переривань та внутрішніми режимами роботи AVR-мікроконтролерів. Розширити навики створення та відладки програмно-апаратних засобів на основі мікроконтролерів сімейства AVR у програмах AVR Studio та Proteus 7. Повний текст завдання: Домашня підготовка до роботи: Вивчити теоретичний матеріал. Вивчити основні властивості МК необхідні для виконання лабораторної роботи. Підготувати програму функціонування охоронної системи згідно індивідуального завдання у табл. 1. Виконання в лабораторії: Створити проект в AVR Studio, ввести свою програму, провести її асемблювання. В режимі покрокової відладки переконатися в правильності роботи програми. Відкрити файл LR_1.dsn в програмі Proteus, внести зміни у схему відповідно до свого індивідуального завдання, підключити до МК отриманий в AVR Studio hex-файл. Запустити режим симуляції схеми та перевірити правильність функціонування охоронної системи у всіх режимах роботи: відсутність спрацювання, спрацювання аналогового давача, спрацювання цифрового давача. Табл. 1. № Напруга спрацювання аналогового давача, В Виводи для підкл. охоронних шлейфів з цифровими давачами Тип цифрового давача Вивід для підкл. світлодіода Адреса в EEPROM Addr_1 Адреса в EEPROM Addr_2  17 1.8 INT0 НРЗ PD1 35 20   Лістинг програми одержаної в AVR Studio та необхідні розрахунки: ;//////////////////////////////////////////////// .include "2313def.inc" ;//////////////////////////////////////////////// .def temp = r16 ; ðîáî÷èé ðåã³ñòð .def EE_Addr_Reg = r17 ; ðåã³ñòð çáåð³ãàííÿ àäðåñè EEPROM .def EE_Data_Reg = r18 ; ðåã³ñòð çáåð³ãàííÿ äàíèõ EEPROM ;//////////////////////////////////////////////// .equ Analog_Addr = 0x23 ; Àäðåñà EEPROM äëÿ àíàëîãîâîãî äàâà÷à .equ Digital_Addr = 0x14 ; Àäðåñà EEPROM äëÿ öèôðîâîãî äàâà÷à .equ LED_DDR = DDRD .equ LED_PORT = PORTD .equ LED_PIN = PD1 ;//////////////////////////////////////////////// .cseg ; ïî÷àòîê ñåãìåíòó Flash-ïàìÿò³ .org 0 ; àäðåñà ïî÷àòêó ïðîãðàìè rjmp RESET ; âåêòîð ñêèäó rjmp INT0_EXT ; âåêòîð çîâí³øíüîãî ïåðåðèâàííÿ 0 ç âèâîäó PD2 ;reti ; rjmp INT1_EXT ;reti ; rjmp TIM_CAPT1 ;reti ; rjmp TIM_COMP1 ;reti ; rjmp TIM_OVF1 ;reti ; rjmp TIM_OVF0 ;reti ; rjmp UART_RXC ;reti ; rjmp UART_DRE ;reti ; rjmp UART_TXC .org 10 rjmp ANA_COMP ; Âåêòîð ïåðåðèâàííÿ â³ä àíàëîãîâîãî êîìïàðàòîðà ;//////////////////////////////////////////////// .org 0x12 ; ïî÷àòîê îñíîâíî¿ ïðîãðàìè RESET: ; ²í³ö³àë³çàö³ÿ ñòåêó ldi temp, low(0xDF) out SPL, temp ; íàëàøòóâàííÿ âèâîä³â àíàëîãîâîãî êîìïàðàòîðà cbi DDRB, PB0 ; âèâ³ä PB0 - âõ³ä cbi DDRB, PB1 ; âèâ³ä PB1 - âõ³ä cbi PORTB, PB0 ; â³äêëþ÷èòè âíóòð³øí³é ï³äòÿãóþ÷èé ðåçèñòîð äëÿ PB0 cbi PORTB, PB1 ; â³äêëþ÷èòè âíóòð³øí³é ï³äòÿãóþ÷èé ðåçèñòîð äëÿ PB1 ; íàëàøòóâàííÿ âèâîä³â ñâ³òëîä³îäà sbi LED_PORT, LED_PIN ; ñâ³òëîä³îä âèêëþ÷åíèé sbi LED_DDR, LED_PIN ; âèâ³ä LED_PIN - âèõ³ä ; íàëàøòóâàííÿ âèâîäó äëÿ ï³äêëþ÷åííÿ öèôðîâîãî äàâà÷à cbi DDRD, PD2 ; âèâ³ä PD2 - âõ³ä cbi PORTD, PD2 ; â³äêëþ÷èòè âíóòð³øí³é ï³äòÿãóþ÷èé ðåçèñòîð äëÿ PD2 ldi temp, (1<<ACIE) | (1<<ACIS1) | (1<<ACIS0) ; äîçâîëèòè ïåðåðèâàííÿ â³ä ÀÊ, ; ïåðåðèâàííÿ ãåíåðóºòüñÿ ïðè ; ïåðåõîä³ ç 0 â 1 out ACSR, temp ; ñêîíô³ãóðóâàòè àíàëîãîâèé êîìïàðàòîð ; íàëàøòóâàòè ðåæèì ïîíèæåíîãî åíåðãîñïîæèâàííÿ ³ óìîâó ãåíåðàö³¿ ïåðåðèâàííÿ INT0 ldi temp, (1<<ISC01) | (1<<SE) ; Ðåæèì åíåðãîñïîæèâàííÿ Idle: SM = 0, ; çîâí³øí³ ïåðåðèâàííÿ ïî ñïàäàþ÷îìó ôðîíòó out MCUCR, temp ; ñêîíô³ãóðóâàòè ðåã³ñòð MCUCR ; äîçâîëèòè çîâí³øíº ïåðåðèâàííÿ INT0 ldi temp, (1<<INT0) out GIMSK, temp ; çàãàëüíèé äîçâ³ë ïåðåðèâàíü: ² = 1 sei Loop: sleep ; ïåðåõ³ä â ðåæèì ïîíèæåíîãî åíåðãîñïîæèâàííÿ rjmp Loop ; ï³ñëÿ ñïðàöþâàííÿ äàâà÷à çíîâó ïåðåéòè â ðåæèì ; ïîíèæåíîãî åíåðãîñïîæèâàííÿ ;////////////////////////////////////////////////////////////// ;////////////////////////////////////////////////////////////// INT0_EXT: ; ϳäïðîãðàìà îáðîáêè ïåðåðèâàííÿ INT0 cbi LED_PORT, LED_PIN ; Âêëþ÷èòè ñâ³òëîä³îä ldi EE_Addr_Reg, Digital_Addr ; Çàâàíòàæèòè â ðåã³ñòð àäðåñè EEPROM àäðåñó ; öèôðîâîãî äàâà÷à rcall EEPROM_Read ; ïðî÷èòàòè ç EEPROM ê³ëüê³ñòü ñïðàöþâàíü ; öèôðîâîãî äàâà÷à inc EE_Data_Reg ; çá³ëüøèòè ê³ëüê³ñòü ñïðàöþâàíü íà 1 rcall EEPROM_Write ; çáåðåãòè ê³ëüê³ñòü ñïðàöþâàíü öèôðîâîãî ; äàâà÷à â EEPROM reti ; âèéòè ç ïåðåðèâàííÿ ;///////////////////////////////////////////////////////////// ;///////////////////////////////////////////////////////////// ANA_COMP: ; ϳäïðîãðàìà îáîðáêè ïåðåðèâàííÿ â³ä àíàëîãîâîãî êîìïàðàòîðà cbi LED_PORT, LED_PIN ; Âêëþ÷èòè ñâ³òëîä³îä ldi EE_Addr_Reg, Analog_Addr ; Çàâàíòàæèòè â ðåã³ñòð àäðåñè EEPROM àäðåñó ; àíàëîãîâîãî äàâà÷à rcall EEPROM_Read ; ïðî÷èòàòè ç EEPROM ê³ëüê³ñòü ñïðàöþâàíü ; àíàëîãîâîãî äàâà÷à inc EE_Data_Reg ; çá³ëüøèòè ê³ëüê³ñòü ñïðàöþâàíü íà 1 rcall EEPROM_Write ; çáåðåãòè ê³ëüê³ñòü ñïðàöþâàíü àíàëîãîâîãî ; äàâà÷à â EEPROM reti ; âèéòè ç ïåðåðèâàííÿ ;///////////////////////////////////////////////////////////// ;///////////////////////////////////////////////////////////// EEPROM_Write: ; ï³äïðîãðàìà çàïèñó áàéòó â EEPROM sbic EECR, EEWE ; ÷åêàòè äîêè ïðàïîðåöü EEWE íå áóäå ñêèíóòèé rjmp EEPROM_Write out EEAR, EE_Addr_Reg ; çàâàíòàæèòè àäðåñó äëÿ çàïèñó out EEDR, EE_Data_Reg ; çàâàíòàæèòè äàí³ äëÿ çàïèñó sbi EECR, EEMWE ; Âñòàíîâèòè ìàñòåð-á³ò äîçâîëó çàïèñó sbi EECR, EEWE ; Âñòàíîâèòè á³ò äîçâîëó çàïèñó ret ; Âèõ³ä ç ï³äïðîãðàìè çàïèñó áàéòó â EEPROM ;///////////////////////////////////////////////////////////// ;///////////////////////////////////////////////////////////// EEPROM_Read: ; ï³äïðîãðàìà ÷èòàííÿ áàéòó ç EEPROM sbic EECR, EEWE ; ÷åêàòè äîêè ïðàïîðåöü EEWE íå áóäå ñêèíóòèé ???????????? rjmp EEPROM_Read out EEAR, EE_Addr_Reg ; çàâàíòàæèòè àäðåñó äëÿ ÷èòàííÿ sbi EECR, EERE ; Âñòàíîâèòè ïðàïîðåöü äîçâîëó ÷èòàííÿ in EE_Data_Reg, EEDR ; ïðî÷èòàòè äàí³ ret ; Âèõ³ä ç ï³äïðîãðàìè ÷èòàííÿ áàéòó ç EEPROM ;///////////////////////////////////////////////////////////// ;  =>R1 = 6.4 кОм; R2 = 3.6 кОм Схема симуляції в Proteus:  Висновок: Виконавши лабораторну роботу ми ознайомились з роботою периферійних модулів (аналогового компаратора, EEPROM-пам’яті), системою переривань та внутрішніми режимами роботи AVR-мікроконтролерів. Розширили навики створення та відладки програмно-апаратних засобів на основі мікроконтролерів сімейства AVR у програмах AVR Studio та Proteus 7. В даній лабораторній роботі ми вивчили основи побудови охоронних систем на базі AVR-МК, загальні принципи використання цифрових та аналогових охоронних давачів, елементів управління та індикації та принципи керування мікроконтролером роботою системи, а саме особливо слід відмітити роботу підсистеми обробки зовнішніх та внутрішніх переривань, та режими пониженого енергоспоживання, які дозволяють ефективніше керувати роботою мікроконтролера та всією системою загалом.
Антиботан аватар за замовчуванням

12.02.2013 22:02-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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