------------------О
"РЛ" - НАЧИНАЮ Щ ИМ
о- - - - - - -
jmp
main_loop
; если ждем долго - больше не ждем
wait 0:
; ждем нуля на входе
jnb
INTO, MessO
cjne
A, Cnt, wait 0
jmp
main loop
wait 01:
; ждем 1
jb
INTO, Messl
cjne
A, Cnt, wait 01
jmp
main loop
MessO:
; измеряем длительность 1
setb
TR0
wait end 0:
jb
INTO, stop mess
cjne
A, Cnt, wait end 0
jmp
main loop
/
; измерение Закончено
/
stop mess:
clr
TR0
jb
TF0, on led 3
; проверим значение счетчика
mov
А, ТН0
jz
on
led 3
cjne
A, #5, $+3
jnc
on
led 1
on
led 1:
; включение 1-го светодиода
clr
LED1
jmp
main loop
on
led 2:
; включение 2-го светодиода
clr
LED2
jmp
main loop
on
led 3:
; включение 3-го светодиода
clr
LED3
jmp
main loop
; обработчик прерывания
timer1:
mov
TH1, #InitTH
mov
TL1, #InitTL
djnz
Cnt, tmrl ex
mov
Cnt, #TickCnt
; включаем семафор
setb
Semafor
tmrl_ex:
reti
end
; если ждем не слишком долго - ждем дальше
; если ждем долго - больше не ждем
; если 1 - измеряем
; если ждем не слишком долго - ждем дальше
; если Ждем долго - больше не ждем
; включаем таймер
; если ждем не слишком долго - ждем дальше
; если ждем долго - больше не ждем
; останавливаем таймер
; если переполнились - ВЧ
; берем старший байт
; ТН=0 - ВЧ
; (#1)
; если ТН <= 7 - НЧ
; заносим начальное значение ТНО
; заносим начальное Значение ТЬО
; ведем счет прерываний
; когда прошло нужное кол-во
; обработчик Завершен
46
[(Радиолюбитель - 1 0 /2 0 0 /
предыдущая страница 46 Радиолюбитель 2007-10 читать онлайн следующая страница 48 Радиолюбитель 2007-10 читать онлайн Домой Выключить/включить текст