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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра «Захист інформації» / Звіт до лабораторної роботи № 2 на тему: «Вивчення внутрішніх модулів та режимів роботи AVR-мікроконтролерів» з курсу «Мікропроцесори в системах технічного захисту інформації» Львів – 2016 Мета роботи − ознайомитись з роботою периферійних модулів (аналогового компатора, EEPROM-пам’яті), системою переривань та внутрішніми режимами роботи AVR-мікроконтролерів. Розширити навики створення та відладки програмно-апаратних засобів на основі мікроконтролерів сімейства AVR в програмах AVR Studio та Proteus 7. 1. Завдання: Підготувати програму згідно індивідуального завдання у Табл. 1. Створити проект в AVR Studio, ввести свою програму, провести її асемблювання. В режимі покрокової відладки переконатися в правильності роботи програми, перевірити дотримання заданих в завдані часових параметрів. Відкрити файл LR_2.dsn в програмі Proteus, внести зміни у схемі відповідно до свого індивідуального завдання, підключити до МК отриманий в AVR Studio hex-файл. Запустити режим симуляції схеми та перевірити правильність функціонування охоронної системи у всіх режимах роботи: відсутність спрацювання, спрацювання аналогового давача, спрацювання цифрового давача. № Напруга спрацювання аналогового давача Ux, B Виводи підкл. охоронних шлейфів з цифровими давачами Тип цифрового давача Вивід для підкл. світлодіода  Адреса в EEPROM Addr_1  Адреса в EEPROM Addr_2  18 3.5 INI1 НЗМ PB6 67 109   2. Результат виконання роботи: Код програми: ; ******************************************* ; Автор: ПІБ * ; Дата: 01.09.2010 * ; Версія: 1.0 * ; Ім'я файлу: LR_2.asm * ; Тип МК: AT90S2313 * ; Тактова частота: 7.3728 MГц * ; ******************************************* ; ; Параметри системи: ; Рівень спрацювання аналогового давача: 3.5 В ; Тип цифрового давача: НЗМ ; Вивід для підключення цифрового давача: PD3/INT1 ; Вивід для підключення світлодіоду: РВ6 ; Адреса комірки ЕЕPROM для зберігання кількості спрацювань цифрового давача: 0x43 ; Адреса комірки ЕЕPROM для зберігання кількості спрацювань аналогового давача: 0x6D ; Режим пониженого енергоспоживання: Idle ; Напруга живлення: 5 В ;//////////////////////////////////////////////////////////////////////////// .include "2313def.inc" ;//////////////////////////////////////////////////////////////////////////// .def temp = r16 ; Робочий регістр .def EE_Addr_Reg = r17 ; Регістр зберігання адреси EEPROM .def EE_Data_Reg = r18 ; Регістр зберігання даних EEPROM ;//////////////////////////////////////////////////////////////////////////// .equ Analog_Addr = 0x43 ; Адреса EEPROM для аналогового давача .equ Digital_Addr = 0x6D ; Адреса EEPROM для цифрового давача .equ LED_DDR = DDRB .equ LED_PORT = PORTB .equ LED_PIN = PB6 ;//////////////////////////////////////////////////////////////////////////// .cseg ; Початок сегменту Flash-пам'яті .org 0 ; Адреса початку програми rjmp RESET ; Вектор скиду reti ; Вектор зовнішнього переривання 0 з виводу PD2 rjmp INT1_EXT ; 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 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, PD3 ; Вивід РD2 - вхід cbi PORTD, PD3 ; Відключити внутрішній підтягуючий резистор для РD2 ldi temp, (1<<ACIE) | (1<<ACIS1) | (1<<ACIS0) ; Дозволити переривання від АК, ; переривання генерується при ; переході з 0 в 1 out ACSR, temp ; Сконфігурувати аналоговий компаратор ; Налаштувати режим пониженого енергоспоживання і умову генерації переривання INT0 ldi temp, (1<<ISC11)| (1<<ISC10) | (1<<SE) ; Режим енергоспоживання Idle: SM ;= 0, ; зовнішні переривання по спадаючому фронту out MCUCR, temp ; Сконфігурувати регістр MCUCR ; Дозволити зовнішнє переривання INT0 ldi temp, (1<<INT1) out GIMSK, temp ; Дозволити зовнішнє переривання INT1 ldi temp, (1<<INTF1) out GIFR, temp ; Загальний дозвіл переривань: І = 1 sei Loop: sleep ; Перехід в режим пониженого енергоспоживання rjmp Loop ; Після спрацювання давача знову перейти в режим ; пониженого енергоспоживання ;//////////////////////////////////////////////////////////////////////////// ;//////////////////////////////////////////////////////////////////////////// INT1_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 ;//////////////////////////////////////////////////////////////////////////// Схема:
Антиботан аватар за замовчуванням

25.12.2016 01:12-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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