04BC 36 00 MVI M,00H ;
04BE 26 20 MVI H,20H ;
04C0 CD C3 04 CALL OTMEN ; стандартная отмена с задержкой
04C3 3E 05 OTMEN: MVI A,05H ; статус маршрута: "установлен", "отмена"
04C5 77 MOV M,A ;
04C6 3E 09 MVI A,09H ;
04C8 D3 E7 OUT PPI3MS ; вкл лампочка "отмена"
04CA 26 2B MVI H,2BH ; переход к таблице сигналов отмены
04CC 3A 70 20 LDA OUTPUT2 ;
04CF A6 ANA M ;
04D0 CD EE 04 CALL OUTPUT ; закрытие входных светофоров
04D3 26 27 MVI H,27H ; проверка занятости участков приблиджения
04D5 16 20 MVI D,20H ;
04D7 5E MOV E,M ;
04D8 1A LDAX D ;
04D9 FE 03 CPI 03H ; если они свободны - отмена без задержки
04DB C2 E9 04 JNZ 180SEC ; если заняты - 3 минутная задержка
04DE 26 20 MVI H,20H ;
04E0 36 00 MVI M,00H ;
04E2 3E 08 MVI A,08H ;
04E4 D3 E7 OUT PPI3MS ;
04E6 C3 19 05 JMP IDLE ;
04E9 3E 05 180SEC: MVI A,05H ; GATE1=1 - пуск таймера отмены
04EB D3 F7 OUT PPI4MS ;
04ED C9 RET ; выход
04EE DB C6 OUTPUT: IN PORT9 ; вывод информации
04F0 E6 20 ANI 20H ; isOK?
04F2 CA F3 0A JZ VIKL ; во втором канале неисправность - защитн. сост.
04F5 3A 60 20 LDA OUTPUT1 ; выставляем информацию
04F8 D3 C4 OUT PORT1 ;
04FA 3A 70 20 LDA OUTPUT2 ;
04FD D3 C5 OUT PORT2 ;
04FF 3E 02 MVI A,02H ;
0501 32 53 20 STA OUT_MODE ;
0504 3E 05 MVI A,05H ;
0506 D3 C7 OUT PPI1MS ; GO!=1
0508 CD 95 02 CALL WAIT1 ; задержка
050B 3A 53 20 LDA OUT_MODE ; проверка выполнения директивы
050E E6 04 ANI 04H ;
0510 CA F3 0A JZ VIKL ; если не выполнилась - защитное состояние
0513 E6 00 ANI 00H ;
0515 32 53 20 STA OUT_MODE ; очистка управляющего байта вывода
0518 C9 RET ; возврат
IDLE:
0519 21 00 20 RAZMYK1: LXI H,2000H ;
051C 16 0C MVI D,0CH ; просмотр маршрутов на наличие размкающихся
051E 7E MRR6: MOV A,M ;
051F FE 09 CPI 09H ;
0521 CC 87 05 CZ RAZMYK ;
0524 23 INX H ;
0525 7A MOV A,D ;
0526 3D DCR A ;
0527 57 MOV D,A ;
0528 C2 1E 05 JNZ MRR6 ;
;проверка на размыкание
052B 21 00 20 IS_RAZM: LXI H,2000H ; таблица маршрутов
052E 16 0C MVI D,0CH ; счетчик маршрутов
0530 7E MMS5: MOV A,M ; если маршрут установлен, проверяем,
0531 FE 01 CPI 01H ; не заняты ли его секции
0533 CA 72 05 JZ TEST_SVB ; если да - статус - "разделка"
0536 23 INX H ;
0537 7A MOV A,D ;
0538 3D DCR A ;
0539 57 MOV D,A ;
053A C2 30 05 JNZ MMS5 ;
053D 21 0C 20 VIKL: LXI H,200CH ;
0540 2B MVV1: DCX H ;
0541 7E MOV A,M ;
0542 FE 09 CPI 09H ;
0544 CA 5C 05 JZ EX_V ;
0547 7D MOV A,L ;
0548 FE 00 CPI 00H ; если есть размыкающиеся маршруты
054A C2 40 05 JNZ MVV1 ; - не выключается
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.