Функциональная организация микро-ЭВМ и микроконтроллеров. Часть 2: К1816ВЕ48. Негода В.Н - 47 стр.

UptoLike

TINT: SEL RB1
INC TIK ;увеличение счетчика тиков и
MOV A,TIK ;преобразование в
CPL A ;дополнительный
INC A ;код для сравнения
ADD A,#49 ;счетчик = 49
JNZ M ;переход, если нет
MOV TIK,#0 ;иначе сброс счетчика тиков и
INC SEC1 ;увеличение счетчика секунд
MOV A,SEC1 ;преобразование в
CPL A ;дополнительный код
INC A ;счетчика секунд
ADD A,#60 ;тек. секунды = 60
JNZ M ;переход, если нет
MOV SEC1,#0 ;иначе сброс счетчика секунд и
INC MIN1 ;увеличение счетчика минут
MOV A,MIN1 ;преобразование в
CPL A ;дополнительный код
INC A ;минут
ADD A,#60 ;тек. минуты = 60
JNZ M ;переход если нет
MOV MIN1,#0 ;иначе сброс счетчика минут и
CPL F1 ;установить признак
;конца часа
M: RETR
;Подпрограмма сравнения текущего времени с заданным
;возвращает С=1, если времена равны и С=0 - если нет
CMPTIME: JF1 C0 ;переход,если конец часа
SEL RB1
MOV A,SEC1 ;перевод счетчика
CPL A ;секунд в
INC A ;дополнительный
MOV R2,A ;код
MOV A,SEC ;и сравнение с
ADD A,R2 ;табличным значением
CLR C ;и возврат С = 0
JNZ C0 ;переход если не равны