2. СТРУКТУРА, ПРИЗНАЧЕННЯ ТА ВЗАЄМОДІЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ УНМС-2
Призначення програми
Системна программа MONITOR функціонує на універсальній керуючій мікроконтролерній Системі УНМС-2, побудованої на Основі однокристального мікроконтролера AT89S8252 сімейства MCS-51. p> Програма 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-й біт дорівнює нулю, що не ігноруються
таймером