060614140414040010F0B0707070614140414040020F0B0707070714140414040030F0B0707070715140414040040F0B0707070715150414040050F0B0707070715150514040060F0B0707070715150515040070F0B0707070715150515050080F0B070707071515051505019
.1 ОРГАНІЗАЦІЯ переривання ЗА ДОПОМОГОЮ ПКП
Висновок керуючих імпульсів через ППІ буде проводитися програмно у вигляді підпрограми обробки переривань. Для генерування переривань використовуємо ПКП, на вхід IR0 якого подаємо сигнал OUT з каналу 2 ПТ1. Т.к. ПКП реагує на фронт позитивного імпульсу, а з виведення ПТ приходить імпульс нульового рівня на тлі постійного позитивного сигналу, то на вході IR0 ПКП необхідно поставити інвертор для електричного сполучення пристроїв.
При наявності запиту на переривання на вході IR0 ПКП формує сигнал INT; МП приймає сигнал INT, закінчує виконання поточної команди і, якщо переривання дозволено, видає сигнал підтвердження INTA; ПКП видає на шину даних код команди CALL. МП видає ще два сигнали INTA, які дозволяють ПКП передати на шину даних 16-розрядний адреса підпрограми обробки переривання. Далі виконується підпрограма обробки переривань, в результаті якої на виході каналу А ППІ 2 буде виводиться задана комбінація керуючих імпульсів.
Таблиця 5.2 - Розряди керуючих сигналів
D7D6D5D4D3D2D1D0000U16U14U6U4U1
ПКП повинен бути спочатку запрограмований керуючими словами ICW1 і ICW2, які наведені в таблиці 5.3.
Таблиця 5.3 - Керуючі слова для ПКП
СловоА0D7D6D5D4D3D2D1D0HEXCALLICW100101001052ICW210000000000Ст. б0100000040Мл. б
При таких керуючих словах таблиця векторів переривань починається за адресою 0040. У таблиці 5.4 наведена робоча програма.
Таблиця 5.4 - Робоча програма
0000JMP 4000C3Переход до основної программе0001000002400040JMP 4100C3Переход до підпрограми обробки прерываний0041000042410043Основная программа4000MVI A3EПТ 1 СТ040013C3C4002OUTD3400303034004MVI A3EПТ 1 СТ140057C7C4006OUTD3400703034008MVI A3EПТ 1 СТ24009BCBC400AOUTD3400B0303400CMVI A3EПТ 2 СТ0400D3C3C400EOUTD3400F07074010MVI A3EППІ 140119B9B4012OUTD340130B0B4014MVI A3EППІ 2401580804016OUTD340170F0F4018MVI A3EППІ 340198080401AOUTD3401B1313401CMVI A3EУСАПП401D4F4F401EOUTD3УСАПП 1401F15154020OUTD3УСАПП 2402119194022OUTD3УСАПП 340231D1D4024OUTD3УСАПП 4402521214026OUTD3УСАПП 5402725254028OUTD3УСАПП 640292929402AOUTD3УСАПП 7402B2D2D402CMVI A3EПКП (ICW 1) 402D5252402EOUTD3402F30304030MVI A3EПКП (ICW 2) 403100004032OUTD3403331314034MVI A3EЗапісь в ПТ числа L=1046403546464036OUTD3403702024038MVI A3E40391010403AOUTD3403B0202403CLXI H 020021Загрузка реєстрової пари початковим адресою таблиці вивода403D02403E00403FNOP00? цікл4040JMP 403FC340413F4042404043HLT76Подпрограмма обробки прериваній4100PUSH PSWF5Пересилка слова соcтоянія програми в стек4101MOV A M7EПорт А ППІ 24102OUT 0CD341030C4104MOV A L7DСравненіе поточної ЯП з 026В4105CPI 6BFE41066B4107JNZ 410FC2Переход по ненульовому результату.41080F410941410AMVI L 002EПрісвоеніе парі HL початкової адреси 0200410B00410CJMP 4110C3Переход до ЯП 4110410D10410E41410FINX H23Увеліченіе покажчика адреси HL на 14110POP PSWF1Восстановленіе состоянія4111EIFBРазрешеніе прериванія4112RETC9Возврат 6 . Розрахунок споживаної потужності
Розрахунок...