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

📄 aa1.asm

📁 这是一个8051系统
💻 ASM
字号:
       rr0 equ 10h              ;4月8日改,把拨号后的等待时间改为用复位时间等待
       rr1 equ 11h               ;4月19日改,改中断及r6,用r6代替fuwei1,fuwei1 equ 1eh
       rr2 equ 12h              ;4月19日改?改为振铃两次摘机,摘机后改用等待程序。
       rr3 equ 13h
       del equ 14h
       del1 equ 15h
       rr6 equ 16h
       rr7 equ 17h

       org 00h
       ajmp start                ; IE  EA     ET2  ES  ET1  EX1 ET0  EX0
       Org 0bh
       ljmp brt0
       org 30h                 ; 全      t2    串   t1    int1  t0   int0

 Start:nop
       nop
       Mov sp,#40h                 ; r0用做循环计数?; r1用做循环计数妻?
       Mov ie ,#82h
       mov tmod,#01h             ; r2用来暂存a中的数
       setb tr0
       mov dptr,#dat
       mov rr2,#00h
       mov r4,#00h
       mov r5,#00h
       mov r6,#00h
       mov r7,#00h
       mov p2,#00h
       mov p3,#00h
       mov r0,#14h
       NOP
       NOP
       lcall delay
       NOP
       NOP
       lcall fuwei
start1:mov p0,#0f0h
       mov a,rr7
       NOP
       NOP
       cjne a,#01h, abc
       lcall fuwei
   abc:mov rr7,#00h
       mov r6,#00h
       clr p3.5
       clr p2.0
       mov p1,#0ffh
       Mov a,p1
       NOP
       NOP
       jz cc
       mov r0,#4h
       NOP
       NOP
       lcall delay
       mov p1,#0ffh
       Mov a,p1
       NOP
       NOP
       jz cc
       mov r0,#4h
       lcall delay
       lcall fuwei
       mov p1,#0ffh
       Mov a,p1
       mov rr3,a
       mov a,rr2
       jnz mm
       mov rr2,#1fh
       mov a,rr3
       mov rr1,a
    mm:mov a,rr3
       jz cc
       xrl a,rr1
       jnz cc
       clr p2.0      ;控制报警信号
       mov a,rr3
       mov r2,a
       lcall panduan
       ajmp bb
    cc:mov rr2,#00h
       clr p2.0
       mov r5,#00h
       mov r4,#00h
       mov r5,#00h
    bb:orl p3,#10h  ; 检测是否有人打来电话
       mov c,p3.4
       Jc start1
       Mov r0,#2h
       Lcall delay
       lcall fuwei
       orl p3,#10h
       mov c,p3.4
       Jc start1
    dt:mov c,p3.4
       jnc dt
   dt1:mov r0,#02h
       lcall delay
       lcall fuwei
       mov c,p3.4
       jc dt1
   dt2:mov r0,#02h
       lcall delay
       lcall fuwei
       mov c,p3.4
       jnc dt2
       mov r0,#14h
       lcall delay
       lcall fuwei
       mov r0,#14h
       lcall delay
       lcall fuwei
       setb p3.1                         ;开应答指示灯
       setb p3.5                          ;有测摘机
       mov r0,#14h
       lcall delay
       lcall fuwei
       mov r0,#14h
       lcall delay
       lcall fuwei
       mov r0,#14h
       lcall delay
       lcall fuwei
       mov r0,#14h
       lcall delay
       lcall fuwei
       Mov p1,#0ffh
       Mov a,p1
       mov r2,a
       jnz rel1
       lcall hao0
       lcall hao0
       lcall hao9
       lcall hao9
       jmp rel2
  rel1:lcall huihao
       lcall hao9
       lcall hao9
  rel2:mov r0,#0ah
       lcall delay
       lcall fuwei
       clr p3.1                     ;应答指示灯,发红光
       clr p3.5
       mov r0,#14h
       lcall delay
       lcall fuwei
       setb p3.5
       mov r0,#14h
       lcall delay
       lcall fuwei
       clr p3.5
       mov r0,#14h
       lcall delay
       lcall fuwei
       ljmp start1
  brt0:mov th0,#00h
       mov tl0,#00h
       mov rr7,#01h
       push acc                           ;暂存a中的数
       mov a,r6
       jz ff
       cjne a,#0ffh,ff
       inc rr6
       mov a,rr6
       cjne a,#3,ff
       clr p2.7
       mov r0,#64h
       lcall delay
    ff:pop acc
       cjne r5,#01,brt1a
       inc r7
       cjne r7,#0ffh,brt1a
       mov r7,#00h
       inc r4
       cjne r4,#90h,brt1a
       mov r5,#00h
       mov r4,#00h
 brt1a:cpl p3.7
       inc r6
       reti
panduan1:mov rr0,#02h
       cjne a,#00h,xiayibu                  ; 判断是否有故障
       jmp xiabu2                           ;开始拨号
xiayibu:mov  a,r3
       movc a,@a+dptr
   rel:mov p0,a
       mov r0,#05h
       lcall delay
       lcall fuwei
       mov p0,#0f0h
       mov r0,#6h                     ;开始拨号
       lcall delay
       djnz rr0,rel
xiabu1:mov r0,#1h
       lcall delay
xiabu2:ret
panduan:cjne r5,#01h,rell
       ljmp aa5
  rell:setb p3.0                      ;开报警的指示灯,发绿?
       setb p3.5                      ;摘机
       setb p2.0
       orl p3,#10h
       mov c,p3.4
       Jnc aa1
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
       mov r0,#14h                    ; 延时1秒
       nop
       nop
       lcall delay
       nop
       nop
       lcall fuwei
       nop
       nop
       lcall hao8
       nop
       nop
       lcall hao2
       nop
       nop
       lcall hao1
       nop
       nop
       lcall hao7
       nop
       nop
       lcall hao7
       nop
       nop
       lcall hao4
       nop
       nop
       lcall hao3
   aa1:mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei                     ;拨号完毕
       mov r5,#01h
    aa:lcall huihao
       lcall hao9
       lcall hao9
   aa4:clr p3.0
       clr p3.5
       clr p2.0
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
       setb p3.5
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
       clr p3.5
       mov r0,#14h                    ; 延时1秒
       lcall delay
       lcall fuwei
   aa5:ret
   
  hao0:mov p0,#72h                ;开始拨号0

⌨️ 快捷键说明

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