Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Организация обміну інформацією між микроконтроллером сімейства MCS-51 фірми Intel і персональним компьютером

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Монітор" мають забезпечувати запуск всіх розглянутих вище підпрограм залежно від коду, переданого з самого персонального комп’ютера. Тому необхідно розробити управляючі слова, які й ставити режим роботи системи. Управляючі коди нічого не винні перевищувати 8 біт. Задля реалізації гнучкості системи, необхідно і при отриманні невикористовуваних кодових комбінацій забезпечити перехід виконання… Читати ще >

Организация обміну інформацією між микроконтроллером сімейства MCS-51 фірми Intel і персональним компьютером (реферат, курсова, диплом, контрольна)

ANOT?CIJA.

?aj? darb? tiek apl? kota inform? cijas apmai? as organiz? cija starp person? lo datoru un firmai Intel MCS-51 mikrokontrolieri. Darb? tiek uzr? d?ti mikrokontroliera programmas algoritmi un t? ar? struktur? l?s piesl? gumu sh? mas pie person? lo datoru portam.

Darba apjoms 47 lappuses.

АННОТАЦИЯ.

У цьому роботі розглядається організація обміну інформацією між персональним комп’ютером і микроконтроллером сімейства MCS-51 фірми Intel. Діяльність представлені алгоритми програмного забезпечення микроконтроллера, і навіть структурні схеми підключення микроконтроллера до портів персонального компьютера.

Обсяг роботи 47 страниц.

ANNOTATION.

In given document is considered organization of information exchange between the personal computer and family MCS-51 Company Intel microcontroller. There is presented the algorithms of microcontroller software, as well as structured schemes of connecting a microcontroller to ports of the personal computer.

Volumes of work 47 pages.

стр.

ПЕРЕЛІК СКОРОЧЕНЬ 7.

ЗАПРОВАДЖЕННЯ 8.

1. АНАЛІЗ СОСТОЯНИЯ ПИТАННЯ 9.

1.1 Постановка глобальних завдань 13.

1.2 Аналіз попередньої роботи 13.

1.2.1 Позитивні боку 13.

1.2.2 Негативні боку 14.

1.3 Постановка завдання 15.

2. РОЗРОБКА ЗАПИТАНЬ АПАРАТНОГО І ПРОГРАМНОГО ПОЄДНАННЯ 18.

2.1 Апаратне поєднання ПК і микроконтроллера 18.

2.1.1 Швидкість приема/передачи 19.

2.1.2 Розробка формату прийнятих і переданих даних 19.

2.1.3 Розробка схеми підключення микроконтроллера 20.

2.1.4 Вибір джерела харчування 21.

2.2 Підключення зовнішньої пам’яті програм 21.

2.3 Програмне поєднання микроконтроллера і ПК 23.

2.3.1 Початкова установка MCS-51 23.

2.3.2 Програмне забезпечення організації обміну между.

МК і ПК 23.

2.3.2.1 Програма «Монітор» 23.

2.3.2.2 Підпрограма запуску програми користувача як реального часу 26.

2.3.2.3 Підпрограма запуску програми користувача в пошаговом режимі 28.

2.3.2.4 Підпрограма записи програми користувача на згадку про програм микроконтроллера. 34.

2.3.2.5 Підпрограма записи інформацією програмно — доступні вузли микроконтроллера 36.

2.3.2.6 Підпрограма читання з пам’яті програм микроконтроллера.

2.3.2.7 Підпрограма читання інформації програмно — доступних вузлів микроконтроллера 38.

2.3.2.8 Підпрограма видачі помилки у ПК 39.

2.3.2.9 Підпрограма видачі одного байта інформації 39.

2.3.2.10 Підпрограма вживання байта інформації. 41.

СПИСОК ИСПОЛЬЗОВАНОЙ ЛІТЕРАТУРИ 45.

ДОКЛАДАННЯ 46.

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ.

БІС — велика інтегральна схема.

МК — микроконтроллер

ОЗУ — оперативне запам’ятовуючий устройство.

ПЗУ — постійне запам’ятовуючий устройство.

ПК — персональний компьютер

УАПП — універсальний асинхронний приемопередатчик.

ЕОМ — електронна обчислювальна машина ВВЕДЕНИЕ.

Розвиток мікроелектроніки та широке застосування її виробів на промисловому виробництві, в пристроях і системах управління найбільш різноманітними об'єктами і процесами в час однією з основних напрямів науково-технічного прогресса.

Використання микроконтроллеров в виробах як призводить до підвищенню техніко-економічних показників (вартості, надійності, споживаної потужності, габаритних розмірів), а й дозволяє скоротити час розробки виробів і зробила їх модифицируемыми, адаптивними. Використання микроконтроллеров в системах управління забезпечує досягнення високих показників ефективності при низькою стоимости.

Микроконтроллеры є ефективний засіб автоматизації різноманітних об'єктів і процессов.

Усе це визначає необхідність вивчення мікропроцесорних систем. Нині в РАУ є навчальні методичні комплекси УМК ВЕФ, що базуються на микропроцессоре I8080, які дозволяють одержати знання на програмуванні мікропроцесорів. На жаль, спеціалісти кафедри немає лабораторної установки, що дозволяє отримати практичні навички в програмуванні микроконтроллеров.

Необхідно створення нової лабораторної бази, використовує найбільш поширені микроконтроллеры. Такими микроконтроллерами можуть послужити микроконтроллеры сімейства MCS-51 фірми Intel.

Такі лабораторні установки можна використовувати як як навчально-методичне посібник щодо курсу мікропроцесорів, а й як устрою управління іншими навчально-методичними комплексами, які у інших курсах.

Вищесказане свідчить про важливість обговорення питання організації обміну інформацією між персональним комп’ютером і микроконтроллером MCS-51 фірми Intel.

1. АНАЛІЗ СОСТОЯНИЯ ВОПРОСА.

У пристроях управління об'єктами (контроллерах) з урахуванням МК аппаратурные кошти й програмне забезпечення існує у формі неділимого аппаратурно-программного комплексу. Під час проектування контролерів припадати вирішувати однією з найбільш складних завдань розробки, а саме завдання оптимального розподілу контролера між аппаратурными коштами підприємців і програмним забезпеченням. Виконання цього завдання ускладнюється тим, що взаємозв'язок та взаємовпливи апаратурних засобів і програмного забезпечення у мікропроцесорної техніці перетерплюють динамічні зміни. Коли на початку розвитку мікропроцесорної техніки визначальним було правило, відповідно до яким аппаратурные кошти забезпечують продуктивність, а програмне забезпечення — дешевизну вироби, то час цього правила потребує серйозної коригуванні. Оскільки МК є стандартний масовий (порівняно недорогий) логічний блок, конкретне чиє призначення визначає користувач з допомогою програмного забезпечення, те з зростанням ступеня інтеграції і, отже, функционально-логических можливостей МК різко знижується вартість вироби у перерахунку на виконувану функцію, що в результаті вони й забезпечує досягнення високих техникоекономічних показників виробів на МК. У цьому видатки розробку програмного забезпечення вироби у два — 10 разів перевищує затрати на придбання та вироблення апаратурних средств.

Нині найбільшого поширення отримав методологічний прийом, у якому весь цикл розробки контролерів сприймається як послідовність трьох фаз проектирования:

1. аналізу завдання й вибору (і/або розробки) апаратурних коштів контроллера;

2. розробка прикладного програмного обеспечения;

3. комплексування апаратурних засобів і програмного забезпечення у прототипі контролера та її отладки.

Фаза розробки програмного забезпечення, тобто. фаза отримання прикладних програм, своєю чергою, розбивається на два істотно різних этапа:

1. «від постановки завдання до початкової программе»;

2. «від вихідної програми до об'єктному модулю».

Етап розробки «від вихідної програми до об'єктному модулю» має метою отримання машинних кодів прикладних програм, що працюють у МК. Цей етап розробки прикладного програмного забезпечення легко піддається формалізації і підтриманий всієї міццю системного програмного забезпечення МК, спрямованих автоматизацію процесу набуття прикладних програм. У склад коштів системного програмного забезпечення входять трансляторы з різних алгоритмічних мов високого рівня, ассемблеры, редактори текстів, программы-отладчики, программы-документаторы тощо. Наявність всіх цих системних коштів надає інженерної роботи цьому етапі проектування контролерів характер ремесла, а чи не інженерного творчості. Позаяк у кінцевому виробі є лише МК та її кошти поєднання з об'єктом, то виконувати налагодження розроблюваного прикладного програмного забезпечення у ньому неможливо (через відсутність коштів введення, виведення, ОЗУ великий ємності і ОС), і, отже, розробник вимушений звертатися до засобів обчислювальної техніки до виконання всіх формализуемых стадій розробки: трансляції, редагування, налагодження, завантаження об'єктних кодів і программируемую постійну пам’ять МК.

Етап розробки «від постановки завдання до початкової програмі» не піддається формалізації і, отже, може бути автоматизовано. Проектна робота тут носить творчий характер, рясніє рішеннями, мають «вольову» чи «смакову» забарвлення, і рішеннями, продиктованими кон’юнктурними міркуваннями. Аналізуючи цей етап розробник стакивается з найбільшою кількістю трудностей.

На обох етапах розробки необхідно тестувати програмне забезпечення як на эмуляторах, а й у «живому» МК, з виявлення специфічних помилок (неправильна логіка роботи устрою, помилки, пов’язані з эмуляцией). Це багаторазового перепрограмування МК, що пов’язане з великою витратою часу (час стирання інформацією ПЗУ з ультрафіолетовим, чи електричним стиранням може становити кількох десятків хвилин). Це час можна скоротити використовуючи як пам’ять програм не ПЗУ, а ОЗУ.

Розроблюване пристрій значно спростить обидва етапу розробки, дозволяючи налагоджувати програмне забезпечення безпосередньо на «живому» МК і дозволить заощадити час, що з записом й стирання тестируемых программ.

За позитивного рішення завдань про оптимальному розподілі функцій між аппаратурными коштами Німеччини та програмним забезпеченням необхідно виходити із те, що використання спеціалізованих интерфейсных БІС спрощує розробку й забезпечує високе швидкодія системи загалом, але пов’язане з збільшенням вартості, обсягу й споживаної потужності. Більший питому вагу програмного забезпечення дозволяє скоротити кількість компонентів системи та вартість її апаратурних коштів, але ці призводить до зниження швидкодії і збільшення витрат і термінів розробки та налагодження прикладних програм. У цьому ще довго можуть кілька збільшуватися число БІС зовнішньої пам’яті МК — системи. Рішення про вибір тієї чи іншої варіанта розподілу функцій між аппаратурными і тими програмними засобами системи приймається в залежність від тиражности вироби, обмежень за вартості, обсягу, споживаної потужності і швидкодії вироби. Програмна реалізація основних елементів алгоритму роботи контролера допускає його модифікацію шляхом перепрограмування. Тоді як зміни вже існуючої фіксації елементів алгоритму в апаратурі контролера практично отсутствует.

Після набуття об'єктного коду програми неминуче настає етап налагодження, тобто. встановлення факту її працездатності, і навіть виявлення і усунення помилок. Без цього етапу розробки ніяке програмне забезпечення не має права на существование.

Зазвичай налагодження прикладного програмного забезпечення ввозяться кілька етапів. Прості (синтаксичні) помилки виявляються на етапі трансляції. Далі необхідні: автономну налагодження кожної процедури в статичному режимі, що дозволить перевірити правильність проведених обчислень, правильність послідовності переходів всередині процедури (відсутність «зациклення») і т.п.; комплексну налагодження програмного забезпечення у статичному режимі, що дозволить перевірити правильність алгоритму управління (по послідовності формування управляючих впливів); комплексну налагодження в динамічному режимі без підключення об'єкта для визначення реального часу виконання програми її окремих фрагментов.

Ці етапи налагодження здійснюються звичайно з використанням крос систем. До складу крос систем входять программы-отладчики, інтерпретують виконання програм написаних для МК. Але хоч би як вдався інтерпретатор, він усе одно ні може цілком замінити реальний МК.

З використанням розроблюваного устрою можна буде потрапити виконувати розглянуті етапи налагодження вже безпосередньо на «живому» МК, підключаючи до нього реальні фізичні об'єкти. Ці етапи налагодження можна буде потрапити об'єднати з такими етапами розробки устрою — налагодження окремих фрагментів програмного забезпечення на отладочном модулі як реального часу. Можна буде виключити етап комплексної налагодження прикладного програмного забезпечення на інструментальної микроЭВМ з внутрисхемным эмулятором.

Розроблюване пристрій має забезпечити всі необхідні можливості, доступні в крос системах: доступом до кожному ресурсу МК; покрокове виконання программ.

Розроблюване пристрій дозволить промоделировать майже всі можливі варіанти роботи програми розвитку й цим переконатися у її працездатності. Тут можлива перевірка працездатності програми при позаштатних ситуаціях за умов надходження некоректних вхідних воздействий.

Можна буде моделювати середовище проживання МК, тобто. різноманітних об'єкти і датчики, які підключаються до нему.

Це пристрій усуває недолік крос систем — неможливість прогону програми у реальному масштабі часу, тобто. зі швидкістю близька до швидкості виконання програми у самому МК, і навіть неможливість комплексування апаратурних і програмних засобів розроблюваної системи. Саме це причини впливають на достовірність прикладних програм, отлаженных в крос системах. Ця достовірність, як правило, не досить высока.

Завданням даної роботи є підставою розробка необхідного програмного забезпечення і апаратних коштів поєднання МК і ПК.

1.1 Постановка глобальних задач.

Організація обміну предполагает:

V розгляд питань апаратних средств;

V створення необхідного програмного обеспечения.

Апаратні гроші мають обеспечить:

V фізичне поєднання портів ПК і микроконтроллера;

V поєднання МК із зовнішнього пам’яттю программ.

Програмне забезпечення має забезпечити рішення наступного низки задач:

V запис програми, налагодженої на ПК, на згадку про програм, тож даних МК;

V виконання програми як реального времени;

V виконання програми в пошаговом режиме;

V запис інформації з ПК в программно-доступные вузли МК;

V читання вмісту программно-доступных вузлів і індикація їх у моніторі ПК.

1.2 Аналіз попередньої работы.

Питання організації обміну інформацією між персональним комп’ютером і микроконтроллером сімейства Intel MCS-51 був розглянутий в бакалаврської роботі [3]. У роботі було розглянуто проблеми апаратного та програмного поєднання МК з ПК у складі планованої лабораторної установки.

1.2.1 Позитивні стороны.

Діяльність [3] було запропоновано використати як інтерфейсу поєднання з ПК інтерфейс RS-232C. Вибір даного інтерфейсу грунтувався на простоті підключення, і навіть мінімальних витратах що з апаратним підключенням. Позитивним фактом для вибору цього інтерфейсу служить також можливість віддаленого підключення і можливість дуплексной передачі даних, що ні можуть забезпечити внутрішня шина ПК і інтерфейс Centronics.

З іншого боку кожен комп’ютер обладнаний хоча б асинхронним послідовним адаптером. Асинхронний адаптер зазвичай містить кілька СОМ — портів, якими до комп’ютера можна підключити зовнішні устройства.

Використовуючи СОМ — порт дані зайве синхронізувати. Для синхронізації передавального і приймаючої устрою групі бітов передує спеціальний стартовий біт, а після групи бітов ідуть одне або двоє стоповых біта. Також у кінці групи переданих бітов може слідувати біт парності. Наявність або відсутність біта парності, кількість стартових і стоповых бітов визначають формат передачі данных.

Діяльність [3] було запропоновано формат що з одного стартового біта, семи інформаційних бітов, біта парності і двох стоповых бітов. Цей формат перестав бути зручним, т.к. передавати інформацію, розбиваючи її до 7 інформаційних бітов не зручно. Набагато зручніше використовувати побайтовую пересылку.

Однією з основних плюсів даної роботи є підставою пропозицію використовувати як пам’яті програм ОЗУ замість ПЗУ, що дозволяє істотно збільшити швидкість перезапису програм пользователя.

ОЗУ використовується розміщувати програм користувача. При записи програм, у ОЗУ, звернення до пам’яті програм здійснюється виключно як звернення до пам’яті даних, читання як до пам’яті программ.

Використання пам’яті програм під час записи як пам’ять даних обумовлюється тим, що під час роботи микроконтроллера пам’ять програм доступна користувачеві лише чтения.

1.2.2 Негативні стороны.

Однією з мінусів роботи [3] є пропозиції щодо узгодженні рівнів між інтерфейсом RS-232C і послідовним портом МК. Були розроблено схеми приймача і передавача. Ці схеми мають низку недоліків. Однією з недоліків необхідно в додаткових джерелах харчування на +12 і -12 вольт. Дані схеми є надійними. Вони використовують застарілу електронну базу і задовольняють реальним вимогам, поставленим їх. Нині є низка мікросхем, дозволяє здійснити узгодження рівнів сигналів між інтерфейсом RS-232C і послідовним портом МК. Такі схеми надійніші і вимагають додаткового харчування на +12 і -12 вольт.

Діяльність [3] пропонувалося використовувати МК 8031. Цей МК немає внутрішньої пам’яті програм. У зв’язку з цим виникла потреба в установці зовнішньої пам’яті програм. Ця пам’ять програм розбивалася на ПЗУ, для зберігання програми «Монітор» і ОЗУ, як пам’ять програм користувача. Це обмежує загальну зовнішню пам’ять програм, що використовується як пам’ять програм пользователя.

Діяльність 3 були вирішено питання з доступом до программно-доступным вузлам микроконтроллера. При перехід до подпрограмме микроконтроллер зберігає в стеці лише вміст лічильника команд. Тому до початку прийому передача даних слід подбати про збереження вмісту акумулятора і регістрів, що використовуватимуться прийому чи передачі данных.

Програма «Монітор» враховувала лише ряд завдань, що потенційно можуть виникнути у користувача на етапах розробки програмного забезпечення, тестування його використання системи на практике.

1.3 Постановка задачи.

З вище аналізу слід, що з реалізації процесу обміну інформацією між микроконтроллером MCS-51 і персональним комп’ютером вирішити наступний ряд вопросов:

V Питання апаратних средств.

. Розробка схеми поєднання портів ПК і микроконтроллера з допомогою сучасної електронної бази. Ця схема має забезпечити узгодження рівнів сигналів між СОМ — портом ПК і микроконтроллером, має вимагати додаткові джерела харчування, повинен мати невеликі маса — габаритні характеристики, повинна бути дешевою і надежной.

. Розробка схеми підключення пам’яті до микроконтроллеру.

Ця схема має забезпечити можливість использования.

ОЗУ як пам’ять програм. Під час запису програми користувача пам’ять програм повинна використовуватися, як пам’ять даних. Адресне простір зовнішньої пам’яті даних, і пам’яті програм на повинен перекрываться.

V Питання програмного обеспечения.

. Розробити формат передачі між ПК і микроконтроллером. Цей формат повинен використовувати вісім інформаційних битов.

. Розробити алгоритм записи програми, налагодженої на ПК, на згадку про програм МК.

. Розробити алгоритм запуску програми як реального времени.

. Розробити алгоритм виконання програми в пошаговом режимі. У цьому вся режимі микроконтроллер щокроку програми повинен передавати їх у персонального комп’ютера вміст всіх програмних вузлів, і навіть таку команду з пам’яті програм. За необхідності, на запит з самого персонального комп’ютера микроконтроллер повинен передати вміст будь-який осередки пам’яті даних, або домогтися будь-якого блоку осередків пам’яті даних. З іншого боку микроконтроллер повинен передавати їх у персонального комп’ютера вміст осередків пам’яті програм, якщо це потрібно. За необхідності повинна забезпечуватися запис в програмно доступні вузли микроконтроллера, на згадку про програм, тож пам’ять данных.

Алгоритм повинен дозволяти запускати програму з будь-якої світової адреси зазначеного користувачем, продовжувати виконання перерваної програми в пошаговом режимі, чи режимі реального времени.

. Розробити алгоритм записи інформацією програмно — доступні вузли микроконтроллера.

. Розробити алгоритм записи інформацією пам’ять данных.

. Розробити алгоритм читання інформації з програмно — доступних вузлів микроконтроллера.

. Розробити алгоритм читання інформації з пам’яті данных.

. Розробити алгоритм читання інформації з пам’яті программ.

. Розробити алгоритм програми «Монітор». Программа.

«Монітор» мають забезпечувати запуск всіх розглянутих вище підпрограм залежно від коду, переданого з самого персонального комп’ютера. Тому необхідно розробити управляючі слова, які й ставити режим роботи системи. Управляючі коди нічого не винні перевищувати 8 біт. Задля реалізації гнучкості системи, необхідно і при отриманні невикористовуваних кодових комбінацій забезпечити перехід виконання програми до області пам’яті програм на заздалегідь зарезервований адресу. Цей адресу можна зберігати у пам’яті програм по суворо певному адресою. Щоб уникнути виконання випадкового коду, під час початковій установки необхідно встановити за цією адресою, адресу у пам’яті програм, де знаходиться команда повернення з подпрограммы.

. При переході на розроблювані підпрограми необхідно зберегти в стеці вміст акумулятора. Перед виходом із цих підпрограми вміст акумулятора необхідно восстановить.

2. РОЗРОБКА ЗАПИТАНЬ АПАРАТНОГО І ПРОГРАМНОГО СОПРЯЖЕНИЯ.

2.1 Апаратне поєднання ПК і микроконтроллера.

Аби вирішити завдання поєднання ПК і микроконтроллера було вирішено використовувати інтерфейс RS-232C.

Послідовний порт використовують у ролі універсального асинхронного прийомопередавача (УАПП) з фіксованою чи перемінної швидкістю послідовного обміну і можливість дуплексного включения.

Послідовний інтерфейс микроконтроллера МК-51 може працювати у наступних чотирьох режимах: o Режим 0. Інформація передається і законодавців береться через вхід RxD приймача (висновок P3.0). Через вихід передавача TxD (висновок P3.1) видаються імпульси синхронізації, стробирующие кожен рухаючись чи який приймає біт інформації. Формат посилки — 8 біт. Частота приймання та передачі - тактова частота микроконтроллера. o Режим 1. Інформація передається через вихід передавача TxD, а приймається через вхід приймача RxD. Формат посилки — 10 біт: старт-бит (нуль), вісім біт даних, ніжний дев’ятий біт і стоп-бит (одиниця). Частота приймання та передачі задається таймером/счетчиком 1. o Режим 2. Інформація передається через вихід передавача TxD, а приймається через вхід приймача RxD. Формат посилки — 11 біт: старт-бит (нуль), вісім біт даних, м’який дев’ятий біт и.

2 стоп-бита (одиниці). Рухаючись дев’ятий біт даних приймає значення біта ТВ8 з регістру спеціальних функцій SCON. Биток ТВ8 в регістрі SCON то, можливо програмно встановлено у «0» чи «1», чи нього, приміром, можна помістити значення біта Р з регистра.

PSW підвищення достовірності прийнятої інформації (контроль за паритетом). Під час прийому дев’ятий біт даних прийнятої посилки вступає у біт RB8 регістру SCON. Частота приймання та передачі як 2 задається програмно і може дорівнювати тактовою частоті микроконтроллера діленої на 32 чи 64. o Режим 3. Режим 3 повністю ідентичний режиму 2 крім частоти приймання та передачі, що у режимі 3 задається таймером/счетчиком 1.

Задля реалізації обміну інформацією між ПК і микроконтроллером найзручнішим є режим 2, т.к. до роботи на цьому режимі не потрібно таймер/счетчик. Цей режим повністю задовольняє пред’явленим требованиям.

2.1.1 Швидкість приема/передачи.

Швидкість приема/передачи, тобто. частота роботи універсального асинхронного прийомопередавача (УАПП) як 2 залежить від значення управляючого біта SMOD в регістрі спеціальних функций.

Частота передачі визначається вираженням: f=(2SMOD/64)fрез.

Інакше кажучи, при SMOD=0 частота передачі дорівнює (1/64)fрез, а при SMOD=1 дорівнює (1/32)fрез.

Швидкість приема/передачи мусить бути кратна 115,2 Кбод [6].

зважаючи на викладене, виберемо частоту прийому даних при SMOD=1. Якщо fрез=1,8432 МГц, тоді частота прийому даних буде 57,6 КБод.

Інші значення частот кварцу може бути обрані з таблиць в додатку 1 і додатку 2.

2.1.2 Розробка формату прийнятих і переданих данных.

Формат прийнятих і переданих даних майже зовсім описаний режимом 2 роботи послідовного интерфейса.

Формат має складатися з 11 бит:

. стартовий біт — ноль;

. вісім біт данных;

. дев’ятий біт — контроль за паритетом, підвищення достовірності прийнятої информации;

. два стоповых біта — единицы.

2.1.3 Розробка схеми підключення микроконтроллера.

При поєднанні інтерфейсу RS-232 зі входами послідовного інтерфейсу микроконтроллера MCS-51, необхідно забезпечити узгодження рівнів сигналів. Стандартний рівень сигналів RS-232C — +12 і -12 У. Стандартний рівень сигналів асинхронного інтерфейсу микроконтроллера MCS- 51 — +5 В.

Залежно від вимог, що висуваються до проектованої схемою, перетворювачі рівнів сигналів може бути виконано різними способами.

Приймачі і передавачі виконані на дискретних елементах мають низку недостатков:

. великі массогабаритные характеристики;

. висока споживана мощность;

. недостатня надежность;

. потреба у додаткових джерелах питания;

. стоимость.

Рис. 1. Схема підключення микроконтроллера MCS-51 фірми Intel до портів персонального компьютера.

За таких міркувань, в організацію поєднання рівнів портів ПК і микроконтроллера можна скористатися мікросхемою ADM202 фірми Analog Devices. Ця мікросхема дозволяє узгодити рівні сигналів, не вимагаючи додаткові джерела харчування [4].

Микроконтроллер приймає дані через вхід приймача (висновок P3.0), а передає дані через вихід передавача (висновок P3.1). Микроконтроллер може заборонити прийом даних із ПК з допомогою сигналів виведенні Р2.6. Це необхідне сигналізації ПК про зарахування хибних даних. Натомість ПК може заборонити передачу даних із микроконтроллера з допомогою сигналів на виведення Р2.7.

2.1.4 Вибір джерела питания.

Залежно від місця установки, джерелом харчування може бути або блок харчування ПК, або окремий блок харчування, спеціально готовий до даної установки. У зв’язку з тим, що цю установку планується витратити в комп’ютерному класі, найоптимальнішим є використання блоку харчування ПК. Напруга джерела харчування +5V, необхідне лабораторної установки, можна взяти із зовнішнього розняття клавіатури. Підключення контактів цього розняття представлене малюнку 2.

Рис. 2. Розняття клавіатури персонального компьютера.

Реалізація підключення зажадає виготовлення спеціального перехідного кабелю, що до складу лабораторної установки.

2.2 Підключення зовнішньої пам’яті программ.

Як зазначалося раніше, в організацію обміну інформацією між ПК і микроконтроллером доцільно використовувати як зовнішньої пам’яті програм ОЗУ. ОЗУ дозволить швидко й багато разів перепрограмувати микроконтроллер, що дозволить використовувати як отладочный модуль, чи як часто перепрограммируемое пристрій управління (наприклад, для управління різними лабораторними установками).

Як мікросхеми ОЗУ можна використовувати мікросхему КР537РУ8. Обсяг пам’яті даної мікросхеми становить 2К. У зв’язку з тим, що це установка планується як УМК знає «Мікропроцесори», то цього обсягу пам’яті цілком достатньо розміщення програми користувача, т.к. програми, реалізовані у процесі лабораторних робіт, зазвичай не перевищують 100 команд. Обсяг таких програм вбирається у 300 байт.

При записи програми користувача на згадку про програм, звернення до ОЗУ здійснюється, як до пам’яті даних. Під час роботи програми, як до пам’яті программ.

Рис. 3. Схема підключення зовнішньої пам’яті програм до микроконтроллеру.

Така організація пам’яті програм дозволить користувачеві зробити програму гнучкішою. Під час роботи програми можна буде потрапити без особливого праці змінювати значення змінних, жорстко — зашитих в программе.

2.3 Програмне поєднання микроконтроллера і ПК.

2.3.1 Початкова установка MCS-51.

Ініціалізація (скидання) мікросхеми здійснюється подачею сигналу RST (високий рівень напруги) при підключеному кварці. Вхід RST — внутрішній тригер Шмідта. Стан RST перевіряється в фазі S5P2 кожного машинного циклу. Поки рівень RST високий, ALE і PME теж мають високий рівень. Їх установка відбувається після установки «0» на RST. Внутрішній алгоритм при подачі сигналу «СКИДАННЯ» виробляє такі действия:

V встановлює лічильник команд і всі регістри спеціальних функцій, крім портів — засувок Р0 — Р3, покажчика стека і регістру SBUF в ноль;

V покажчик стека приймає значення однакову 07Н;

V забороняє все джерела переривань, роботу таймерів — лічильників й послідовнішого порта;

V вибирає БАНК 0 пам’яті даних, підготовляє порти Р0 — Р3 прийому даних, і визначає висновки ALE і PME, як входи для зовнішньої синхронизации;

V в регістрах спеціальних функцій PCON, IP і IE резервні біти приймають випадкові значения;

V встановлює фіксатори — засувки портів Р0 — Р3 в «1».

Сигнал RST впливає на внутрішню пам’ять даних микроконтроллера. Після включення харчування вміст осередків внутрішньої пам’яті даних приймає випадкові значения.

2.3.2 Програмне забезпечення організації обміну інформацією між МК і ПК.

2.3.2.1 Програма «Монитор».

Як зазначалося, програмне забезпечення організації обміну інформацією між микроконтроллером і ПК має обеспечивать:

. запис програми користувача на згадку про програм МК;

. запис інформацією програмно — доступні вузли МК;

. читання інформації з пам’яті програм МК;

. читання інформації з програмно — доступних вузлів МК;

. запуск програми користувача як реального времени;

. запуск програми користувача в пошаговом режиме.

Всі ці функції виконує програм «Монитор».

На початку роботи програми «Монітор» відбувається початкова установка. Цю установка має зробити такі действия:

V вибрати БАНК 2 пам’яті даних микроконтроллера, для зберігання тимчасових змінних, необхідні роботи програми «Монитор»;

V встановити значення управляючого біта SMOD в регістрі спеціальних функцій в 1;

V видати повідомлення ПК початок роботи програми «Монитор».

Рис. 4. Алгоритм програми «Монитор».

Програма «Монітор» приймає від ПК код виконуваної операції, декодує його й запускає відповідну подпрограмму.

Підпрограма вживання байта даних очікує приходу інформації, перевіряє правильність даних, і заносить ухвалений байт в регістр R0. Якщо дані було прийнято неправильно, то підпрограма вживання байта даних заносить в регістр R4 нульовий значение.

Що стосується неправильно прийнятого коду операції микроконтроллер пропонує ПК повторно передати команду.

Рис. 5. Алгоритм декодування коду операції у програмі «Монитор».

По виконанні обраної підпрограми, програма «Монітор» знову переходить режиму очікування чергового коду операции.

Алгоритм вибору підпрограми показаний малюнку 5.

У конкурсній програмі «Монітор» зарезервовані такі коди операцій: o 01h — підпрограма 1 — підпрограма запуску програми користувача як реального часу; o 02h — підпрограма 2 — підпрограма запуску програми користувача в пошаговом режимі; o 03h — підпрограма 3 — підпрограма записи програми користувача на згадку про програм МК; o 04h — підпрограма 4 — підпрограма записи інформацією програмно — доступні вузли МК; o 05h — підпрограма 5 — підпрограма читання з пам’яті програм МК; o 06h — підпрограма 6 — підпрограма читання програмно — доступних вузлів МК; o інші - підпрограма 7 — зарезервовані коди операцій для запуску підпрограм пользователя.

2.3.2.2 Підпрограма запуску програми користувача як реального времени.

Перед запуском програми користувача, микроконтроллер приймає з ПК адресу початку програми розвитку й зберігає їх у регістрі DPTR.

Для прийому адреси використовується підпрограма прийому двох байтів информации.

Алгоритм запуску програми користувача як реального часу представлений малюнку 6.

Рис. 6. Алгоритм запуску програми користувача як реального времени.

Рис. 7. Алгоритм програми прийому двох байтів информации.

Для прийому байта інформації, підпрограма використовує алгоритм прийому одного байта даних. Помилка прийому перевіряється по вмісту регістру R4.

Значення першого прийнятого байта зберігається у регістрі DPL.

Прийом другого байта адреси програми користувача з ПК аналогічний прийому першого байта, з тією різницею, що його значення зберігається у регістрі DPH.

У разі помилки підпрограма завершує своєї роботи, залишаючи без зміни вміст регістру R4.

Підпрограма запуску програми користувача як реального часу перевіряє правильність прийняття адреси по регістру R4. Що стосується виникнення помилки передає в ПК код 0Fh. Після цього повертається у програму «Монитор».

Безпосередньо перед запуском програми користувача необхідно змінити робочий БАНК пам’яті даних МК на БАНК 0.

Алгоритм програми прийому двох байтів інформації представлений малюнку 7.

2.3.2.3 Підпрограма запуску програми користувача в пошаговом режиме.

На етапі налагодження прикладної програми дуже зручним для розробника виявляється режим покрокового (покомандного) виконання програм. Цей режим то можна організувати, використовуючи систему переривань микроконтроллера.

Зовнішній запит переривання нічого очікувати обслужен до того часу, поки обслуговується переривання з однаковим пріоритетом. Цей запит буде сприйнятий лише по тому, як буде виконано одна команда після команди повернення з підпрограми. Інакше кажучи, якось викликавши підпрограму обслуговування переривання, викликати її знову неможливо до того часу, поки що хоча тільки команда програми нічого очікувати исполнена.

Для використання цього властивості системи переривань микроконтроллера можна запрограмувати одна з зовнішніх переривань (наприклад, INT0) на обслуговування покрокового режиму работы.

Рис. 8. Апаратна реалізація покрокового режиму виконання програми пользователя.

При цього режиму можна скористатися двома способами:

V На висновок INT0 подавати сигнал від кнопки «КРОК», і микроконтроллер за сигналом INT0=0 викликає підпрограму обслуговування зовнішнього прерывания.

V Передбачити можливість програмного зміни стану рівня сигналу виведенні INT0, використовуючи одне із вільних висновків порту Р2.

Другий спосіб є найзручнішим, т.к. дозволяє організувати пошаговый режим безпосередньо на ПК. З іншого боку перший шлях вимагає великих матеріальних вкладень усунення дребезга контактів від кнопки «ШАГ».

Потому, як адресу програми користувача буде він перевірений, підпрограма видасть активний сигнал на вхід P3.2. У цій сигналу микроконтроллер піде на режим обробки переривання INT0. Доти, як буде виконав першу команда у програмі користувача, основна програма має виконати дві команди (виставити сигнал INT0=0 і запустити програму користувача). Тож у подпрограмме обробки переривання необхідний лічильник пропущених кроків. Цей лічильник можна використовувати для виконання блоку команд як покрокового виконання програми пользователя.

Алгоритм запуску програми користувача в пошаговом режимі представлений малюнку 9.

Рис. 9. Алгоритм виконання програми користувача в пошаговом режиме.

Підпрограма обробки переривання INT0 аналогічна програмі «Монітор». На початку програми виконується початкова установка: o зберігається вміст акумулятора, слова стану програми розвитку й регістру DPTR в стеці; o встановлюється БАНК 2, активним банк пам’яті даних микроконтроллера; o в регістр R4 записується кількість допустимих ошибок.

По виконанні початкової установки, микроконтроллер перевіряє вміст регістру R3. Цей регістр виконує роль лічильника пропущених кроків програми. Якщо лічильник не нульовий, то підпрограма відновлює вміст акумулятора, слова стану програми, DPTR і виходить із режиму обробки переривання, до виконання такого кроку програми пользователя.

Алгоритм програми обробки переривання INT0 показаний малюнку 10.

Рис. 10. Алгоритм програми обробки переривання INT0.

Якщо лічильник дорівнював нулю, тоді микроконтроллер перетворюється на режим прийому коду операції від ПК.

Алгоритм дешифрации коду операції у програмі обробки переривання INT0 аналогічний алгоритму дешифрации коду операції у програмі «Монітор». Тут передбачені такі коди операцій: o 01h — читання пам’яті програм МК; o 02h — запис інформацією програмно — доступні вузли МК; o 03h — запис на згадку про програм МК; o 04h — видача коду наступній команди; o 05h — виконання блоку команд програми користувача; o 06h — виконання програми як реального часу; o 07h — громовідвід програми; o 08h — виконання такого кроку програми; o інші - виконання програм пользователя.

Більшість підпрограм, выбираемых користувачем в пошаговом режимі, аналогічна підпрограмам, обираним у програмі «Монитор».

Якщо значення регістру R5, на виході з підпрограми буде нульовим, він виконано наступний крок основний программы.

На виконання зупинки програми, досить перевести стан сигналу не вдома P2.5 в нульовий стан й у стеці підмінити адресу наступній команди на адресу початку програми «Монитор».

Щоб перевести програму користувача з покрокового режиму, на виконання програми як реального часу необхідно встановити стан сигналу P2.5 в нульовий состояние.

Алгоритм декодування коду операції представлений малюнку 11.

Рис. 11. Алгоритм декодування коду операції в пошаговом режимі роботи програми пользователя.

Для видачі коду наступній команди треба вважати 3 байта інформації з пам’яті програм. Початковий адресу наступній команди можна узяти з покажчика стека.

2.3.2.4 Підпрограма записи програми користувача на згадку про програм микроконтроллера.

На початку роботи підпрограма приймає кількість переданих байтів з ПК. І тому використовується підпрограма прийому двох байтів інформації. Після цього її виконання дані слід змістити в лічильник кількості прийнятих байтів. Функцію лічильника виконують регістри R1 і R2.

Алгоритм записи програми користувача на згадку про програм микроконтроллера представлений малюнку 12.

Рис. 12. Алгоритм підпрограми записи програми користувача у пам’яті програм микроконтроллера.

Потому, як збільшується кількість прийнятих байтів приймуть, необхідно ухвалити адресу вершини прийнятого масиву информации.

Після цього, стає можливим прийом самої програми користувача і запис їх у пам’ять програм микроконтроллера.

Алгоритм прийому даних представлений малюнку 13.

Рис. 13. Алгоритм прийому даних в подпрограмме записи програми користувача на згадку про МК.

Адреса наступного байта програми міститься у регістрі DPTR. Після кожного прийнятого байта даних процедура перевіряє правильність завершення підпрограми вживання байта даних, записує його за адресою, зазначеному в регістрі DPTR, збільшує значення цієї регістру зменшує лічильник прийнятих байтов.

Після цього процедура перевіряє лічильник прийнятих байтів програми користувача у разі його скасування, завершує процес прийняття данных.

2.3.2.5 Підпрограма записи інформацією програмно — доступні вузли микроконтроллера.

Підпрограма записи інформацією програмно — доступні вузли микроконтроллера аналогічна процедурі записи програми користувача. Різниця у тому, що з записи інформацією програмно — доступні вузли використовується однобайтовая адресація, а під час запису на згадку про програм використовується двухбайтовая адресация.

Алгоритм записи інформацією програмно — доступні вузли микроконтроллера представлений малюнку 14.

Рис. 14. Алгоритм записи інформацією програмно — доступні вузли микроконтроллера.

Адреса прийнятих даних перебуває у регістрі R1.

2.3.2.6 Підпрограма читання з пам’яті програм микроконтроллера.

Пам’ять програм микроконтроллера має ємність в 2К байт. Під час читання пам’яті програм микроконтроллера в ПК необхідно передати всі 2К даних. Для звернення до пам’яті програм микроконтроллера, необхідно мати два байта адреса.

Як покажчика адреси осередки пам’яті, підлягає передачі у ПК, і лічильника переданих байтів даних використовується регістр DPTR. Для пересилки байта інформацією МК використовується підпрограма видачі одного байта данных.

Задля реалізації цієї процедури необхідно, щоб байт даних, підлягає видачі в ПК, був у аккумуляторе.

Алгоритм підпрограми читання з пам’яті програм микроконтроллера представлений малюнку 15.

Рис. 15. Алгоритм підпрограми читання пам’яті програм микроконтроллера.

Після видачі кожного байта інформації, процедура перевіряє правильність переданої информации.

Максимальний адресу пам’яті програм микроконтроллера — 07FFh.

2.3.2.7 Підпрограма читання інформації програмно — доступних вузлів микроконтроллера.

Ця підпрограма аналогічна процедурі читання пам’яті програм микроконтроллера. Різниця у тому, що з адресації до програмно — доступним вузлам МК необхідний однобайтовый адресу, а звернення до пам’яті програм — двухбайтовый.

Алгоритм підпрограми читання з програмно — доступних вузлів микроконтроллера представлений малюнку 16.

Рис. 16. Алгоритм підпрограми читання з програмно — доступних вузлів микроконтроллера.

Як лічильника і покажчика адреси переданих даних використовується регістр R1. Максимально припустимий адресу — FFh.

2.3.2.8 Підпрограма видачі помилки у ПК.

Як коду помилки обраний код 0Fh.

Процедура видачі помилки використовує підпрограму видачі одного байта. Тому, перед процедури, код помилки необхідно розмістити у аккумулятор.

У зв’язку з тим, що з сигналізації помилки все процедури використовують регістр R4, перед запуском підпрограми видачі одного байта даних вміст регістру R4 необхідно зберегти. З цією метою використовується регістр R7.

Перед завершенням підпрограми значення регістру R4 необхідно восстановить.

Алгоритм підпрограми видачі помилки представлений малюнку 17.

Рис. 17. Алгоритм підпрограми видачі помилки у ПК.

2.3.2.9 Підпрограма видачі одного байта информации.

Алгоритм підпрограми видачі одного байта інформацією ПК представлений малюнку 18.

Рис. 18. Алгоритм підпрограми видачі одного байта інформацією ПК.

Підпрограма передає дані перебувають у акумуляторі в послідовний порт виведення. На початку роботи процедура переносить біт парності в буфер послідовного порту, задає значення лічильників помилок в очікуванні, і очікує, поки буфер порту буде вільний. Щойно послідовний порт буде готовий піти на пересилання інформації, програма почне перевіряти готовність ПК до прийому данных.

Якщо ПК я не готовий до прийому інформації довгий час, то процедура завершить своєї роботи з занесенням в регістр R4 коду 00h, який символізує помилку передачі данных.

Щойно ПК готовий до прийому даних підпрограма передасть вміст акумулятора в послідовний порт. Почекає, поки порт не буде готовий піти на передачі наступного байта даних, і запустить підпрограму затримки, у тому, щоб ПК встиг перевірити передану інформації і, в разі помилки, видав б запит на повторну передачу данных.

Якщо ПК виставить сигнал помилки переданої інформації, підпрограма намагатиметься передати інформацію вкотре. Цей процес відбувається буде повторюватися, до того часу, доки обнулится лічильник ошибок.

Якщо лічильник помилок дорівнюватиме нулю, процедура завершить своєї роботи з ошибкой.

Як сигналу готовності ПК, і сигналу помилки переданої інформації використовується сигнал на вході P2.7.

2.3.2.10 Підпрограма вживання байта информации.

На початку роботи, підпрограма задає лічильник помилок, лічильник тактів очікування й дозволяє передачу інформації з ПК в микроконтроллер.

Після цього підпрограма очікує прийому інформації, перевіряє її й, якщо ці прийнято вірно, зберігає результат в регістрі R0.

У разі помилок, микроконтроллер передає в ПК повідомлення про помилку й уряд пропонує повторити передачу.

Алгоритм підпрограми вживання байта інформації представлений малюнку 19.

Рис. 19. Алгоритм підпрограми вживання байта информации.

Що стосується багаторазового повторення помилок, підпрограма завершує свою роботи й виставляє в регістрі R4 код 00h, котрий символізує хибність прийнятих данных.

Якщо від ПК довгий час нічого очікувати передано інформація, підпрограма також завершить діяти і виставить в регістрі R4 код 00h, котрий символізує хибність прийнятих данных.

Як лічильника часу очікування використовується регістр R6.

ЗАКЛЮЧЕНИЕ

.

Діяльність було розглянуто організація обміну інформацією між персональним комп’ютером і микроконтроллером сімейства MCS-51 фірми Intel. Було розроблено, лише на рівні структурної схеми, апаратна частина поєднання микроконтроллера з портами самого персонального комп’ютера, і навіть схема підключення зовнішньої пам’яті програм до микроконтроллеру. Розроблено, на рівні алгоритмів, програмне забезпечення микроконтроллера.

За підсумками зробленого можна створити установку, що дозволить автоматизувати процес програмування микроконтроллерной системи. Цю установку можна використовувати як лабораторної установки для вивчення курсу «Мікропроцесори» і як программируемого управляючого елемента складнішою системи. СПИСОК ИСПОЛЬЗОВАНОЙ ЛИТЕРАТУРЫ.

1. «Однокристальные микроЭВМ» довідник / Бобрыкин А. В., Липовецкий.

Г. П. та інших. / Москва / 1994 г.

2. «Проектування цифрових пристроїв на однокристальных микроконтроллерах» / Сташин В. В., Урусов А. В., Мологонцева О. Х. /.

Москва, «Энергоатомиздат» / 1990 г.

3. «Лабораторна розпорядження про базі микроконтроллера MCS-51 за курсом мікропроцесори і мікропроцесорні системи» робота на здобуття академічної ступеня бакалавра / Баринов Р. / Рига, РАУ / 1998 г.

4. «1996 IC Master for Windows» / компакт диск / © Copyright Heart business puplishinc.

5. «STANDART IBM PC. Пристрій, установка, технічне обслуговування може й ремонт самого персонального комп’ютера» довідник / Кишинів / 1991 г.

6. «Модеми і факс-модемы. Програмування для MS-DOS і Windows» /.

А.В. Фролов, Г. В. Фролов / Москва / «Диалог-Мифи» / 1995 г.

ПРИЛОЖЕНИЯ.

Додаток 1.

Точні значення кварцев.

|Кратність |Швидкість передачі |Частота кварцу (МГц) | | |(Кбод) | | | | |SMOD=0 (1/64) |SMOD=1 (1/32) | |1 |115,2 |7,3728 |3,6864 | |2 |57,6 |3,6864 |1,8432 | |3 |38,4 |2,4576 |1,2288 | |4 |28,8 |1,8432 |0,9216 | |5 |23,04 |1,4746 |0,73 728 | |6 |19,2 |1,2288 |0,6144 | |7 |16,457 142 |1,53 257 |0,526 628 | |8 |14,4 |0,9216 |0,4608 | |9 |12,8 |0,8192 |0,4096 | |10 |11,52 |0,73 728 |0,36 864 | |12 |9,2 |0,6144 |0,3072 |.

Приложение 2.

Можливі значення кварцев.

SMOD=0 |Кратність |Швидкість передачі |Частота кварцу (МГц) | | |(Кбод) | | | | |SMOD=0 (1/64) |SMOD=1 (1/32) | |1 |115,2 |7,366 503 |7,378 725 | |2 |57,6 |3,673 807 |3,698 251 | |3 |38,4 |2,438 711 |2,475 377 | |4 |28,8 |1,818 014 |1,866 903 | |5 |23,04 |1,443 078 |1,504 189 | |6 |19,2 |1,191 022 |1,264 355 | |7 |16,457 142 |1,9 183 |1,94 738 | |8 |14,4 |0,871 229 |0,969 007 | |9 |12,8 |0,762 533 |0,872 533 | |10 |11,52 |0,674 317 |0,796 539 | |12 |9,2 |0,538 844 |0,685 511 |.

SMOD=1 |Кратність |Швидкість передачі |Частота кварцу (МГц) | | |(Кбод) | | | | |SMOD=0 (1/64) |SMOD=1 (1/32) | |1 |115,2 |3,683 252 |3,689 363 | |2 |57,6 |1,836 904 |1,849 126 | |3 |38,4 |1,219 356 |1,237 689 | |4 |28,8 |0,909 007 |0,933 452 | |5 |23,04 |0,721 539 |0,752 095 | |6 |19,2 |0,595 511 |0,632 178 | |7 |16,457 142 |0,504 592 |0,547 369 | |8 |14,4 |0,435 615 |0,484 504 | |9 |12,8 |0,381 267 |0,436 267 | |10 |11,52 |0,337 159 |0,398 270 | |12 |9,2 |0,269 422 |0,342 756 |.

———————————;

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

[pic].

Показати весь текст
Заповнити форму поточною роботою