|
clr BL0 ; Блокируем поступление импульсов
setb BL1
mov tmod,#01010001b ; Режимы таймеров:16-битные
; Timer1 - счетчик
mov tcon,#01000100b ; Разpешение Timer1
mov ie,#10000100b
mov flags,#0 ; Сброс флагов
; Очистка внешнего предделителя
mov th1,#0FFh ; Timer1 = 0FFFFh
mov tl1,#0FFh
clr TF1
ec_clear:
clr BL1 ; Подаем импульсы на внешний предделитель
setb BL1
jnb TF1,ec_clear ; Пока не очистится
; Основной цикл счета
f_loop:
setb F_1S ; Флажок - начали отмерять 1 с
clr TF1
setb BL0 ; Разрешаем прохождение сигнала через первый ключ
mov r1,#230 ; OK
mov r2,#172 ; OK
; Формируем задержку - 1 сек.
delay1s_loop:
; Подобрано для кварца 12 МГц
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
djnz r2,delay1s_loop
djnz r1,delay1s_loop
nop
nop
nop
nop
nop
clr BL0
; Счет окончен. В этом состоянии BL1==1, BL0==0
clr F_1S ; Закончили отмерять 1 с
E-mail: info@telesys.ru