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

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

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

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

Рік:
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:45

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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