⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 baojing.dt

📁 这是电话智能报警器的源程序,不过有点老了,已经生产了6年多.
💻 DT
📖 第 1 页 / 共 5 页
字号:
         jbc   status,zero
         jmp   bbbcka         ;拨完一组
         bc    status,5
         call  huida
         bs    status,5
         jbc   face,6
         jmp   qcdaa
         jmp   lsqaa
bbbcka:
         mov   a,@0
         mov   r4,a
         jbs   face,3   ;循环拨号和三组拨号。
         djz   mm3
         jmp   hboa
         bs    status,6
         call  c04
         bc    status,6
         ret
;==============================================  
;状态灯闪烁。警戒!                               
tsjinj:
         call  dyj
         mov   a,some3
         mov   temp1,a
         mov   a,@0x08
         xor   a,temp1;data
         jbs   status,zero
         jmp   xin22;ting
         bs    face,4
         bs    status,6
         bs    status,5
         bs    p6,pow_386
         call  dione
         call  dione
         bc    p6,pow_386
         bc    status,6
         ;bs    status,5
         ;bs    face,4
tsjin:
         jbc   p5,rxdet
         jmp   tsjin
         jmp   xin22
jing:   
         mov   a,@0b00001000
         iow   p5
         clr   bhwei
         jbs   p7,zldx
         bc    jiance,3
        ; bc    jiance,1
         bs    jiance,4     ;进入警戒态。
         bc    jiance,2
         bs    p7,fyon
         bs    status,6
         bc    status,5
         ;mov   a,@0x08
         ;mov   count,a
         ;call  fapc
         bs    p6,pow_386
         call  fb709
         bs    p5,d_zt
         bc    status,6
         bs    status,5
         bc    face,4
         jbc   p5,rxdet
         jmp   tsjinj
xin22:
         bc    p6,pow_386
         clr   take
         mov   a,@14
         mov   qcc08,a
xin1:    
         bs    status,5
         bs    status,6
         bc    bzwei,7
         call  sc_1    ;指示灯闪烁
         bc    status,5
         bc    status,6
         jbc   bzwei,7
         jmp   jsyka
         jbc   p7,zldx
         jmp   duanxa
xin1a:
         bs    p5,d_zt
         bs    status,5
         bs    status,6
         bc    bzwei,7
         call  sc_1
         bc    status,5
         bc    status,6
         jbc   bzwei,7
         jmp   jsyka
         bc    status,5
         jbc   p7,zldx
         jmp   duanxa
         bs    status,5
         bc    status,6
         bc    p5,d_zt;;
         djz   qcc08
         jmp   xin1
         bs    status,6
         bs    status,5
         call  di11         
         bc    status,6
         bs    status,5
         bs    jiance,2        ;进入警戒后面45秒状态。
         mov   a,@0
         mov   r4,a
         clr   bzwei
jingf:         
         bs    jiance,4
         bs    status,6
         bc    status,5
         mov   a,@0x08
         mov   count,a
         call  fapc
         bc    status,6
         bs    status,5
jinjin:
         bs    jiance,2
         bs    p5,fyin
         clr   take
         jbc   p5,d_zt  ;   
         jmp   jpgu      ;
         bs    p5,d_zt  ;                
         jbs   p5,d_zt  ;
jpgu:    
         bc    p5,d_zt  ;设防灯取反  
         bs    status,5
         bs    status,6
         call  sc_1
         bc    status,5
         bc    status,6
         jbs   p7,zldx
         bc    jiance,6
         jbc   bzwei,7
         jmp   jsyka
         bc    status,5
         jbc   p7,zldx
         jmp   anxa
         bs    status,5
         bc    status,6
         jmp   jinjin;jingf
;============================================         
;在警戒状态下接收编码。
pao8a:         
         jbc    face,4
         jmp    outp
         bs     bhwei,2
         jmp    pao8         
pao86:
         bs     bhwei,3
         jmp    pao8
pao8c:
         bs     bhwei,6
         jmp    pao8
pao8d:
         bs     bhwei,7
         jmp    pao8
pao89:
         bs     bhwei,0
         jmp    pao8
pao81:
         bs     bhwei,5
         jmp    pao8
jsbm:
         jbs   p5,rxdet
         jmp   outp
         call  dyj
         mov   a,some3
         mov   temp1,a
         mov   a,@0x0f
         and   temp1,a
         mov   a,temp1
         mov   data,a
         mov   a,data
         jbc   status,zero
         jmp   outp
         mov   a,@0x01
         xor   a,data
         jbc   status,zero
         jmp   pao81  ;门磁
         mov   a,@0x05
         xor   a,data
         jbc   status,zero
         jmp   pao8a  ;红外
         mov   a,@0x06
         xor   a,data
         jbc   status,zero
         jmp   pao86  ;振动
         mov   a,@0x0a
         xor   a,data
         jbc   status,zero
         jmp   pao89    ;转发
         mov   a,@0x0c
         xor   a,data
         jbc   status,zero
         jmp   pao8c    ;边界
         mov   a,@0x0d
         xor   a,data
         jbc   status,zero
         jmp   pao8d  ;远距
;在任何情况下接收遥控编码。
jsyk:
         bs    status,5
         jbs   p5,rxdet
         jmp   outp
         call  dyj
         mov   a,some3
         mov   temp1,a
         mov   a,@0x0f
         and   temp1,a
         mov   a,temp1
         mov   data,a
         mov   a,@0x08
         xor   a,data
         jbc   status,zero
         jmp   ting
         mov   a,@0x04
         xor   a,data
         jbc   status,zero
         jmp   tie
         mov   a,@0x02         
         xor   a,data
         jbc   status,zero
         jmp   titi
         bs    status,5
         bs    status,6
         mov   a,@0x07
         xor   a,data
         jbc   status,zero
         jmp   cool7   ;燃气
         mov   a,@0x09
         xor   a,data
         jbc   status,zero
         jmp   cool9   ;烟感
         bc    status,6
         bs    status,5
         mov   a,@0x03         
         xor   a,data
         jbs   status,zero
         jmp   outp
         bs    status,5
         bs    status,6
         call  menling
         bc    status,6
         jbs   p5,rxdet
         jmp   outp;yzpj
         bs    status,5
         bs    status,6
         bs    jiance,1
         call  di11
         bc    status,6
         bs    status,5
outp:
         ret
;警戒位0,解除位1,紧急位2,警报位3。
ting: 
         bs    bzwei,0
         ret
tie:
         bs    bzwei,1
         ret
titi:
         bs    bzwei,2
         ret
pao8:
         bs    bzwei,3
         ret
;===================================================         
;无线信号
dyj:
         clr   some3
         jbc   p6,q1
         bs    some3,carry
         jbs   p6,q1
         bc    some3,carry
         jbc   p6,q2
         bs    some3,pin1
         jbs   p6,q2
         bc    some3,pin1
         jbc   p7,q3
         bs    some3,zero
         jbs   p7,q3
         bc    some3,zero
         jbc   p7,q4
         bs    some3,pin3
         jbs   p7,q4
         bc    some3,pin3
         ret 
;延时20s
sc_20:
         bc    bzwei,3
         bc    face,0
         bc    face,1
         bs    face,7
         mov   a,@35
         mov   qcc01,a
lsma:
         mov   a,@255
         MOV   qcc02,a
lsmb:
         mov   a,@255
         mov   qcc03,a
lsmc:
         jbc   p5,rxdet
         jmp   jsykf
stime0:
         jbc   p6,ena92
         jmp   jsbba
stame0:
         djz   qcc03
         jmp   lsmc
         djz   qcc02
         jmp   lsmb
         djz   qcc01
         jmp   lsma
         ret
;延时5s
sc_s5:
         bc    bzwei,3
         bc    face,0
         bs    face,1
         bc    face,7
         mov   a,@10
         mov   qcc01,a
lsmh:
         mov   a,@255
         MOV   qcc02,a
lsmi:
         mov   a,@255
         mov   qcc03,a
lsmj:
         jbc   p5,rxdet
         jmp   jsykf
stime1:
         jbc   p6,ena92
         jmp   jsbba
stame1:
         djz   qcc03
         jmp   lsmj
         djz   qcc02
         jmp   lsmi
         djz   qcc01
         jmp   lsmh
pc5:
         ret
;延时100s
sc_100:
         bc    bzwei,3
         bs    face,0
         bc    face,1
         bc    face,7
         mov   a,@0b11101001
         iow   p6   
         mov   a,@150
         mov   qcc01,a
lsmd:
         mov   a,@255
         MOV   qcc02,a
lsme:
         mov   a,@255
         mov   qcc03,a
lsmf:
         nop
         nop
         jbc   p5,rxdet
         jmp  jsykf
stime2:
         jbc   p6,ena92
         jmp   jsbba
stame2:
         djz   qcc03
         jmp   lsmf
         djz   qcc02
         jmp   lsme
         djz   qcc01
         jmp   lsmd
stttm:
         bc    p6,mic
         bc    p6,pow_386
         ;bs    p6,pow_386
         ret
my12:
         bs    status,5
         bs    status,6
         jmp   my12a       
jsykf:
         call  dyj
         mov   a,some3
         mov   data,a
         ;mov   temp1,a;;;;;;;;;
         mov   a,@0x0f
         and   data,a
         ;and   temp1,a
         ;mov   a,temp1
         ;mov   data,a
         mov   a,@0x04
         xor   a,data
         jbc   status,zero
         jmp   jiexx
         jbc   face,7
         jmp   stime0
         jbc   face,1
         jmp   stime1
         jmp   stime2
jiexx:
         bs    bzwei,3
         ret
jsbba:
         bc    p6,pow_386
         ;bs    p6,pow_386
         bc    p6,mic
         bc    status,6
         bc    status,5
         call  atrc
         nop
         nop
         bs    status,5
         bc    status,6
         mov   a,some3
         mov   temp1,a
         bs    status,5
         bs    status,6
         nop
         nop
         nop
         nop
         mov   a,@15
         xor   a,temp1
         jbc   status,zero
         jmp   chup
         bc    status,6
         bs    status,5
hayp:
         mov   a,temp1
         mov   data,a
         mov   a,@20
         mov   delbuf01,a
lsmo:
         mov   a,@255
         MOV   delbuf02,a
lsmp:
         mov   a,@255
         mov   delbufc,a
lsmq:
         nop
         nop
         jbc   p5,rxdet
         jmp  jsykf
         jbc   p6,ena92
         jmp   jsbbe
         djz   delbufc
         jmp   lsmq
         djz   delbuf02
         jmp   lsmp
         djz   delbuf01
         jmp   lsmo
         jmp   lsmfw
;========================================================
         org   0x0800
;========================================================
;输码设置状态。
sunm:
         mov   a,@0b00001000
         iow   p5
         bs    p7,zhji
         clr   w002
         clr   addr
zlzjx:
         bs    status,5
         call  di11		;提示进入状态。
         bs	flag,wait	;没进入设置状态。在密码检验状态
         bc    status,5
         mov   a,@0
         mov   some4,a         
         mov   a,@0x20;60
         mov   r4,a
;等待输密码.
aabx:
         call	atrc	;dtmf解码
         mov   a,some3
         bs	r,6
         mov   r0,a  
         bc	r4,6       
         inc   r4
         mov   a,@1
         add   some4,a
         mov   a,@0x0c
         xor   a,some3
         jbc   status,zero
         jmp   jymm	  ;检测到"#",进入密码比较。
         jmp   ddsm
outx:
         bc    p7,zhji
         bc    status,6
         call  sc_003
         bs    status,6
         bc    jiance,7
         clr   addr
         clr   w002
;超时没有输码,长发报警提示。
aqwm:
         bs    p6,pow_386
         mov   a,@0b00001100
         iow   p5
         jbs   p5,swshuma
         jmp   ckmao
         mov   a,@0b00001000
         iow   p5
         djz   tame3
         jmp   aqwm
         mov   a,@100
         mov   tame3,a
         jbc   p7,sound
         jmp   never
         bs    p7,sound
         jbs   p7,sound
never:
         bc    p7,sound
         jmp   aqwm
;输码开关拨回正常状态。跳到初始循环状态。
ckmao:
         bc    status,6
         jmp   loop;;
;==========================================
;超过3次。
autq:
         clr   bzwei
         mov   a,@0
         mov   r4,a
         mov   a,@1
         add   w002,a
         mov   a,@3
         xor   a,w002
         jbc   status,zero
         jmp   outx
         jmp   zlzjx
;检验密码的正确性。
jymm:
         clr   bzwei
         MOV   A,@0x00
         MOV   CHB,A
         mov   a,@7
         mov   addr,a
         call  readbyte
         mov   a,@0xa0  ;0xa0里面是24c02的数据。
         mov   r4,a
         mov   a,r0
         xor   a,some4
         jbs   status,zero

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -