call
jc
mov
mov
call
mov
mov
mov
mov
call
call
jnc
clr
mov
mov
mov
mov
ret
badval:
mov
call
mov
call
setb
ret
endp
;---------------------------------------------------------------------------
; digital input of AM frequency
proc
call
setb
mov
mov
mov
loop1:
call
ljc
call
jc
cjne
sjmp
no0:
cjne
sjmp
ishund:
orl
mov
anl
call
mov
sjmp
isthou:
swap
mov
swap
call
mov
loop2:
call
jc
call
jc
sub16
badval
a,#lo(MAX_FM1)
b,#hi(MAX_FM1)
lrot16
r0,a
r1,b
a,r4
b,r5
lrot16
sub16
badval
c
a,r4
fm_prog,a
a,r5
fm_prog+1,a
dptr,#str_error
write
a,#delval(800)
delay
c
freqinp_am
clrdisp
KHZ
auxdata,#15
r5,#0
r3,#0
chkonoff
badval
readnum
loop1
a,#0,no0
isthou
a,#1,ishund
isthou
a,r5
r5,a
a,#15
segtranslate
dispdata+2,a
loop3
a
r5,a
a
segtranslate
dispdata+1,a
chkonoff
badval
readnum
loop2
; compare values
; C=1 -> not good
; compute upper bound
; rotate comparison value
; compare values
; C=0 -> not good
; everything fine:
; store to current frequency
; respond that that was invalid
; leave err msg visible a bit
; not good...
; preinitialize display
; need preinit for different branches
; bail out ?
; get first digit
; is this 0 or 1 ?
; hundreds: store digit
; display
; 0 or 1: store as 1000s
; display 1000s
; bail out ?
; get hundreds of kHz
Need help?
Do you have a question about the RT200 and is the answer not in the manual?