Ознайомлення

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

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

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

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Інші

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

Міністерство освіти і науки України Національнийуніверситет «Львівськаполітехніка» Кафедра «Телекомунікації» / ЛАБОРАТОРНА РОБОТА №1 “Методи введення/виведення на MCS-51” Тема: Ознайомлення з середовищем роботи. Мета: Отримати навики роботи програми MCStudio та з мікроконтроллером сімейства MC. Теоритичні відомості: Основні вимоги, що споживачі пред'являють до ОМК можна сформулювати в такий спосіб: - низька вартість, - висока надійність, - високий ступінь мініатюризації, - мале енергоспоживання, - працездатність у жорстких умовах експлуатації; - достатня продуктивність для виконання всіх необхідних функцій. Виконання всіх цих суперечливих умов одночасно важко, тому розвиток і удосконалення ОМК пішло шляхом спеціалізації, і в даний час кількість моделей ОМК надзвичайно велика. Однак можна виділити деякі архітектурні риси, які є загальними практично для всіх сучасних МК: система команд ОМК зорієнтована на виконання задач керування і регулювання; алгоритми, що реалізуються на ОМК, мають багато розгалужень залежно від зовнішніх сигналів (подій); дані, з якими оперують ОМК, мають невелику розрядність; універсальність і можливість розширення функцій керування значно нижчі, ніж у системах з МП; інтеграція в одному корпусі мікросхеми (на одному кристалі) практично всіх блоків МПС – ПЗП, ОЗП, пристроїв введення-виведення, тактового генератора, контролера переривань і т.д. Тому в вітчизняної літературі МК часто називають однокристальними ЕОМ. побудова більшості МК на основі гарвардської архітектури (використання роздільних областей пам’яті та шин для збереження і передавання даних та команд). Взагалі, сучасні МК, як і інші МПС, будуються на основі однієї з двох базових архітектур: фон-нейманівської або гарвардської. В архітектурі фон-Неймана використання єдиної області пам'яті дозволяє оперативно перерозподіляти ресурси між областями програм і даних, що істотно підвищує гнучкість МПС із точки зору розроблювача програмного забезпечення. Розміщення стека в загальній пам'яті полегшує доступ до його вмісту. Невипадково тому фон-нейманівська архітектура стала основною архітектурою універсальних комп'ютерів. Гарвардська архітектура майже не використовувалася до кінця 70-х років, поки виробники МК не зрозуміли, що вона дає суттєві переваги розроблювачам систем керування. Справа в тому, що для реалізації більшості алгоритмів керування такі переваги фон-нейманівської архітектури як гнучкість і універсальність не мають великого значення. Аналіз реальних програм керування показав, що необхідний обсяг пам'яті даних МК, використовуваний для збереження проміжних результатів, як правило, на порядок менше необхідного обсягу пам'яті програм. У цих умовах використання єдиного адресного простору приводить до збільшення формату команд за рахунок збільшення числа розрядів для адресації операндів. Застосування окремої, невеликої за обсягом пам'яті даних сприяло скороченню довжини команд і прискоренню пошуку інформації в пам'яті даних. Гарвардська архітектура забезпечує потенційно більш високу швидкість виконання програми в порівнянні з фон-нейманівською за рахунок паралельної реалізації деяких операцій. Наприклад, вибірка наступної команди може відбуватися одночасно з вибіркою операндів для виконанням попередньої, і немає необхідності «зупиняти» АЛП процесора на час вибірки команди. Це надає можливость забезпечувати виконання різних команд за однакове число тактів. Однак, гарвардська архітектура є недостатньо гнучкою для реалізації деяких програмних процедур. Тому порівняння МК, виконаних на основі різних архітектур, варто проводити стосовно до конкретних задач. МК звичайно класифікують по розрядності оброблюваних чисел: - чотирирозрядні – найпростіші і найдешевші; - восьмирозрядні – найбільш чисельна група, що забезпечує оптимальне співвідношення вартості і можливостей; до цієї групи відносяться МК серії MCS-51 (Intel) і сумісні з ними, PIC (MicroChip), HC68 (Motorola), Z8 (Zilog) та ін.; - шістнадцатирозрядні – MCS-96 (Іntel) та ін. – більш високопродуктивні; - тридцатидворозрядні – звичайно є модифікаціями універсальних мікропроцесорів, використовуються для вирішення найбільш складних задач (наприклад, адаптивного керування). Найбільш розповсюджені у дійсний час восьмирозрядні ОМК, широко використовувані в промисловості, побутовій і комп'ютерній техніці. Причиною життєздатності 8-розрядних МК є використання їх для керування реальними об'єктами, де застосовуються, в основному, алгоритми з переважно логічними (побітовими) операціями, швидкість виконання яких практично не залежить від розрядності процесора. Сучасні 8-розрядні МК мають наступні особливості: - модульна організація, при якій на базі одного процесорного ядра проектується ряд (лінійка) МК, що розрізняються обсягом і типом пам'яті програм, обсягом пам'яті даних, набором периферійних модулів, частотою синхронізації; - використання закритої архітектури МК. Тобто МК являє собою закінчену систему обробки даних, нарощування можливостей якої з використанням паралельних магістралей адреси і даних не передбачається; - використання типових функціональних периферійних модулів (таймери, процесори подій, контролери послідовних інтерфейсів, АЦП й ін.), що мають незначні відмінності в алгоритмах роботи в МК різних виробників; - декілька режимів функціонування периферійних модулів, що задаються в процесі ініціалізації регістрів спеціальних функцій МК. В дійсний час, серед усіх 8-розрядних МК, сімейство MCS51 є безсумнівним чемпіоном з кількості різновидів і кількості компаній, що випускають його модифікації. Воно одержало свою назву від першого представника цього сімейства -- МК і8051, випущеного в 1980. Вдалий набір периферійних пристроїв, можливість гнучкого вибору зовнішньої або внутрішньої програмної пам'яті і невисока вартість забезпечили цьому МК успіх на ринку. З погляду технології МК і8051 був для свого часу дуже складним виробом -- у кристалі було використано 128 тис. транзисторів, що в 4 рази перевищувало кількість транзисторів у 16-розрядному мікропроцесорі 8086. Важливу роль у досягненні такої високої популярності сімейства 8051 зіграла відкрита політика фірми Intel, спрямована на широке поширення ліцензій на ядро 8051 серед великої кількості провідних компаній - виробників світу. У результаті на сьогоднішній день існує більш 200 модифікацій МК сімейства 8051, що випускаються майже 20-ю компаніями. Ці модифікації містять у собі кристали з найширшим спектром периферії: від простих 20-вивідних пристроїв з одним таймером до 100-вивідних кристалів з 10-розрядними АЦП, масивами таймерів-лічильників, апаратними 16-розрядними помножувачами і 64 Кб програмної пам'яті на кристалі. Основними напрямками розвитку є: збільшення швидкодії (підвищення тактової частоти і вдосконалення архітектури), збільшення обсягу ОЗП і FLASH- пам'яті на кристалі з можливістю внутрісхемного програмування, використання складних периферійних пристроїв. Усі МК із сімейства MCS-51 мають загальну систему команд. Наявність додаткового устаткування впливає тільки на кількість регістрів спеціального призначення. Базовою моделлю сімейства МК MCS51 і основою для всіх наступних модифікацій є МК і8051. Це -- восьмирозрядний ОМК, що має: - вбудований тактовий генератор; - адресний простір пам'яті програм -- 64 КБ; - адресний простір пам'яті даних -- 64 КБ; - внутрішню (резидентну) пам'ять програм ПЗП -- 4 КБ; - внутрішню (резидентну) пам'ять даних ОЗП -- 128 байт; - додаткові можливості по виконанню операцій булевої алгебри (побітових операції); - 32 двонапрямлені й індивідуально адресовані лінії введення/виведення (порти Р0-Р3); - послідовний порт (Serial Port); - 2 шістнадцатирозрядні багатофункціональні таймери/лічильники (Т/С 0, Т/С 1); - повнодуплексний асинхронний прийомопередавач; - векторну систему переривань із двома рівнями пріоритету і шістьма джерелами подій. Спрощена структурна схема і8051 подана на рис. 2, призначення виводів мікросхеми -- на рис.3. / Рис. 2. Структурна схема і8051 Bus control –блок керування; Interrupts control – система переривань; CPU – центральний процесор; OSC – генератор; ROM –ПЗП; RAM – ОЗП; I/O ports – порти введення-виведення.  Рис. 3. Призначення виводів I-8051. Позначення сигналів на рис. 3: Uss -- потенціал загального проводу ("землі"); Ucc -- основна напруга живлення +5 В; XTAL1, XTAL2 -- виводи для підключення кварцового резонатора; RESET -- вхід загального скидання МК; PSEN -- дозвіл зовнішньої пам'яті програм; ALE -- строб адреси зовнішньої пам'яті; ЕА -- відключення внутрішньої програмної пам'яті; P1 -- восьмибітний квазідвонапрямлений порт введення/виведення (кожен розряд порту може бути запрограмований як на введення, так і на виведення інформації); P2 -- порт, аналогічний Р1; крім того, виводи цього порту використовуються для видачі адресної інформації при звертанні до зовнішньої пам'яті програм або даних; РЗ -- аналогічний Р1; крім того, виводи цього порту можуть виконувати ряд альтернативних функцій, що використовуються при роботі таймерів, порту послідовного введення/виведення, контролера переривань, і зовнішньої пам'яті програм і даних; P0 — восьмибітний двонапрямлений порт введення/виведення інформації. Зовнішня пам'ять даних призначена для тимчасового зберігання інформації, використовуваної в процесі виконання програми. Ця пам'ять фізично повинна бути підключена до мікросхеми мікроконтролера за допомогою схеми, зображеної на рис. 3. Максимальний об'єм цієї пам'яті визначається регістром DPTR і складає 64 Кбайта. Точно також як і у разі зовнішньої пам'яті програм, об'єм зовнішньої пам'яті даних може бути збільшений за рахунок використання портів P1 і P3 до 1 Гбайта. Зовнішня пам'ять даних для своєї роботи вимагає використання портів P0, P2 і P3. Це приводить до збільшення габаритів пристрою, збільшенню рівня перешкод і, зрештою, збільшення вартості пристрою в цілому. Тому в сучасних пристроях зовнішня пам'ять не використовується. Проте, в деяких мікроконтролерах (наприклад 87с550 фірм DALLAS) команди звернення до зовнішньої пам'яті використовуються для роботи з додатковою внутрішньою пам'яттю великого об'єму. Внутрішня пам'ять даних мікроконтролерів MCS-51 Внутрішня пам'ять даних (RAM) призначена для тимчасового зберігання інформації, яка використовується в процесі виконання програми. Внутрішня пам'ять даних містить 128 восьмирозрядних комірок (регістрів), з адресами від 000h до 07Fh для мікроконтролерів 8051, 8031, Кр1816ве31, Кр1816ве51, Кр1816ве751 Кр1830ве31, Кр1830ве51, Кр1830ве751 або 256 восьмирозрядних комірок, з адресами від 000h до 0FFh для решти всіх мікроконтролерів сімейства. Розподіл пам'яті даних мікроконтролерів серії MCS-51 приведений на рис 4. Адреси з 080h по 0FFh використовуються регістрами спеціальних функцій. Молодші 32 байти внутрішнього ОЗП даних об'єднано з 4-ма банками регістрів (RB0 - RB3). Банк регістрів складається з восьми восьмирозрядних регістрів з іменами R0, R1 . ., R7. Банки регістрів служать для організації незалежної роботи декількох паралельно виконуваних програм. Перемикання банків регістрів здійснюється за допомогою двох особливих біт регістра слова стану програми PSW (RS0 і RS1). Команди програми можуть звертатися до регістрів, використовуючи їх імена R0-R7 (MOV A, R0 або MOV R7, A), або використовуючи їх адресу у внутрішній пам'яті даних (MOV A, 0 або MOV 7, A). / Рис. 4. Адресний простір внутрішньої пам'яті даних. Наступні після банків регістрів внутрішнього ОЗП даних 16 елементів пам'яті (адреси 20Н-2FH) утворюють область пам'яті, до якої можлива як байтова, так і бітова адресація. У цих комірках розміщено 128 програмних прапорів (бітових елементів пам'яті). Звертання до цих комірок можливо по їх бітових адресах. Наприклад команди SETB 15 або JB 15 звертаються до 15 прапора, розташованого в старшому біті байтового елемента пам'яті 21h. Використання однобітових елементів пам'яті дозволяє скоротити необхідний для роботи програми обєм пам'яті даних. При визначенні способу адресації операндів в команді необхідно враховувати, що адресація для кожного операнда команди своя. У загальному випадку адресація  джерела і приймача можуть не співпадати. Неявна адресація При неявній адресації регістр джерело або регістр приймач мається на увазі в самому коді операції. Наприклад: 03 RR A ;Зсунути вміст акумулятора управо D4 DA A ;Виконати десяткову корекцію результату E8 MOV A, R0 ;В першому операнді використана неявна адресація, а в другому - регістрова Регістрова адресація використовується для звертання до восьми робочих регістрів вибраного банку робочих регістрів, а також для звертання до регістрів А, В, АВ (здвоєного регістра), DPTR, і до прапора переносу С. Номер регістра записується в трьох молодших бітах команди. Наприклад: F8 MOV R5, A ;в першому операнді використана регістрова адресація, а в другому - неявна Пряма байтова адресація використовується для звернення до комірок внутрішньої пам'яті (ОЗП) даних (адреси 0:127) і до регістрів спеціального призначення (адреси 128:256). Адреса елемента пам'яті поміщається в другий байт команди. Пряма бітова адресація використовується для звертання до окремо адресується 128 бітам, розташованим в комірках з адресами 20Н-2FH, і до бітів регістрів спеціального призначення, що окремо адресуються. Наприклад: D220 SETB 20h ;використана пряма бітова адресація C215 CLR 15h ;використана пряма бітова адресація Косвенно-регістрова адресація використовується для звернення до комірок внутрішнього ОЗП даних. Як регістри-вказівники адресу використовуються регістри R0, R1 вибраного банку регістрів. Косвенно - регістрова адресація використовується також для звернення до зовнішньої пам'яті даних. В цьому випадку за допомогою регистров-вказівників R0 і R1 (робочого банку робочих регістрів) вибирається комірка з блоку 256 байт зовнішньої пам'яті даних. Номер блоку заздалегідь задається вмістом порта Р2. Якщо як регістр - вказівник використовується 16 - розрядний вказівник даних (DPTR), то можна вибрати будь-який елемент зовнішньої пам'яті даних об'ємом до 64 Кбайт. (У деяких моделях мікроконтролерів сімейства MSC-51 таким чином можна звертатися до внутрішньої пам'яті даних об'ємом більше 256 байт). Косвенно-регістрова адресація по сумі базового і індексного регістра (вміст акумулятора А) спрощує проглядання таблиць, записаних в пам'яті програм. Будь-який байт з таблиці може бути вибраний за адресою, яка визначається сумою вмісту DPTR або РС і вмісту А, Безпосередня адресація дозволяє вибрати з адресного простору пам'яті програм константи, явно вказані в команді. Хід роботи : Запустимо програму MCstudio IDE для MCS-51. Робоче вікно програми зображено на рисунку1: Рис.1 Робоче середовище програми MCStudio Запустимо новий проект, нажавши Файл->Создать->Проект. У вікні введемо мікропроцесор Intel, 80C51 та задамо ім’я проекту. Скофіюємо файл інціалізайії з proba.asm. Здійснимо ввід/вивід інформації на цифровий індикатор. Він містить 4 блоки, доступ до яких відбувається за адресами: 0А000hі 0B000h.Програмний код нижче записаної програми виводить послідовно на екран 1111,2222,3333,4444,5555. Після цього цикл починається спочатку. Змоделюємо цей процес на макеті для Proteus. Отримаємо такий результат: MAIN: mov A,#0 mov DPTR,#0A004h movx @DPTR,A mov A,#11h mov DPTR,#0A000h movx @DPTR,A mov DPTR,#0B000h mov A,#11h movx @DPTR,A CALL ZATR mov A,#00001111b mov DPTR,#0A004h movx @DPTR,A CALL ZATR ……….. jmp MAIN ZATR: mov R1,#0FFh C2: mov R2,#0FFh C4: djnz R2,C4 djnz R1,C2 ret end Висновок: на цій лабораторній роботі я ознайомилася з методами вводу/виводу інформації у мікроконтролері MCS-51. У ході роботи я змоделювала вивід цифр на індикатор макету мікроконтролера та реалізувала в програмі Proteus.
Антиботан аватар за замовчуванням

25.07.2013 13:07-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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