Смекни!
smekni.com

Разработка микропроцессорной системы цифрового термометра на базе микроконтроллера (стр. 5 из 9)

LSB1N;СОХРАНЕННОЕ МИНИМАЛЬНОЕ 1 ДАТЧИКА.

LSB2X;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ 2 ДАТЧИКА.

LSB2N;СОХРАНЕННОЕ МИНИМАЛЬНОЕ 2 ДАТЧИКА.

DST1X;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ ДЕСЯТЫХ 1 ДАТЧИКА.

DST1N;СОХРАНЕННОЕ МИНИМАЛЬНОЕ ДЕСЯТЫХ 1 ДАТЧИКА.

DST2X;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ ДЕСЯТЫХ 2 ДАТЧИКА.

DST2N;СОХРАНЕННОЕ МИНИМАЛЬНОЕ ДЕСЯТЫХ 2 ДАТЧИКА.

ENDC

R1EQU60H;РЕГИСТРЫ ИНДИКАЦИИ.

R2EQU61H;

R3EQU62H;

R4EQU63H;

R5EQU64H;

R6EQU65H;

R7EQU66H;

R8EQU67H;

R9EQU68H;

R10EQU69H;

R11EQU6AH;

R12EQU6BH;

R13EQU6CH;

R14EQU6DH;

R15EQU6EH;

R16EQU6FH;

HOUZ1XEQU70H;РЕГИСТРЫДЛЯЗАПИСИ/СЧИТЫВАНИЯ, ЧАСЫДВОИЧНЫЕ 1 MAX.

MINZ1XEQU71H;МИНУТЫ ДВОИЧНЫЕ 1 MAX.

LSBZ1XEQU72H;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ 1 ДАТЧИКА.

DSTZ1XEQU73H;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ ДЕСЯТЫХ 1 ДАТЧИКА.

HOUZ1NEQU74H;ЧАСЫ ДВОИЧНЫЕ 1 MIN.

MINZ1NEQU75H;МИНУТЫ ДВОИЧНЫЕ 1 MIN.

LSBZ1NEQU76H;СОХРАНЕННОЕ МИНИМАЛЬНОЕ 1 ДАТЧИКА.

DSTZ1NEQU77H;СОХРАНЕННОЕ МИНИМАЛЬНОЕ ДЕСЯТЫХ 1 ДАТЧИКА.

HOUZ2XEQU78H;РЕГИСТРЫ ЗАПИСИ/СЧИТЫВАНИЯ, ЧАСЫ ДВОИЧНЫЕ 2 MAX.

MINZ2XEQU79H;МИНУТЫ ДВОИЧНЫЕ 2 MAX.

LSBZ2XEQU7AH;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ 2 ДАТЧИКА.

DSTZ2XEQU7BH;СОХРАНЕННОЕ МАКСИМАЛЬНОЕ ДЕСЯТЫХ 2 ДАТЧИКА.

HOUZ2NEQU7CH;ЧАСЫ ДВОИЧНЫЕ 2 MIN.

MINZ2NEQU7DH;МИНУТЫ ДВОИЧНЫЕ 2 MIN.

LSBZ2NEQU7EH;СОХРАНЕННОЕ МИНИМАЛЬНОЕ 2 ДАТЧИКА.

DSTZ2NEQU7FH;СОХРАНЕННОЕ МИНИМАЛЬНОЕ ДЕСЯТЫХ 2 ДАТЧИКА.

;==============================================

; ОПРЕДЕЛЕНИЕ БИТОВ СОСТОЯНИЯ РЕГИСТРОВ ФЛАГОВ.

;==============================================

;FLAG

;0-> ЗНАК 1 МАКС.

;1-> ЗНАК 1 МИН.

;2-> КНОПКИ "УСТАНОВКА -".

;3-> КНОПКИ "УСТАНОВКА +".

;4-> КНОПКИ "РЕЖИМ".

;5-> КНОПКИ "РАЗРЯД".

;6-> ЧЕРЕДОВАНИЯ КУРСОРА И ИНДИКАЦИИ.

;7-> ДЕЛИТЕЛЬ НА 2 (1 CEK).

;FLAG1

;0-> УСТАНОВКИ.

;1-> ПРОСМОТРА ТЕМПЕРАТУРЫ: 1>2, 0>1.

;2-> ЗАПРЕТ ИНДИКАЦИИ.

;3-> ЗНАКА. 1-МИНУС.

;4-> НАЧАЛЬНАЯ ПАУЗА 1.

;5-> НОЛЬ, КНОПКИ "ПРОСМОТР 1-2".

;6-> НАЧАЛЬНАЯ ПАУЗА 2.

;FLAG2;ФЛАГ ИНДИКАЦИИ.

;0-> ТЕКУЩИЕ ДАТА, ВРЕМЯ, ТЕМПЕРАТУРА.

;1-> УСТАНОВКА ЧАСОВ, ДАТЫ.

;2-> РЕЖИМ ПРОСМОТРА ТЕМПЕРАТУРЫ.

;3-> ЗНАК 2 МАКС.

;4-> ЗНАК 2 МИН.

;5-> ФЛАГ ВЫПОЛНЕННОЙ УСТАНОВКИ МИНУС.

;6-> УСТАНОВКИ СЧЕТЧИКА ДНЕЙ ПРОСМОТРА.

;=======================================

DS2EQU0;ВЫХОД DS2.

DS1EQU4;ВЫХОД DS1.

RSEQU2;КОМАНДА/ДАННЫЕ.

EEQU3;СИНХРОНИЗАЦИЯ.

YCPLEQU6;УСТАНОВКА ПЛЮС.

YCMIEQU5;УСТАНОВКА МИНУС.

PAZEQU1;РАЗРЯД.

PEJEQU0;РЕЖИМ.

HOLEQU5;СБРОС.

;=======================================

; 1. ПУСК.

;======================

ORG 0

GOTOINIT

ORG 4

GOTOPRER

;=========================================

; 2. ПЕРЕВОД ДОЛЕЙ ГРАДУСА С ОКРУГЛЕНИЕМ.

;=========================================

DESATI

ADDWFPCL,1;

RETLW.0;0

RETLW.1;1

RETLW.1;2

RETLW.2;3

RETLW.3;4

RETLW.3;5

RETLW.4;6

RETLW.4;7

RETLW.5;8

RETLW.6;9

RETLW.6;10

RETLW.7;11

RETLW.7;12

RETLW.8;13

RETLW.9;14

RETLW.9;15

;============================

; 3. ЗАГРУЗКА ЧИСЕЛ В МЕСЯЦЕ.

;============================

DAYMON

ADDWF PCL,F ;

NOP ;0

RETLW .32 ;1-ЯНВАРЬ

RETLW .29 ;2-ФЕВРАЛЬ

RETLW .32 ;3-МАРТ

RETLW .31 ;4-АПРЕЛЬ

RETLW .32 ;5-МАЙ

RETLW .31 ;6-ИЮНЬ

RETLW .32 ;7-ИЮЛЬ

RETLW .32 ;8-АВГУСТ

RETLW .31 ;9-СЕНТЯБРЬ

RETLW .32 ;10-ОКТЯБРЬ

RETLW .31 ;11-НОЯБРЬ

RETLW .32 ;12-ДЕКАБРЬ

;=======================================

; 4. ВЫБОР РЕЖИМА ИНДИКАЦИИ.

;=======================================

VUBOR

BTFSSPORTB,PEJ;ЕСЛИ КНОПКА НАЖАТА,

RETURN;ТО ВЫБОРА НЕТ.

BCFFLAG,4;СБРОС ФЛАГА РЕЖИМА.

MOVFWREID;ПО НОМЕРУ

ADDWFPCL,1;ВЫБИРАЕМ ИНДИКАЦИЮ.

GOTOINDT;ТЕКУЩАЯ.

GOTOINDYC;УСТАНОВКА ДАТЫ, ЧАСОВ.

GOTOINPRO;ПРОСМОТР.

INDT

CALLREGIN;ВОССТАНОВИМ РЕГИСТРЫ.

BTFSCFLAG2,0;ЕСЛИ УСТАНОВКИ СДЕЛАНЫ РАНЕЕ,

RETURN;ТО ВЕРНЕМСЯ.

BCFFLAG2,1;СБРОСИМ: УСТАНОВКУ ЧАСОВ,

BCFFLAG2,2;ПРОСМОТР,

BCFFLAG1,0;ОБЩУЮ УСТАНОВКУ,

BCFFLAG2,6;СЧЕТЧИКА ДНЕЙ,

BCFFLAG2,5;ВЫПОЛНЕННОЙ УСТАНОВКИ.

CALLZHAKCOX;ВОССТАНОВИМ ЗНАЧЕНИЯ ИНДИКАЦИИ.

BSFFLAG2,0;УСТАНОВИМ ТЕКУЩУЮ ИНДИКАЦИЮ.

RETURN

INDYC

CALLREGIN;ВОССТАНОВИМ ЗНАЧЕНИЯ ДАТЫ.

BTFSCFLAG2,1;ЕСЛИ УСТАНОВКИ СДЕЛАНЫ РАНЕЕ,

RETURN;ТО ВЕРНЕМСЯ.

BSFFLAG1,0;УСТАНОВКА.

BCFFLAG2,0;СБРОСИМ: ТЕКУЩУЮ ИНДИКАЦИЮ,

BCFFLAG2,2;ПРОСМОТР.

CLRFKYPC;ОБНУЛИМ КУРСОР.

BSFFLAG2,1;УСТАНОВКА ДАТЫ, ЧАСОВ.

RETURN

INPRO

BTFSCFLAG2,2;ЕСЛИ УСТАНОВКИ СДЕЛАНЫ РАНЕЕ,

GOTO$+6;ТО ПРОВЕРИМ КНОПКУ.

MOVLW.8;УСТАНОВИМ КУРСОР.

MOVWFKYPC;

BCFFLAG2,0;СБРОСИМ: ТЕКУЩУЮ ИНДИКАЦИЮ,

BCFFLAG2,1;УСТАНОВКУ ДАТЫ, ЧАСОВ.

BSFFLAG2,2;УСТАНОВИМ РЕЖИМ ПРОСМОТРА.

BTFSCFLAG1,5;ЕСЛИ КНОПКА ПРОСМОТРА 1-2 БЫЛА НАЖАТА РАНЕЕ,

GOTO$+5;ТО ИДЕМ НА УСТАНОВКУ ФЛАГА.

BTFSSPORTA,HOL;ЕСЛИ КНОПКА НАЖАТА,

BSFFLAG1,5;УСТАНОВИМ ФЛАГ КНОПКИ.

BTFSSPORTA,HOL;ПОКА КНОПКА НАЖАТА,

RETURN;УСТАНОВКИ НЕТ.

BTFSSFLAG1,5;ЕСЛИ КНОПКА ПРОСМОТРА 1-2 БЫЛА НАЖАТА РАНЕЕ,

RETURN;

BCFFLAG1,5;СБРОСИМ ФЛАГ КНОПКИ.

BTFSCFLAG1,1;

GOTO$+3;

BSFFLAG1,1;ИЗМЕНИМ СОСТОЯНИЕ ФЛАГА ПРОСМОТРА

RETURN

BCFFLAG1,1;НА ПРОТИВОПОЛОЖНОЕ.

RETURN

;=======================================

; 5. ВЫБОР РАЗРЯДА УСТАНОВКИ.

;=======================================

YCTAL

BTFSSPORTB,YCPL;ЕСЛИ КНОПКА ПЛЮС НАЖАТА,

RETURN;ТО ВЫБОРА НЕТ.

BCFFLAG,3;СБРОС ФЛАГА РЕЖИМА.

BTFSCFLAG2,2;ПРИ ПРОСМОТРЕ

RETURN;КНОПКА ПЛЮС НЕ РАБОТАЕТ.

BCFFLAG,2;СБРОС ФЛАГА РЕЖИМА.

BCFFLAG1,2;ИНДИКАЦИЯ РАЗРЕШЕНА.

MOVFWKYPC;ПО КУРСОРУ

ADDWFPCL,1;НАХОДИМ РАЗРЯД УСТАНОВКИ.

GOTOYC0;ДЕСЯТКИ ЧАСОВ.

GOTOYC1;ЕДИНИЦЫ ЧАСОВ.

GOTOYC2;ДЕСЯТКИ МИНУТ.

GOTOYC3;ЕДИНИЦЫ МИНУТ.

GOTOYC4;ДЕСЯТКИ ДНЕЙ.

GOTOYC5;ЕДИНИЦЫ ДНЕЙ.

GOTOYC6;ДЕСЯТКИ МЕСЯЦА.

GOTOYC7;ЕДИНИЦЫ МЕСЯЦА.

YCTAM

BTFSCFLAG2,1;ЕСЛИ УСТАНОВКА ДАТЫ, ЧАСОВ,

RETURN;ТО ВЫБОРА НЕТ.

BTFSSPORTB,YCMI;ЕСЛИ КНОПКА МИНУС НАЖАТА,

RETURN;ТО ВЫБОРА НЕТ.

BCFFLAG,2;

BCFFLAG1,2;ИНДИКАЦИЯ РАЗРЕШЕНА.

GOTOYC8M;ЕДИНИЦЫ ДНЕЙ ПРОСМОТРА.

;=========================================

; 6. ИНДИКАЦИЯ КУРСОРА.

;=========================================

JEKYC

MOVLW.14;РАЗРЕШАЕМ МИГАНИЕ КУРСОРА.

CALL JEKOM;ЗАПИШЕМ КОМАНДУ.

CALLJEKYK;НА ВЫБОР МИГАЮЩЕГО РАЗРЯДА.

CALL JEKOM;ЗАПИШЕМ КОМАНДУ.

BSFFLAG,6;ВЫПОЛНЕНА ИНДИКАЦИЯ КУРСОРА.

RETURN

JEKYK

MOVFWKYPC;РЕГИСТР КУРСОРА - В РАБОЧИЙ.

ADDWFPCL,1;

RETLW0x85;ДЕСЯТКИ ЧАСОВ.

RETLW0x86;ЕДИНИЦЫ ЧАСОВ.

RETLW0x88;ДЕСЯТКИ МИНУТ.

RETLW0x89;ЕДИНИЦЫ МИНУТ.

RETLW0xC5;ДЕСЯТКИ ДНЕЙ.

RETLW0xC6;ЕДИНИЦЫ ДНЕЙ.

RETLW0xC8;ДЕСЯТКИ МЕСЯЦА.

RETLW0xC9;ЕДИНИЦЫ МЕСЯЦА.

RETLW0x81;ЕДИНИЦЫ ДНЕЙ.

;======================================================

; 7. ТАБЛИЦЫ ПЕРЕВОДА ДЕСЯТКОВ В ДВОИЧНОЕ ЧИСЛО.

;======================================================

DEBIN

ADDWFPCL,1;

RETLW.0

RETLW.10

RETLW.20

RETLW.30

RETLW.40

RETLW.50

;===============================================

; 8. ВОССТАНОВЛЕНИЕ ЗНАКА ПОСЛЕ ПРОСМОТРА.

;===============================================

ZHAKCOX

MOVLW.251;ПО УМОЛЧАНИЮ ЗНАК ПЛЮС.

MOVWFSOT1X;

BTFSSFLAG,0;ЕСЛИ ИНАЧЕ,

GOTO$+3;ТО УСТАНОВИМ

MOVLW.253;МИНУС.

MOVWFSOT1X;

MOVLW.251;ПО УМОЛЧАНИЮ ЗНАК ПЛЮС.

MOVWFSOT1N;

BTFSSFLAG,1;ЕСЛИ ИНАЧЕ,

GOTO$+3;ТО УСТАНОВИМ

MOVLW.253;МИНУС.

MOVWFSOT1N;

MOVLW.251;ПО УМОЛЧАНИЮ ЗНАК ПЛЮС.

MOVWFSOT2X;

BTFSSFLAG2,3;ЕСЛИ ИНАЧЕ,

GOTO$+3;ТО УСТАНОВИМ

MOVLW.253;МИНУС.

MOVWFSOT2X;

MOVLW.251;ПО УМОЛЧАНИЮ ЗНАК ПЛЮС.

MOVWFSOT2N;

BTFSSFLAG2,4;ЕСЛИ ИНАЧЕ,

GOTO$+3;ТО УСТАНОВИМ

MOVLW.253;МИНУС.

MOVWFSOT2N;

RETURN

;=================================================

; 9. УСТАНОВКА КУРСОРА (ВЫБОР РАЗРЯДА УСТАНОВКИ).

;=================================================

KYPCY

BTFSCFLAG2,2;ЕСЛИ ИДЕТ ПРОСМОТР,

RETURN;УСТАНОВКА НЕ МЕНЯЕТСЯ.

BTFSSFLAG2,1;УСТАНОВКА ВОЗМОЖНА,

RETURN;ЕСЛИ ИНДИКАЦИЯ УСТАНОВКИ ЧАСОВ.

BTFSSPORTB,PAZ;ПРИ НАЖАТОЙ КНОПКЕ

RETURN;УСТАНОВКА НЕ МЕНЯЕТСЯ.

BCFFLAG,5;СБРОСИМ ФЛАГ.

INCFKYPC,1;ПРИБАВИМ ЕДИНИЦУ В КУРСОР.

MOVLW.8;НЕ БОЛЕЕ 7.

SUBWFKYPC,0;

SKPNC;

CLRFKYPC;ИНАЧЕ ОБНУЛИМ КУРСОР.

RETURN;

;=========================================

; 10. ИНИЦИАЛИЗАЦИЯ DS2.

;=========================================

INIDS2

CALLHYL2;ПОСЫЛ ИМПУЛЬСА ОБНУЛЕНИЯ.

MOVLW0xCC;ПРОПУСК НОМЕРА.

CALLPOSIL2;ПОШЛЕМ.

MOVLW0x4E;РАЗРЕШАЕМ ЗАПИСЬ УСТАНОВКИ 0,1 ГРАДУСА.

CALLPOSIL2;ПОШЛЕМ.

MOVLW0x7D;ВЕРХНИЙ ПРЕДЕЛ +125. МОЖНО ПОСТАВИТЬ ЛЮБОЕ ЗНАЧЕНИЕ.

CALLPOSIL2;ПОШЛЕМ.

MOVLW0x77;НИЖНИЙ ПРЕДЕЛ -55. ЛЮБОЙ.

CALLPOSIL2;ПОШЛЕМ.

MOVLW0x7F;КОНФИГУРАЦИЯ 11 = 0,1 ГРАДУС.

CALLPOSIL2;ПОШЛЕМ.

CALLHYL2;ПОСЫЛ ИМПУЛЬСА ОБНУЛЕНИЯ.

MOVLW0xCC;ПРОПУСК ПОСЫЛА НОМЕРА DS.

CALLPOSIL2;ПОШЛЕМ.

MOVLW0x44;РАЗРЕШАЕМ ПРЕОБРАЗОВАНИЕ.

CALLPOSIL2;ПОШЛЕМ.

MOVLW.3;ПАУЗА 0,75 СЕК.

MOVWFCOUN;МАКСИМАЛЬНО 750 МС.

SPLU

MOVLW.255

MOVWF TEMP

PLUS

MOVLW .255

ADDLW -1

BTFSS STATUS,2

GOTO $-2

DECFSZ TEMP,1

GOTO PLUS

DECFSZCOUN,1

GOTOSPLU

GOTOPRIEM2;НАПРИЕМТЕМПЕРАТУРЫ.

HYL2

CALLWUX2;ВЫХОДНУЛЯ.

MOVLW.125;НУЛЕВОЙИМПУЛЬС

ADDLW-1;= 500 МКС.

BTFSSSTATUS,2;

GOTO$-2;

CALLWXO2;ВЫХОДЕДИНИЦЫ.

MOVLW.125;ИМПУЛЬС =

ADDLW-1;500 МКС.

BTFSSSTATUS,2;

GOTO$-2;

RETURN

;=======================================

; 11. ИЗМЕНЕНИЕ ВХОДА НА ПРИЕМ/ПЕРЕДАЧУ.

;=======================================

WUX2

BCFPORTA,DS2;

BSFSTATUS,5;ПЕРЕХОДИМ В БАНК 1.

BCFTRISA^80H,DS2;НА ВЫХОД.

BCFSTATUS,5;ПЕРЕХОДИМ В БАНК 0.

RETURN

WXO2

BSFSTATUS,5;ПЕРЕХОДИМ В БАНК 1.

BSFTRISA^80H,DS2;НА ВХОД.

BCFSTATUS,5;ПЕРЕХОДИМ В БАНК 0.

RETURN

;====================================

; 12. ПРИЕМ 16 БИТ ОТ DS2.

;====================================

PRIEM2

CALLHYL2;ПОСЫЛ ИМПУЛЬСА ОБНУЛЕНИЯ.

MOVLW0xCC;ПРОПУСК НОМЕРА.

CALLPOSIL2;ПОСЫЛ.

MOVLW0xBE;ЧТЕНИЕ ТЕМПЕРАТУРЫ ИЗ БЛОКНОТА.

CALLPOSIL2;ПОСЫЛ.

BCFINTCON,7;ЗАПРЕТ ПРЕРЫВАНИЙ.

CALL PRIE2;НА ПРИЕМ.

MOVFWLSBH;ПЕРЕПИШЕМ ПРИНЯТЫЙ БАЙТ

MOVWFLSB;В МЛАДШИЙ РЕГИСТР.

BCFINTCON,7;ЗАПРЕТ ПРЕРЫВАНИЙ.

CALLPRIE2;И ПРИМЕМ СТАРШИЙ БАЙТ.

GOTOCXET2;НА ПЕРЕСЧЕТ.

PRIE2

MOVLW.8

MOVWFCOUN;ЗАПИШЕМ ЧИСЛО БИТ.

CLRFLSBH;ОБНУЛИМ РЕГИСТР ПРИЕМА.

PRI2

CALLWUX2;ВЫДАЕМ КОРОТКИЙ НОЛЬ И ЖДЕМ ОТКЛИКА.

CALLWXO2;НА ПРИЕМ.

MOVLW.2;ЗАДЕРЖКА

CALLX4;8 МКС.

MOVFWPORTA;ПЕРЕПИШЕМ

MOVWFTEMP;ЗНАЧЕНИЕ ПОРТА.

BTFSSTEMP,DS2;

BCFSTATUS,0;УСТАНОВИМ БИТ ПРИЕМА В НОЛЬ.

BTFSCTEMP,DS2;

BSFSTATUS,0;ИЛИ ЕДИНИЦУ.

RRFLSBH,1;ЗАПИШЕМ В РЕГИСТР.

MOVLW.12;ОБЩАЯ ПАУЗА 60 МКС.

CALLX4;

DECFSZCOUN,1;УМЕНЬШИМ СЧЕТЧИК.

GOTOPRI2;ПОВТОРИМ ПРИЕМ.

BSFINTCON,7;РАЗРЕШАЕМ ПРЕРЫВАНИЯ.

RETURN;ВЕРНЕМСЯ.

;==========================================

; 13. ПОСЫЛ КОМАНДЫ В DS2.

;==========================================

POSIL2

BCFINTCON,7;ЗАПРЕТ ПРЕРЫВАНИЙ.

MOVWFTEMP;ПЕРЕПИШЕМ ВО ВРЕМЕННЫЙ.

MOVLW.8;ЗАПИШЕМ ЧИСЛО БИТ.

MOVWFCOUN;

POSI2

RRFTEMP,1;ВЫТОЛКНЕМ МЛАДШИЙ БИТ.

BTFSSSTATUS,0;ЕСЛИ ОН НУЛЕВОЙ,

GOTOW0_2;ПОШЛЕМ ИМПУЛЬС НУЛЯ.

GOTOW1_2;ИЛИ ЕДИНИЦЫ.

POS2

DECFSZCOUN,1;УМЕНЬШАЕМ СЧЕТЧИК.

GOTOPOSI2;НА СЛЕДУЮЩИЙ БИТ.

BSFINTCON,7;РАЗРЕШАЕМ ПРЕРЫВАНИЯ.

RETURN;ВОЗВРАТ.

W0_2

CALLWUX2;УСТАНОВИМ ВЫХОД В НОЛЬ.

MOVLW.15;УДЕРЖИВАЕМ 60 МКС.

CALL X4;

CALLWXO2;НА ВХОД = 1 НА ВЫХОДЕ.

GOTOPOS2;ПОВТОРИМ.

W1_2

CALLWUX2;КОРОТКИЙ НУЛЕВОЙ ИМПУЛЬС.

CALLWXO2;НА ВХОД = 1 НА ВЫХОДЕ.

MOVLW.15;УДЕРЖИВАЕМ 60 МКС.

CALLX4;

GOTOPOS2;ПОВТОРИМ.

;==================================

; 14. ВЫДЕЛЕНИЕ 2.

;==================================

CXET2

BTFSCFLAG1,6;ЗАДЕРЖКА ПРИ ВКЛЮЧЕНИИ ВЫПОЛНЕНА.

GOTO$+3;

BSFFLAG1,6;ЗАДЕРЖКА ПРИ ВКЛЮЧЕНИИ.