23. Опишіть особливості та наведіть основні характеристики інтегральної схеми КР572ПА1.
2. СТРУКТУРА, ПРИЗНАЧЕННЯ ТА ВЗАЄМОДІЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ УНМС-2 Призначення програмиСистемна програма MONITOR функціонує на універсальній керуючій мікроконтролерній системі УНМС-2, побудованої на основі однокристального мікроконтролера AT89S8252 сімейства MCS-51.
Програма MONITOR виконує наступні функції:
− ініціалізація УУМС-2;
− стартова перевірка елементів індикації УУМС-2;
− завантаження двійкового файлу здійсненних кодів функціональної програми користувача на згадку програм універсальної керуючої мікроконтролерній системи УУМС-2 через послідовний інтерфейс у стандарті RS-232;
− запуск функціональної програми користувача, завантаженої на згадку програм УУМС-2.
Розміщення програмиЗдійсненний код системної програми MONITOR розміщається у внутрішній (резидентної) пам'яті програм основного мікроконтролера AT89S8252. Ця область пам'яті фізично реалізована як Flash-пам'ять. Програма MONITOR займає адресну область із 0000h до 0A3Fh, тобто 2624 байта. Інша частина резидентної пам'яті програм мікроконтролера (до 8192 байт) вільна й не використається.
При поставці УУМС-2 штатна версія програми MONITOR уже розміщена в Flash-пам'яті основного мікроконтролера AT89S8252, а файл із вихідним кодом програми входить у комплект поставки.
Функціональний составСистемна програма MONITOR складається з наступних блоків:
− штатна таблиця векторів переходу по перериваннях;
− блок ініціалізації апаратних ресурсів УУМС-2 (портів, таймерів, переривань);
− блок тестування елементів індикації УУМС-2;
− блок завантаження програми користувача (у т.ч. процедура прийому байтів програми користувача й розміщення в зовнішній пам'яті);
− блок активізації функціональної програми користувача;
− блок підпрограм формування затримок;
− блок підпрограм формування даних у двоїчно-десятковому впакованому форматі для відображення на семисегментних індикаторах;
− блок підпрограм виконання базових арифметичних операцій (додавання, вирахування, множення, розподіл) над даними, представленими в п'ятьох форматах: ціле однобайтове беззнакове, ціле однобайтове зі знаком, ціле двухбайтове беззнакове, ціле двухбайтове зі знаком, формат із плаваючою крапкою (два байти мантиси зі знаком, байт зі зміщеним порядком);
− блок підпрограм перетворення форматів даних (із целочисленого формату у формат із плаваючою крапкою й назад);
− блок підпрограм для відображення целочислених даних (без знака й зі знаком) на семисегментних індикаторах.
Штатна таблиця векторів переходу по перериваннях
У цьому блоці реалізовані переходи на елементи таблиці векторів у програмі користувача. Для переходів використані адреси, що відрізняються від штатних на 2000h. Наприклад, по перериванню від таймера 0 (штатний вектор розташований за адресою 000Bh) заданий перехід на адресу 200Bh. По перериванню від послідовного порту UART (штатний вектор розташований за адресою 0023h) виробляється перевірка ознаки активності програми користувача UP_ACT. Якщо UP_ACT=0, то в цей момент виконується програма MONITOR, і, відповідно, відбувається перехід на підпрограму UAPP_M? розташовану в MONITOR-і. Якщо UP_ACT=1, тобто виконується програма користувача, то робиться перехід на адресу 2023h, тобто на вектор обробки переривання в програмі користувача.
Блок ініціалізації апаратних ресурсів
У цьому блоці виробляється установка режимів роботи паралельних і послідовних портів, таймерів і системи обробки переривань основного мікроконтролера AT89S8252. Установлювані режими представлені в табл. 2.1. Інформація представлена в порядку завдання відповідних настроювань у вихідному тексті програми MONITOR. Для забезпечення універсальності всі коментарі у вихідному тексті програми виконані англійською мовою.
Таблиця 2.1 – Режимів роботи паралельних і послідовних портів, таймерів і системи обробки переривань
Апаратний блок або ресурс мікроконтролера | Установлювані режими |
Вибір активного банку регістрів | Активний банк 0 |
Стік | Дно стека – 70h, розмір стека – 16 байт, максимальна адреса вершини – 7Fh |
Ознака активності програми користувача (UP_ACT) | Ознака скинута (UP_ACT = 0), тому що виконується програма MONITOR |
Послідовний порт | 9-ти бітова посилка (8 біт даних, біт контролю парності); швидкість передачі задається програмно; посилки, у яких 9-й біт дорівнює нулю, не ігноруються |
Таймери | Таймери 0 й 1 настроєні на режим 2 (8-розрядний рахунковий регістр із автоперезавантаженням стартового числа). В MONITOR-і використається тільки таймер 1. Стартове число дорівнює 253 для забезпечення швидкості передачі 9600 біт/с. Значення біта SMOD - 0. Режим для таймера 2 не задається Таймер 1 - включений |
Система обробки переривань | Високий пріоритет переривання від послідовного порту UART. Дозволено переривання від послідовного порту UART |
Лінія P3.5 порту P3 – прийом сигналу від кнопки ПУСК про перехід на програму користувача | Лінія настроєна на уведення інформації |
Мікросхема портів К580ВВ55 | Всі порти (А,У и С) настроєні на уведення |
Порт P2 | Записано старшу частину адреси блоку адрес, по яких розміщені порти зовнішніх пристроїв УНМС-2 (індикація, елементи вводу-виводу) |
Блок тестування елементів індикації УНМС-2
У цьому блоці виконується тестування лінійки світодіодів, блоку семисегментних індикаторів і ЖК-дисплея.
Тестування виробляється тільки при включенні живлення УНМС-2. При натисканні кнопки СКИДАННЯ для перезавантаження системи тестування не виконується.
У ході тестування виробляється включення й відключення названих елементів індикації й користувач повинен візуально проконтролювати відображення певних даних. Порядок тестування наступний:
− відбувається очищення ЖК-дисплея;
− на лінійці світодіодів чотири рази по черзі запалюються й гаснуть ліва й права половини лінійки з інтервалом 0,4з;
− семисегментні індикатори чотири рази відображають число -8888 за схемою: включення на 0,4з - гасіння на 0,4з;
− у кожній позиції ЖК-дисплея одночасно відображається число 8 і показується протягом 2с., після чого ЖК-дисплей очищається.
Блок завантаження програми користувача
Після завершення тестування елементів індикації УНМС-2 переходить у режим завантаження програми користувача (т.зв. системний режим).
При виконанні цього блоку на лінійці світодіодів відображається "вогонь, що біжить" (час перемикання близько 0,4 с).
Коли черговий байт програми користувача переданий з ПЭВМ й отриманий послідовним портом ПЭВМ, формується апаратне переривання й викликається підпрограма його обробки (UAPP_M), у якій прийнятий байт листується з буфера послідовного порту в черговий осередок зовнішньої пам'яті, а також відображається на семисегментних індикаторах як 16-ричное число.
Також у блоці завантаження виробляється циклічно перевірка стану кнопки ПУСК (апаратний сигнал фіксується в біті M_UP). Перевірка виробляється, поки біт не прийме значення "0".
Програма користувача розміщається в зовнішній пам'яті програм УНМС-2, що фізично реалізована як ОЗУ. При роботі MONITOR-а ця область сприймається мікроконтролером як пам'ять даних.
Блок активізації функціональної програми користувача
Даний блок є останнім перед початком виконання програми користувача.
Перехід до цього блоку від попередні відбувається тільки при натисканні кнопки ПУСК (біт M_UP приймає значення "0").
У цьому блоці виконується чотириразове включення й вимикання лінійки світодіодів з періодом 0,8 з, а також наступні дії:
− виконується гасіння семисегментних індикаторів;
− зупиняється таймер 1, таким чином послідовний порт вимикається;
− установлюється в "1" ознаку активності програми користувача UP_ACT;
− активізується 1-й банк регістрів;
− виконується перехід на програму користувача за адресою 2000h.
Інші блоки програми MONITOR містять службові підпрограми, які частково використаються в самому MONITOR-і й можуть без обмежень викликатися в програмі користувача (див. табл. П1).
Після натискання кнопки ПУСК область ОЗУ, у якій була розміщена програма користувача, сприймається мікроконтролером як пам'ять програм, і користувач не може виконувати запис у цю область.
Порядок виконання програми MONITOR на УНМС-2
Оскільки програма MONITOR є системною й записана у внутрішню пам'ять програм основного мікроконтролера з адреси 0000h, те при включенні живлення завжди виконуються команди цієї програми.
Порядок й умови виконання основних блоків програми MONITOR представлені в табл.2.2.
Таблиця 2.2 – Порядок й умови виконання основних блоків програми MONITOR
Порядок виконання | Виконуваний блок | Умови виконання |
1 | Команда стартового переходу на блок ініціалізації | Включення живлення УНМС-2 або рестарт системи при натисканні кнопки СКИДАННЯ |
– | Штатна таблиця векторів переходу по перериваннях | При виникненні відповідних переривань. В MONITOR-і використається тільки переривання від послідовного порту UART |
2 | Блок ініціалізації апаратних ресурсів УНМС-2 | Включення живлення або рестарт системи при натисканні кнопки СКИДАННЯ |
3 | Блок тестування елементів індикації УНМС-2 | Однократно тільки при включенні живлення УНМС-2 |
4 | Блок завантаження програми користувача в зовнішню пам'ять УНМС-2 | Завершення блоку 2 (і 3 при включенні живлення). Виконується до натискання кнопки ПУСК |
У рамках 4 | Процедура прийому байтів програми користувача й розміщення в зовнішній пам'яті | Сигнал переривання від послідовного порту UART у випадку прийому байта від ПЕОМ. |
5 | Блок активізації функціональної програми користувача | Натискання кнопки ПУСК |
Взаємодія із програмою користувача
Використання службових підпрограм MONITOR-а
Всі підпрограми, реалізовані в системній програмі MONITOR, доступні для виклику із програми користувача. Таблиця П1 з інформацією про розміщення, функції й параметри підпрограм представлена в додатку.
Для виклику службової підпрограми в програмі користувача потрібно оголосити ім'я (необов'язково співпадаюче з наведеним у табл. П1) і зв'язати його з адресою розміщення потрібної підпрограми.
Наприклад, для відображення 16-ричного значення в одній позиції семисегментного індикатора можна скористатися підпрограмою SSI_1p, розташованої за адресою 0900h. Для цього в програмі користувача потрібно зв'язати довільне ім'я із зазначеною адресою, а потім використати це ім'я як адреса виклику.
Дана підпрограма очікує а акумуляторі значення числа для відображення, а в регістрі DPTR - системна адреса необхідної позиції індикатора.
Використання системних переривань
У програмі користувача може бути реалізований повний доступ до системи переривань основного мікроконтролера AT89S8252. Штатна (підтримувана апаратно) таблиця векторів переривань реалізована в MONITOR-і по адресах 0003h, 000Bh, ... 002Bh. Ці вектора являють собою команди переходу на відповідні елементи таблиці векторів, розташовуваної в програмі користувача.
Оскільки програма користувача завжди повинна починатися з адреси 2000h, така структура таблиці векторів практично ідентична стандартної (зі зсувом 2000h).
Природно, у програмі користувача можуть бути оголошені тільки ті вектора переходу, які потрібні в конкретному завданні.
Модифікація й завантаження програми MONITOR
Зміна програми MONITOR рекомендується робити тільки у випадку гострої потреби.
Здійсненний код системної програми MONITOR розміщається у внутрішній (резидентної) пам'яті програм основного мікроконтролера AT89S8252, що технологічно реалізована як Flash-пам'ять.
При поставці УНМС-2 штатна версія програми MONITOR уже розміщена в Flash-пам'яті основного мікроконтролера AT89S8252, а файл із вихідним кодом програми входить у комплект поставки. При необхідності текст програми MONITOR може бути змінений кваліфікованим персоналом.
Після компіляції вихідного тексту програми повинен бути отриманий HEX-файл (для цього можна скористатися середовищем розробки INFO8051, що поставляється).
Для завантаження HEX-файлу програми MONITOR на згадку основного мікроконтролера потрібно виконати наступні дії:
1. Виключити живлення УНМС-2.
2. Від’єднати верхню прозору панель корпуса УНМС-2, вивернувши шурупи по краях панелі. Потрібно дотримувати акуратності, тому що на панелі перебувають перемикачі для подачі дискретних сигналів зі сполучним шлейфом.
3. Сполучний кабель інтерфейсу SPI-51 (рознімання DB-25 маркіроване LPT, на другому кінці кабелю - технологічна розетка чорних кольорів з маркуванням SPI-51) підключити до LPT-порту ПЭВМ і технологічній вилці, розташованої ліворуч від основного мікроконтролера.
4. Включити живлення УНМС-2 і дочекатися закінчення стартового тесту й переходу в режим очікування програми користувача.
5. На ПЭВМ запустити програму AEC_ISP.exe.
6. У меню програми AEC_ISP вибрати пункт Load HEX-file і вказати ім'я потрібного файлу.
7. Вибрати пункт Program і простежити, щоб процес завантаження програми MONITOR і верифікації вмісту Flash-пам'яті мікроконтролера відбувся без збоїв.
8. Вибрати пункт Reset і перемкнути стан сигналу в Low.
9. Вибрати пункт Quit і завершити роботу із програмою AEC_ISP.
10. Нажати кнопку Скидання на верхній панелі УНМС-2. Система готова до роботи з новою програмою MONITOR.
11. Виключити живлення УНМС-2.
12. Від’єднати кабель інтерфейсу SPI-51 від УНМС і від ПЭВМ.
13. Установити на місце верхню панель корпуса УНМС і закрутити шурупи. При установці верхньої панелі потрібно дотримувати акуратності, тому що на панелі перебувають перемикачі для подачі дискретних сигналів зі сполучним шлейфом.
14. Включити живлення УНМС-2.
4. ЗВ'ЯЗОК ПК З УНМС-2. ПРОЦЕС НАБОРУ, НАЛАГОДЖЕННЯ ТА ВИКОНАННЯ ПРОГРАМ КОРИСТУВАЧА
4.1 Інтегроване середовище програмування INFO8051
ИСП-51 служить для автоматизації процесу розробки й налагодження програмного забезпечення, розроблювального для мікроконтролерів серії MCS-51 (базової моделі ВЕ51, модифікацій ВЕ751, ВЕ31) і інтеграції всіх етапів розробки в рамках єдиного програмного продукту. Пакет працює під керуванням MS-DOS.
ИСП містить у собі текстовий редактор, компілятор з мови Асемблер МК51 і повноекранний відладчик на основі програмного емулятора виконання команд МК51 й імітатора ресурсів МК-системы. ИСП дозволяє також здійснювати натурне налагодження розроблювального ПО з використанням блоку ВСЭ, підключеного до ПЭВМ і прототипу створюваного цільового контролера.
При роботі з мікроконтролерним стендом ИСП використається для створення тексту прикладної програми, її компіляції й одержання файлу із двійковими кодами команд програми. Цей файл потім може бути завантажений на згадку МК-стенда й виконаний на реальній апаратурі. У деяких випадках можливе виконання автономного тестування фрагментів прикладної програми для МК-стенда засобами ИСП.
Запуск ИСП на виконання здійснюється через файл "asm.com".
... 4. Як графічно позначаються польові транзистори? Інструкційна картка №9 для самостійного опрацювання навчального матеріалу з дисципліни «Основи електроніки та мікропроцесорної техніки» І. Тема: 2 Електронні прилади 2.4 Електровакуумні та іонні прилади Мета: Формування потреби безперервного, самостійного поповнення знань; розвиток творчих здібностей та активізації розумово ...
... ії контурів управління Автоматична система управління дозування формаліна передбачає контролювання таких параметрів як Fстр. кількості постачаємої стружки в дифузійний апарат, є головним чинником який впливає на час подачі формаліна в дифузійну установку, рН дифузійного соку та Т температура середовища протікання процесу, ці показники відображають розвиток мікрофлори в дифузійному апараті та є ...
... для розв'язання особливо складних науково-технічних задач, оброблення великих обсягів даних у реальному масштабі часу, моделювання складних систем, автоматизованого проектування складних об'єктів, а також у системах керування (промислових і військових). Макет найпотужнішого суперкомп'ютера ES (Earth Simulator) Центра моделювання Землі (Earth Simulator Center) у Йокогамі (Японія) показаний рис. ...
... дзеркала над демонстраційною плитою протягом багатьох років з успіхом використовуються в кулінарних училищах. 2.2 Експериментальна перевірка ефективності застосування технічних засобів навчання у навчально-виховному процесі при вивченні дисципліни «Кулінарія» Для перевірки результативності засвоєння знань студентами Чернігівського комерційного технікуму з використанням на заняттях технічних ...
0 комментариев