ТЕЛЕФОНИЯ
g o to w r_ o ff
f z f re g 2 , n22
g o to verX
nofzO reg 3
g o to w r_ o ff
n o f z f re g 3 ,
nl
g o to ok_n
endm
sO l o c a l
movlw .228
movwf TI'JRO
b t f s c in
g o to
w r ite _ s i
«DEFINE i n
FORTA,4
«DEFINE o u t
PORTA,0
«DEFINE c l e a r PORTA,2
«DEFINE p ro g
FORTA,1
-*+++***
o rg
0x000
g o to i n i t
b t f s s INTOON, TOI F
g o to s 0 _ lo c a l
nofzO te m p _ sin g l
g o to sO
g o to w r ite _ in
i n c f te m p _ s in g l,f
линия занята ждем иылуль сое
набора номера
уровень на входе высокий ?
да идем инкрем енировать
счетчик
п ау за больше чем между
импульсами ?
н ет ждем следующего им пульса
д а , в сч етч и к ч т о -т о
зап и сан о ?
н ет, переходим в ожидание
импульсов
д а идем сохранять
o rg
инициализация
0x004
SFR ----
si
b c f INTCON, ТОIF
movlw
200
lia s
re a d f la s h
c l r f
INTCON
movwf
TMR0
b c f
STATUS, RP0
s i lo c a l
b t f s s in
; если на входе еысокий уровень
movlw
b ' 0 0 0 0 0000'
; то цикл продолж ается
mo'vVf
PORTA
g o to
sO
; ес л и уровень с т а л низким до
movwf
FORTB
; переполнения тайм ера - поймана
movlw
b' 10 0 0 0 1 1 0 ’
; п ау за между импульсами
b s f
STATUS, RP0
b t f s s INTCON,TOIF
; если тайм ер переполнится зн ачит
movwf’
OFTION REG^eOh
; положена трубка
movlw
b ' 00010110*
g o to
s i lo c a l
movwf
TPISA"6Oh
g o to
ok
movlw
b' 0 0 0 0 0 0 0 1 ’
.+ + *** + + *■* + * +*+**■»****■+*********■»***
movwf
TRI3BA80h
w r ite in
i n c f te m p _ re g ,f
b c f
STATUS,RF0
movf tem p reg ,w
addw f FC L,f
; определяем в какой р е ги с тр
сохранять
c l r f
r e g l
nop
c l r f
reg2
g o to w rl
c l r f
reg3
g o to wr2
c l r f
a d r
g o to wr3
c l r f
d a t
g o to wr4
c l r f
tem p
g o to wr5
c l r f
tem p re g
g o to wr6
c l r f
tem p s in g l
;****■> ** ** *
+ + **** + + ****
b t f s c
c l e a r
w rl
m o v ff tem p s i n g l ,г
r e a l
c a l l
c l e a r f la s h
sw a p f r e g l , f
; п е р в а я цифра с о х р а н я е т с я в
старш ем п о л у б ай те
movlw
0x00
; после сброса или прерывания
g o to wr o f f
; п р о в ер к а не п р о и зв о д и тся
movwf
F5R
; пересы лаем содержимое EEPROM в
w r2
m ovf te m p _ s in g l, v
b t f s c
in
■; ОЗУ
ad d w f r e g l , f
; Е то р ая циф ра с о х р а н я е т с я в
g o to
О
К
ЫЛЕ
>дшем п о л у б ай те
c a l 1
pwr
b t f s s PORTA,1
; Это пр о гр аы и р о ван и е ЕЕРКОМ ?
c a l l
re a d f la s h
g o to v e r l
; н е т э т о со х р ан ен и е и п р о в ер ка
mcvwf
INDF
н аб и р аем о го ном ера
in c f
FSR, f
m ovf r e g l ,w
; да
i n c f
a d r, f
c l r f tem p re g
; сти р аем чтобы о п ят ь в е р н у т с я
movlw
K' 004 8 ’
сюда
subw f
FSR, w
b t f s s
STATUS,2
c a l l w r ite f la s h
g o to
ne
c a l l b e e p l
g o to
t e s t
i n c f a d r , f
g o to w r_of£
STATUS,RFO
; процедура чтения и з EEPROM
wr5
m o v ff tem p s i n g l .
reg2
:f
a d r , w
sw ap f r e g 2 , f
b c f
mov
movwf EEADR
b s f
STATUS,RPO
b s f
EECON1л 6 Oh, Rr
b c f
STATUS,RFO
movf
EEDATA,
r e t u r n
sO
c l r f a d r
b t f s c in
g o to ok
c a l l p a u se
b t f s c in
g o to ok
c a l l p a u se
b t f s c in
g o to ok
c a l l p a u se
b t f s c in
g o to ok
c a l l b e e p l
* * Процедура р асп о зн аван и я импульсов
b c f INTCON,TOIF
c a l l
pwr
wr6
verl
g o to w r_ o ff
m ovf te m p _ s in g i, w
addv;f r e g 2 ,f
g o to v e r l
m ovff te m p _ s in g l,
sw ap f r e g 3 ,f
g o to w r_ o ff
m ovf tem p_s i n g l , w
addw f r e g 3 ,f
g o to v e r l
reg 3
f z f r é g i , n i l
g o to v e r 2
nofzO reg2
g o to w r_ o ff
f z f re g 2 , n l2
g o to v er2
nofzO re g 3
g o to w r_ o ff
n o f z f re g 3 , n l3
g o to ok_n
»•первые д ве цифры набранного номера
; совпали с первыми цифрами
; зарегистрированн ого?
;н е т , проверяем во вторил номере
,- с сам ого н ач ала
;д а . Вторые две цифры
уже
записаньї?
;н е т в р еги стр е - 0, проверка
; окончена
;и т .д
4/2003
{
15
; номер соЕпал
предыдущая страница 14 Радиолюбитель 2003-04 читать онлайн следующая страница 16 Радиолюбитель 2003-04 читать онлайн Домой Выключить/включить текст