Дослідження архітектури мікроконтролера сімейств MCS – 51 (AT90S8515 та AT89S52)з використанням лабораторного стенда EV8031/AVR

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

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

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

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Мікропроцесорні пристрої

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра КСА Лабораторна робота №2 з курсу «Мікропроцесорні пристрої» Дослідження архітектури мікроконтролера сімейств MCS – 51 (AT90S8515 та AT89S52)з використанням лабораторного стенда EV8031/AVR. Мета роботи: вивчення внутрішньої структури мікроконтролера сімейств MCS – 51 фірми Atmel (AT90S8515 та AT89S52), зокрема, програмно-доступних елементів та систем команд, використовуючи лабораторний стенд EV8031/AVR(V 3.2); набути досвіду розроблення простих програм, діагностики помилок, завантаження програм у пам’ять мікроконтролера та запуску їх на виконання. ТЕОРЕТИЧНА ЧАСТИНА Структурна схема МК  Призначення його основних складових Процесор з гарвардською структурою реалізує повне логічне та фізичне розділення адресних просторів та інформаційних шин для звертання до пам’яті програм та пам’яті даних. Така побудова дуже близька до структури цифрових сигнальних процесорів і збільшує продуктивність МК. Процесор працює одночасно як з пам’яттю програм, так і з пам’яттю даних. Розрядність шини адреси пам’яті 16 біт. В МК типу AVR використовується конвеєрна технологія. Внаслідок цього цикл “вибирання-виконання” суттєво скорочений, тобто машинний цикл, на протязі якого виконується команда, складає всього один період тактової частоти. Реєстровий файл займає молодші 32 байти в загальному адресному просторі МК (рис.2). Шість з 32-х реєстрів файлу можуть використовуватися як три 16-розрядні вказівники (X, Y, Z Pointers) адреси при непрямій адресації даних. Один з цих вказівників (Z Pointer) використовується також для доступу до даних, записаних в пам’яті програм МК. Використання 16-бітних вказівників (X, Y, Z Pointers) суттєво підвищує швидкість пересилання даних при виконанні прикладних програм. Пам’ять програм. Всі AVR МК мають Flash-пам’ять програм, яка може завантажуватися як звичайним програматором, так і з допомогою SPI(serial peripheral interfase)-інтерфейсу, зокрема, безпосередньо на платі. Кількість циклів перезапису - не менше 1000. Пам’ять даних. Всі AVR МК мають також енергонезалежну пам’ять даних з електричним стиранням EEPROM. Цей тип пам’яті використовується для зберігання проміжних даних, різних констант, таблиць перекодування і т.п. Дані в EEPROM можуть завантажуватися як через SPI-інтерфейс, так і за допомогою звичайного програматора. Кількість циклів перезапису складає не менше 100000. Два програмованих біти захисту інформації дозволяють захистити пам’ять від несанкціонованого доступу. Внутрішня оперативна пам’ять SRAM (статичного типу) є у всіх МК AVR сімейства Classic та Mega і у деяких типах сімейства Tiny. Деякі МК допускають під’єднання зовнішньої памяті даних об’ємом до 64 Кбайт. Периферія МК AVR. До периферійних пристроїв належать 8-розрядні паралельні порти вводу/виводу, послідовний порт, таймери/лічильники, внутрішній тактовий генератор та контролер переривань. Приклад команд окремих груп та директив Команди переміщення: MOV ad, A – переміщення з акумулятора за прямою адресою Арифметичні команди: ІNC DPTR – інкремент вказівника даних Логічні команди: CLR A – скидання акумулятора Команди операцій з бітами: ORL C, bit – логічне «АБО» біта і прапорця С Команди переходів: DJNZ R, ad8 – декремент R і перехід, якщо не нуль Програми виконані в лабораторії Вміст реєстрів R1і R4 додати та висвітити на індикаторі Мнемокод Операнди Коментарі  ORG Con:mov mov mov mov add movx mov jmp END 0 R1, #04h R4, #30h DPTR, #0B000h A, R1 A, R4 @DPTR, A A, #00h Con ; початок роботи програми ; записати в R1 число 04 ; записати в R4 число 30 ;занести в реєстр DPTR адресу Інд. DD17, DD18 ;записати в A значення R1 ;додати вміст реєстрів А і R4 та занести суму у реєстр А ; висвітити на Інд. DD17, DD18A ; обнулити А ; перейти на початок ;кінець програми  Результат роботи програми / Індивідуальне завдання № Текст індивідуального завдання  2 Занести в комірку з адресою B0h внутрішньої памяті МК двійково-десяткове число 0Х, в реєстр R3 і число Х0, суму чисел відобразити на другому та третьому знакомісці статичної індикації з частотою 0,5Гц.   Мнемокод Операнди Коментарі  org 0 Start: mov mov mov add add mov mov div mov mov mul mov mov mov mov mov mov mov div mov mov mov mov Cycle: mov mov movx Call zat mov movx mov mov movx mov movx jmp Cycle zat: mov C1: mov C2: djnz djnz ret END org 0 R3,#050h R2, #009h 0F0H, #010h A, R3 A, R2 R3,A A,R3 AB 0F0H,#00h 0F0H,#010h AB R4, A A, #00h 0F0H,#00h 0F0H,#010h A, R3 DPTR ,#0B000h A, R3 AB A,#00h A,0F0H R5,A A, #00h A, R5 DPTR, #0B000h @ DPTR,A A, #00h @DPTR,A A, R4 DPTR, #0A000h @ DPTR,A A, #00h @DPTR ,A R3, #0FFh R2, #0FFh R2,C2 R3,C1 ret END  ; початок роботи програми ; записати в реєстр R3 число 050h ; записати в реєстр R2 число 009h ; переміщення числа 010h за прямою адресою ; додати реєстр R3 і акумулятор ; додати реєстр R2 і акумулятор ; переміщення з акумулятора в реєстр R3 ; переміщення з реєстру R3 в акумулятор ; ділення акумулятора на реєстр B ; переміщення числа 00h за прямою адресою ; переміщення числа 010h за прямою адресою ; ділення акумулятора на реєстр B ; переміщення з акумулятора в реєстр R4 ; записати в акумулятор число 00h ; переміщення числа 00h за прямою адресою ; переміщення числа 010h за прямою адресою ; переміщення з акумулятора в реєстр R3 ; занести в реєстр DPTR вказівника на адресу правої пари статичного індикатора ; переміщення з реєстру R3 акумулятор ; ділення акумулятора на реєстр B ; записати в акумулятор число 00h ; записати в акумулятор 0F0H ; переміщення з акумулятора в реєстр R5 ; записати в акумулятор 00h ; мітка ; переміщення з реєстру R5 в акумулятор ; занести в реєстр DPTR вказівника на адресу правої пари статичного індикатора ; передача за посиланням вмісту акумулятора ; команда виклику підпрограми переривання ; записати в акумулятор число 00h ; передача за посиланням вмісту акумулятора ; переміщення з реєстру R4 акумулятор ; занести в реєстр DPTR вказівника на адресу лівої пари індикатора ; передача за посиланням вмісту акумулятора ; записати в акумулятор число 00h ; передача за посиланням вмісту акумулятора ; (загасити індикатори) ; перехід на мітку Сycle ; ; мітка ; записати в реєстр R3 число 0FFh ; записати в реєстр R2 число 0FFh ; декремент R2 і перехід якщо не нуль ; декремент R3 і перехід якщо не нуль ; (часова затримка на двох регістрах із декрементом у вкладеному циклі) ; повернення з підпрограми ; закінчення програми   Результат роботи програми / Висновок: Висновок: на даній лабораторній роботі ми навчилися писати програми для мікроконтролера EV 8031, а також ознайомилися з його системою команд. Згідно з лабораторним завданням ми виконали приклад наведеної програми, та розробили програму по індивідуальному завданню. Також ми навчились відображати числа на другому та третьому знакомісці статичної індикації та навчились задавати частоту відображення цих чисел.
Антиботан аватар за замовчуванням

10.03.2017 17:03-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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