напрям передачі для порту В, 1 - введення; c - те ж для молодшої половини порту С, 0 - висновок. Будемо використовувати керуюче слово 10000010. br/>
Блок інтерфейсу клавіатури ПККІ повинен працювати в режимі послідовного опитування клавіш з дешифруванням стану лічильника сканування і забороною одночасного натискання кількох клавіш - у режимі 1. Цей режим встановлюється шляхом завантаження керуючого слова виду 000хх001, де хх - слово стану блоку індикації. Так як в МП-модулі не передбачено наявність індикації, ці розряди керуючого слова не важливі і можуть приймати будь-які значення. p align="justify"> Після закінчення ініціалізації вузлів МП-модуль переходить в нормальний режим функціонування. Однак, згідно із завданням, введення і виведення інформації здійснюються за запитом на переривання, тобто, на даному етапі МП діє, очікуючи надходження запиту на переривання від зовнішніх пристроїв. Процесор переводиться в стан В«зупиненняВ». p align="justify"> З цього стану МП-модуль виходить при надходженні запиту на переривання, сформованого контролером клавіатури. У такому випадку, МП переходить до обробки програми введення даних. Лічені з ПККІ номер натиснутоюклавіші аналізується. Два номери закріплені за програмами обробки і друку введених даних. Нехай це будуть номери 64 і 63. br/>В
Малюнок 4.2 Алгоритм програми введення даних
В В В
Малюнок 4.7 Алгоритм процедури тестування ПЗУ
.2 Опис програми
Відомо, що першу команду МП К1810ВМ86 зчитує з осередку адреси з номерів FFFF0h. Проте до верхньої межі ПЗУ в такому випадку залишається лише 16 адрес. Цього недостатньо для розміщення ПО модуля, а тому розмістимо в пам'яті за адресою FFFF0h команду безумовного переходу на початок програми, складовою ПО МП-модуля. p align="justify"> Першої викликається процедура ініціалізації та тестування МП-модуля. У ній можна виділити кілька підпрограм: тест АЛУ, тест ПЗУ, тест ОЗУ і власне початкова ініціалізація МП-модуля. p align="justify"> Суматор АЛУ перевіряється шляхом порівняння результату виконання складання завантажених констант з відомим результатом. При цьому константи по черзі завантажуються в усі РОН, де над ними і виконуються операції додавання і порівняння. p align="justify"> Програма тестування ПЗУ обчислює контрольну суму значень всіх його осередків і порівнює її із заздалегідь відомим значенням.
Так як розмір ОЗУ виходить за межі одного логічного сегмента, для повного проходу всіх осередків недостатньо змінювати тільки 16-рязрядний зсув. Умовно розіб'ємо ОЗУ на два банки - молодший (00000h - 0FFFFh) і старший (10000h - 1FFFFh) і будемо проводити процедуру тестування для кожного з барків. Тестування являє собою послідовну запис та контрольне зчитування з комірок пам'яті двох констант - 055h і 0AAh (0101b і 1010b). p align="justify"> В якості обробників помилок тестування виступа...