ДОСЛІДЖЕННЯ АРХІТЕКТУРИ МІКРОКОНТРОЛЕРА СІМЕЙСТВА MCS-51 (AT90S8515 та AT89S52) З ВИКОРИСТАННЯМ ЛАБОРАТОРНОГО СТЕНДУ EV8031/AVR

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  ЛАБОРАТОРНА РОБОТА № 2 з курсу “ Мікропроцесорні пристрої ” ДОСЛІДЖЕННЯ АРХІТЕКТУРИ МІКРОКОНТРОЛЕРА СІМЕЙСТВА MCS-51 (AT90S8515 та AT89S52) З ВИКОРИСТАННЯМ ЛАБОРАТОРНОГО СТЕНДУ EV8031/AVR Львів – 2011 Мета роботи Вивчення внутрішньої структури мікроконтролера сімейства MCS-51 фірми Atmel (AT90S8515 та AT89S52), зокрема, програмно-доступних елементів та системи команд, використовуючи лабораторний стенд EV8031/AVR (V3.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 Кбайт. Структурна схема МК.  Лістинги перевірених програм. Тестові програми Програма 1 ORG 100H ; Початок програми mov R1, #45h ; R1← 45 ; Переслати безпосередньо ;у 8-розрядний реєстр R1 число 45 add R1, # EA ; R1←R1+EA ; Додати до вмісту реєстру R1 число EA mov R2, R1 ; R2←R1 ; Переслати вміст реєстру R1 в реєстр R2 END ; Закінчення програми Програма 2 ORG 0 ; Початок програми Con:mov R1, #04h ; записати в R1 число 04 mov R4, #30h ; записати в R4 число 30 mov DPTR, # 0B000h ; занести в реєстр DPTR адресу Інд.DD17, DD18 mov A, R1 ; записати в А значення R1 add A, R4 ; додати вміст реєстрів А і R4 ; та занести суму у реєстр А movx @DPTR, A ; висвітити на Інд. DD17, DD18 A mov A, #00h ; обнулити A jmp Con ; перейти на початок END ; Закінчення програми Індивідуальні завдання Програма 3 Завдання №1 Занести в реєстр R4 двійково-десяткове число 0Х, в реєстр R6 - двійково-десяткове число Х0, суму чисел відобразити на першому і другому знакомісці статичної індикації; Х - будь-якa цифра від 0 до 9. Виберемо : Х = 5. 0A000h – адреса лівої пари (третє і четверте знакомісця) статичного індикатора. 0В000h – адреса правої пари (перше і друге знакомісце) статичного індикатора. Лістинг ORG 0 ; Початок програми Con:mov R4, #05h ; записати в R4 число 05 mov R6, #050h ; записати в R6 число 50 mov DPTR, # 0B000h ; занести в реєстр DPTR адресу Інд.DD17, DD18 mov A, R4 ; записати в А значення R4 add A, R6 ; додати вміст реєстрів А і R6 ; та занести суму у реєстр А movx @DPTR, A ; висвітити на Інд. DD17, DD18 A mov A, #00h ; обнулити A jmp Con ; перейти на початок END ; Закінчення програми Програма 4 Завдання №7 Занести в реєстр R0 двійково-десяткове число ХХ, поперемінно відображати молодшу і старшу тетраду на першому і четвертому знакомісці статичної індикації з частотою 1 Гц. Виберемо : Х = 5. 0A000h – адреса лівої пари (третє і четверте знакомісця) статичного індикатора. 0В000h – адреса правої пари (перше і друге знакомісце) статичного індикатора. Лістинг ORG 0 ; Початок програми Start: mov R0, #055h ; записати в R0 число 55 mov 0F0H, #010h ; записати в В число 10 mov A, R0 ; записати в А значення реєстру R0 div AB ; ділення А на реєстр В mov 0F0H, #00h ; обнулити в В mov 0F0H, #010h ; записати в В число 10 mul AB ; множення А на В. А – старша тетрада mov R4, А ; записати в R4 значення A. R4 – старша тетрада mov A, #00h ; обнулити A mov 0F0H, #00h ; обнулити в В mov 0F0H, #010h ; записати в В число 10 mov A, R0 ; записати в А значення реєстру R0 div AB ; ділення А на реєстр В. В – молодша тетрода mov A, #00h ; обнулити A mov A, 0F0H ; записати в A значення B mov R5, A ; записати в R5 значення A. R5 – молодша тетрада mov A, #00h ; обнулити A Cycle: mov A, R5 ; записати в А значення R5 mov DPTR, # 0A000h ; занести в реєстр DPTR адресу індикації movx @DPTR, A ; висвітити на лівій парі індикатора значення А call zat ; виклик підпрограми затримки Zat mov A, #00h ; обнулити A movx @DPTR, A ; висвітити 0 на лівій парі індикатора mov A, R4 ; записати в А значення R4 mov DPTR, # 0В000h ; занести в реєстр DPTR адресу індикації movx @DPTR, A ; висвітити на правій парі індикатора значення А call zat ; виклик підпрограми затримки Zat mov A, #00h ; обнулити A movx @DPTR, A ; висвітити 0 на правій парі індикатора jmp Cycle ; Зациклюємо відображення тетрад Zat: ; Підпрограма затримки Zat mov R3,#05h ; записати в R3 число 5 C3: mov R1,#0FFh ; записати в R1 число 255 C1: mov R2,#0FFh ; записати в R2 число 255 C2: djnz R2,C2 ; інкремент R2 і перехід на С2 якщо 0 djnz R1,C1 ; інкремент R1 і перехід на С1 якщо 0 djnz R3,C3 ; інкремент R3 і перехід на С3 якщо 0 ret ; повернення з підпрограми END ; Закінчення програми Висновок: на даній лабораторній роботі ми навчилися писати програми для мікроконтролера EV 8031, а також ознайомилися з його системою команд. Згідно лабораторного завдання були написані та відлагоджені чотири програми для відображення інформації на дисплеї стенду. Стандартна підпрограма затримки була вдосконалена для забезпечення часового інтервалу в 1с.
Антиботан аватар за замовчуванням

24.01.2013 00:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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