"РЛ" - НАЧИНАЮЩИМ
mov
TCON,#01000000Ь
mov
IE, #10001000Ь
; управление таймерами
III
||+- тип INTO: 1-динамический по спаду,
I |
0-по уровню
IН— Запрос прерывания INTO
Н— тип INT1
н-- Запрос прерывания INT1
— TRO - запуск ТО
— TF0
— TR1 - Запуск Т1
— TF1
; прерывания
II I I
I I I+~ INTO
||+- TFO
|+- INTI
■I-- TF1
— TI+RI - поел, порт
— TF2+exF2+SPI
— резерв
ч---- общее разрешение прерываний
Cnt, #Tickcnt
Semafor
TF1
mov
clr
setb
main_loop:
; подготавливаем таймер 0 для последующего счета
; сбрасываем семафор
; первый раз для инициализации
Done:
clr
TRO
mov
THO, #0
mov
TLO, #0
clr
TFO
; ждем семафора
lafor:
jbe
Semafor, Done
; когда дождемся, сразу сбросим
jmp
wait semafor
mov
PI, #0FFh
; гасим все светодиоды
mov
A, #1
; будем сравнивать с 1
измерение и анализ
jb
INTO, wait О
wait 1:
; ждем 1
jb
INTO, Messl
cjne
A,.Cnt, wait_l
jmp
main_loop
wait_10:
; ждем нуля на входе
jnb
INTO, Messl
cjne
A, Cnt, wait_10
jmp
main_loop
Messl:
; измеряем длительность 1
setb
TRO
wait_end_l:
jnb
INTO, stop_mess•
cjne
A, Cnt, wait end 1
; если 1 на входе - ждем нуля
; если 1 - измеряем
; если ждем не слишком долго - ждем дальше
; если ждем долго - больше не ждем
; если ждем не слишком долго - ждем дальше
; если ждем долго - больше не ждем
включаем таймер
; если ждем не слишком долго - ждем дальше
Радиолюбитель - 1 0 /20 0 7 [|
45
предыдущая страница 45 Радиолюбитель 2007-10 читать онлайн следующая страница 47 Радиолюбитель 2007-10 читать онлайн Домой Выключить/включить текст