- •Будова й налагодження систем програмного управління
- •1 Процес підготовки і рішення задачі на еом
- •1.1 Постановка завдання
- •1.2 Розробка опису завдання
- •1.3 Алгоритмізація завдання
- •1.4 Опис алгоритму
- •1.5 Процеси, що гілкуються
- •1.6 Циклічні процеси
- •1.7 Ітераційний цикл
- •3.2 Приклади складання бса і програм
- •3.3 Робота еом із зовнішнімі пристроями
- •4 Завдання до самоконтролю
3.3 Робота еом із зовнішнімі пристроями
ВУ має регістр стану. Формат РС :
-27-готовність ВУ;
- 26- дозвіл переривання.
МІКРО-ЕОМ може обмінюватися інформацією з ВУ в двох режимах:
- З опитом готовності ВУ;
- Обслуговування ВУ по перериванню програми.
Перший режим.
Якщо в розряді 27 встановлена "1", то ВУ готове до обміну інформацією.
Якщо в розряді 27 встановлений "0", то ВУ не готове до обміну інформацією і ПРЦ опитує ВУ до появи готовності.
Другий режим.
Переривання програми – тимчасове припинення виконання поточної програми і перехід на виконання програми обслуговування пристрою того, що викликав переривання. У РС ВУ 6-й розряд дозвіл переривання. Якщо в цей розряд встановити "1" –ВУ дозволяє переривання програми. ЦП надаватиме переривання і виконуватиме програму обслуговування ВУ лише в тому випадку, якщо його 27 розряд в РСС буде встановлений в "0".
Кожне ВУ що працює по перериванню має адресу вектора переривання (АВП)
Перед виконанням програми обслуговування переривання ЦП заносить в стек вміст регістрів СК (R7) і ССП, тобто адреси на якій сталося переривання програми і поточне значення РСП. Це необхідно для повернення до виконання перерваної програми. Після цього в СК (R7) заноситься зміст комірки, наступної за АВП.
Наприклад :
Клавіатура має адресу РС 177560. АВП 60. Таким чином у комірці 62 повинно міститися нове РСП, якщо буде переривання від клавіатури.
Таким чином алгоритм підготовки переривань наступний:
- Задати адресу стека ( зазвичай 1000);
- Задати стартовий адрес програми обслуговування переривання у вічко вектора переривання (АВП);
- Задати зміст РСП у комірці наступній за АВП;
- Дозволити ВУ переривання програми .для чого занести "1" в 26 РС ВУ.
Якщо у 26 РСК встановлено "1", тобто дозвіл переривання, то натиск будь якої клавіші пульта встановлює "1" у СК (27) і формується запит на переривання К.ТПР.Н.
Адреса БОСИ: РС-друку -177564 РД друку -177566
|
Адреса ПУ РС – 177560 РД - 177562
|
Коди цифр у коді КОІ-7
ЗНАК |
КОД |
|
ЗНАК |
КОД |
0 |
60 |
|
ПБ-пробіл |
40 |
1 |
61 |
|
* |
52 |
2 |
62 |
|
= |
75 |
3 |
63 |
|
? |
77 |
4 |
64 |
|
@ |
100 |
5 |
65 |
|
С |
103 |
6 |
66 |
|
|
|
7 |
67 |
|
|
|
8 |
70 |
|
|
|
9 |
71 |
|
|
|
Приклад 5.
При натисненні будь-якої клавіші пульта на екрані висвічується випадкове число від "0" до "9".
Таблиця 5.1- Текст програми перевірки
Адреси |
Код |
Мнемокод |
Примітка |
1 |
2 |
3 |
4 |
000200 |
012700 |
MOV #1000, R6 |
Встановлення вехівки стека |
000202 |
1000 |
||
000204 |
012737 |
MOV#300,@#60 |
Встановлення початкової адреси програми переривання |
000206 |
300 |
||
000210 |
60 |
||
000212 |
005037 |
CLR@#62 |
Підготовка РСП (0) |
000214 |
62 |
||
000216 |
012737 |
MOV#100,@#177560 |
Встановлення дозволу переривання (27 =1) |
000220 |
100 |
||
000222 |
177560 |
||
000224 |
012700 |
MOV#60, R0 |
Встановлення коду "0" у регістр накопичувач символу |
000226 |
60 |
||
000230 |
005200 |
INC R0 |
Формування коду символу |
000232 |
022700 |
CMP #71, R0 |
Порівняння 910 (718 ) з поточним числом (від 0 до 910) |
000234 |
71 |
||
000236 |
001374 |
BNE
|
Перехід, якщо 0 зміст комірок не збігається до 230 |
000240 |
000771 |
BR -7 |
Безумовний перехід до 224 |
000300 |
105737 |
TSTB @#177564 |
Перевірка готовності 27 =1 РС БОСІ |
000302 |
177564 |
||
000304 |
100375 |
BPL |
Перехід, якщо + |
000306 |
110037 |
MOVB R0, @# 177566 |
Запис коду символу до РД БОСІ (друк) |
000310 |
177566 |
||
000312 |
113701 |
MOVB @# 177562, R1 |
Перепис з РД ПУ до R1. |
000314 |
177562 |
||
000316 |
2 |
RTI |
Повернення з переривання |
