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

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

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

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

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

Рік:
2017
Тип роботи:
Лабораторна робота
Предмет:
Мікропроцесори в системах технічного захисту інформації
Варіант:
11

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА Кафедра «Захист інформації»  ЗВІТ про виконання лабораторної роботи №2 з курсу “ Мікропроцесори в системах технічного захисту інформації ” Вивчення внутрішніх модулів та режимів роботи AVR-мікроконтролерів. Варіант - 11 Мета роботи – ознайомитись з роботою периферійних модулів (каналового компаратора,EEEPROM-пам’яті),системою переривань та внутрішніми режимами роботи AVR-мікроконтролерів Розширити навики створення та відладки програтно-апаратних засобів на основі мікроконтролерів сімейства AVR в програмах AVR Studio та Proteus 7. Завдання Домашня підготовка до роботи : 1. Вивчити теоретичний матеріал. 2. Вивчити основні властивості МК необхідні для виконання лабораторної роботи. 3. Підготовити програму функціонування охоронної системи згідно індивідуального завдання. Виконати в лабораторії 1. Створити проект в AVR Studio, ввести свою програму, провести її асемблювання. 2. В режимі покрокової відладки переконатися в правильності роботи програми. 3. Відкрити файл LR_2.dsn в програмі Proteus, внести зміни у схему відповідно до свого індивідуального завдання, підключити до МК отриманий в AVR Studio hex-файл. 4. Запустити режим симуляції схеми та перевірити правильність функціонування охоронної системи у всіх режимах роботи: відсутність спарцювання, спарцювання аналогового давача, спрацювання цифрового давача.  Лістинг програми Параметри системи: ; Рівень спрацювання аналогового давача: 0.5 В ; Тип цифрового давача: НРЗ ; Вивід для підключення цифрового давача: PD2/INT0 ; Вивід для підключення світлодіоду: РD3 ; Адреса комірки ЕЕPROM для зберігання кількості спрацювань цифрового давача: 0x2E ; Адреса комірки ЕЕPROM для зберігання кількості спрацювань аналогового давача: 0x47 ; Режим пониженого енергоспоживання: Idle ; Напруга живлення: 5 В ;//////////////////////////////////////////////////////////////////////////// .include "2313def.inc" ;//////////////////////////////////////////////////////////////////////////// .def temp = r16 ; Робочий регістр .def EE_Addr_Reg = r17 ; Регістр зберігання адреси EEPROM .def EE_Data_Reg = r18 ; Регістр зберігання даних EEPROM ;//////////////////////////////////////////////////////////////////////////// .equ Analog_Addr = 0x2E ; Адреса EEPROM для аналогового давача .equ Digital_Addr = 0x47 ; Адреса EEPROM для цифрового давача .equ LED_DDR = DDRD .equ LED_PORT = PORTD .equ LED_PIN = PD3 ;//////////////////////////////////////////////////////////////////////////// .cseg ; Початок сегменту Flash-пам'яті .org 0 ; Адреса початку програми rjmp RESET ; Вектор скиду rjmp INT0_EXT reti ; rjmp INT1_EXT ; Вектор зовнішнього переривання 0 з виводу PD3 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 rjmp ANA_COMP ; Вектор переривання від аналогового компаратора ;//////////////////////////////////////////////////////////////////////////// .org 0x0B ; Початок основної програми RESET: ; Ініціалізація стеку ldi temp, low(0xDF) out SPL, temp ; Налаштування виводів аналогового компаратора cbi DDRB, PB0 ; Вивід РВ0 - вхід cbi DDRB, PB1 ; Вивід РВ1 - вхід cbi PORTB, PB0 ; Відключити внутрішній підтягуючий резистор для РВ0 cbi PORTB, PB1 ; Відключити внутрішній підтягуючий резистор для РВ1 ; Налаштування виводів світлодіода sbi LED_PORT, LED_PIN ; Світлодіод виключений sbi LED_DDR, LED_PIN ; Вивід LED_PIN - вихід ; Налаштування виводу для підключення цифрового давача cbi DDRD, PD2 ; Вивід РD2 - вхід cbi PORTD, PD2 ; Відключити внутрішній підтягуючий резистор для РD2 ldi temp, (1<<ACIE) | (1<<ACIS1) | (1<<ACIS0) ; Дозволити переривання від АК, ; переривання генерується при ; переході з 0 в 1 out ACSR, temp ; Сконфігурувати аналоговий компаратор ; Налаштувати режим пониженого енергоспоживання і умову генерації переривання INT1 ldi temp, (1<<ISC00)|(1<<ISC01)| (1<<SE) ; Режим енергоспоживання Idle: SM = 0, ; зовнішні переривання по сзростаючому фронту out MCUCR, temp ; Сконфігурувати регістр MCUCR ; Дозволити зовнішнє переривання INT1 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 ; Вихід з п/п запису байту в ЕEPROM ;//////////////////////////////////////////////////////////////////////////// ;//////////////////////////////////////////////////////////////////////////// EEPROM_Read: ; П/п читання байту з EEPROM sbic EECR, EEWE ; Чекати, доки прапорець EEWE не буде скинутий rjmp EEPROM_Read out EEAR, EE_Addr_Reg ; Завантажити адресу для читання sbi EECR, EERE ; Встановити прапорець дозволу читання in EE_Data_Reg, EEDR ; Прочитати дані ret ; Вихід з п/п читання байту з ЕEPROM ;//////////////////////////////////////////////////////////////////////////// Схема симуляції Висновок: ознайомились з роботою периферійних модулів (каналового компаратора,EEEPROM-пам’яті),системою переривань та внутрішніми режимами роботи AVR-мікроконтролерів Розширити навики створення та відладки програтно-апаратних засобів на основі мікроконтролерів сімейства AVR в програмах AVR Studio та Proteus 7.
Антиботан аватар за замовчуванням

22.12.2017 00:22

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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