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

📄 fangdaoqi.txt

📁 家用防盗器简单源代码
💻 TXT
📖 第 1 页 / 共 2 页
字号:
      MOV R0,#2   ;监听,语音播放2次
DGSK2: CLR P2.3 ;触发语音播放
     MOV SEC,#00H  ;时间内存清0
DGSK: MOV 0A6H,#01EH    ;看门狗
     MOV 0A6H,#0E1H    ;看门狗
     MOV A,SEC
   CJNE A,#8,DGSKK ;语音播放10秒
DGSKK:JC DGSK
   SETB P2.3   ;10秒时间到关语音播放
   SETB P3.0  ;开监听
   MOV SEC,#00H  ;时间内存清0
DGSK1: MOV 0A6H,#01EH    ;看门狗
      MOV 0A6H,#0E1H    ;看门狗
     MOV A,SEC
     CJNE A,#53,DGSKK1  ;监听75秒
DGSKK1:JC DGSK1
   CLR P3.0   ;75秒时间到关监听
   DJNZ R0,DGSK2
   CLR P3.7  ;监听等2次到挂机
   CLR 20H    ;清拨打电话标志位
   MOV SEC,#00H
DGSK3: MOV 0A6H,#01EH    ;看门狗
     MOV 0A6H,#0E1H    ;看门狗
   NOP
   NOP
      JB P1.6,GFZ2
  ACALL DELKY1
  JB P1.6,GFZ2  ;遥控按下报警
  NOP
  NOP
  SJMP DGSK4
GFZ2:JB 20H,DGSK4   ;SY2
     MOV A,SEC   ;85秒内等待拨打喇叭报警电话
     CJNE A,#190,DGSKK3   ;240
DGSKK3:JC DGSK3
      SJMP DGSK5
DGSK4:;JC DGSK5   ;比较振铃次数小于8转退出
      SETB P3.0
      SETB P3.1  ;切换喇叭报警继电器
     CLR P2.0 ;振铃大于8次喇叭报警
   MOV SEC,#00H
DGSK6: MOV 0A6H,#01EH    ;看门狗
     MOV 0A6H,#0E1H    ;看门狗
     MOV A,SEC
     CJNE A,#26,DGSKK6  ;报警延时26秒
DGSKK6:JC DGSK6
      SETB P2.0  ;关喇叭报警
       CLR P3.1
  CLR P3.1
       MOV SEC,#00H
KSL2:   MOV 0A6H,#01EH    ;看门狗
     MOV 0A6H,#0E1H    ;看门狗
       MOV A,SEC
       CJNE A,#53,KSL3  ;大于30秒关闭监听
KSL3:   JC KSL2
       CLR P3.0
   CLR P3.0
DGSK5:NOP
       NOP
       CLR 18H
       CLR 18H      ;清触发后电话打入标志位
   CLR 20H     ;清标志位
      CLR 21H
     CLR 22H
     CLR 23H
     CLR 24H
   CLR P3.7   ;电话挂机
   CLR P3.7
   MOV 47H,#00H
   MOV 48H,#00H
  MOV 47H,#0F7H   ;0F8
  MOV 48H,#0FFH
      RET  ;程序返回
  
     

    ;三层防盗触发子程序
SZC4:;PUSH PSW
      MOV R0,#2   ;监听,语音播放2次
DGSI2: CLR P2.1  ;触发语音播放
     MOV SEC,#00H  ;时间内存清0
DGSI: MOV 0A6H,#01EH    ;看门狗
     MOV 0A6H,#0E1H    ;看门狗 
     MOV A,SEC
   CJNE A,#8,DGSIK  ;语音播放10秒
DGSIK:JC DGSI
   SETB P2.1    ;10秒时间到关语音播放
   SETB P3.0  ;开监听
   MOV SEC,#00H  ;时间内存清0
DGSI1: MOV 0A6H,#01EH    ;看门狗
     MOV 0A6H,#0E1H    ;看门狗
     MOV A,SEC
     CJNE A,#53,DGSIK1 ;监听75秒
DGSIK1:JC DGSI1
   CLR P3.0   ;75秒时间到关监听
   DJNZ R0,DGSI2
   CLR P3.7  ;监听等2次到挂机
   CLR 20H    ;清拨打电话标志位
   MOV SEC,#00H
DGSI3: MOV 0A6H,#01EH    ;看门狗
     MOV 0A6H,#0E1H    ;看门狗
   NOP
   NOP
      JB P1.6,GFZ3
  ACALL DELKY1
  JB P1.6,GFZ3  ;遥控按下报警
  SJMP DGSI4
GFZ3: JB 20H,DGSI4  ;
     MOV A,SEC   ;85秒内等待拨打喇叭报警电话
     CJNE A,#190,DGSIK3   ;240
DGSIK3:JC DGSI3
     SJMP DGSIK5
DGSI4:;JC DGSI5   ;比较振铃次数小于8转退出
     SETB P3.0
     SETB P3.1   ;切换喇叭报警继电器
     CLR P2.0 ;振铃大于8次喇叭报警
   MOV SEC,#00H
DGSI6: MOV 0A6H,#01EH    ;看门狗
       MOV 0A6H,#0E1H    ;看门狗
     MOV A,SEC
     CJNE A,#26,DGSIK6  ;报警延时26秒
DGSIK6:JC DGSI6
     SETB P2.0  ;关喇叭报警
       CLR P3.1
       CLR P3.1
       MOV SEC,#00H
KSL: MOV 0A6H,#01EH    ;看门狗
     MOV 0A6H,#0E1H    ;看门狗
       MOV A,SEC
       CJNE A,#53,KSL1   ;大于30秒关闭监听
KSL1:   JC KSL
       CLR P3.0
       CLR P3.0
DGSIK5:NOP
       NOP
       CLR 18H      ;清触发后电话打入标志位
       CLR 18H
   CLR 20H     ;清标志位
      CLR 21H
     CLR 22H
     CLR 23H
     CLR 24H
   CLR P3.7   ;电话挂机
   CLR P3.7
   MOV 47H,#00H
   MOV 48H,#00H
  MOV 47H,#0F7H   ;0F8
  MOV 48H,#0FFH
       RET  ;程序返回

  
  ;线路故障喇叭报警程序
SZC5:;PUSH PSW
    ; PUSH ACC
     SETB P3.1   ;切换喇叭报警继电器
     CLR P2.2
     MOV SEC,#00H
TYI1:MOV 0A6H,#01EH   ;
    MOV 0A6H,#0E1H  ;
     MOV A,SEC
     CJNE A,#13,TYIK1  ;延时26秒
TYIK1:JC TYI1
   SETB P2.2
      CLR P3.1   ;
      SETB 19H   ;设置标志位
   RET

   ;电话远程设防,撤防程序
SZC6:;PUSH PSW
     MOV R4,#00H
     MOV R4,#12 ;设防、撤防设置8次
TYT5:NOP
     NOP
     ACALL DELKY
     NOP
     NOP
      JNB P1.5,TYT1  ;P3.6等于1转移
     NOP
     NOP
   NOP
   NOP
     CLR P2.4   ;开撤防语音播放
     MOV SEC,#00H
TYT2: MOV 0A6H,#01EH    ;看门狗
     MOV 0A6H,#0E1H    ;看门狗
     MOV A,SEC
     CJNE A,#8,TYTS2  ;延时10秒
TYTS2:JC TYT2
   SETB P2.4  ;关语音播放
   SETB 16H   ;设置撤防标志位
   SJMP TYT3
    ;开
TYT1:CLR P2.6  ;开设防语音播放
    MOV SEC,#00H
TYT4: MOV 0A6H,#01EH    ;看门狗
     MOV 0A6H,#0E1H    ;看门狗
    MOV A,SEC
    CJNE A,#8,TYTS4
TYTS4:JC TYT4
      SETB P2.6
       CLR 16H
       CLR 17H    ;清撤防标志位
TYT3:DJNZ R4,TYT5
    CLR P3.7    ;挂
    CLR P3.7
    CLR 20H   ;清标志位
   RET

SZC7:;遥控设防子程序????????
      NOP
      NOP
     JNB P1.5,WK1  ;LED灯等于转从新触发
     SETB P3.6  
     ACALL DELKY1
   CLR P3.6
   NOP
   NOP
   ACALL DELKY
   NOP
  NOP
   SETB P3.6
   ACALL DELKY
     JB P1.5,SZC7   ;LED灯等于1转从新触发
WK1: MOV AEG,#00H   ;
     SETB P3.1  ;切换喇叭报警继电器
     CLR P2.2  ;语音播放
WKL1: MOV 0A6H,#01EH
       MOV 0A6H,#0E1H
     MOV A,AEG
   CJNE A,#3,WK   ;延时3秒
WK:  JC WKL1
   SETB P2.2
          CLR 16H    ;清屏蔽标志位
   CLR P3.1
   CLR 17H   ;清撤防标志位
   CLR 19H   ;清故障标志位
 
   RET


    ;遥控撤防子程序
SZC8: NOP
      NOP
     JB P1.5,WK3  ;LED灯等于转从新触发
     SETB P3.6   
   NOP
   NOP
     ACALL DELKY1
   CLR P3.6
 NOP
 NOP
  ACALL DELKY
   SETB P3.6
   ACALL DELKY
   NOP
   NOP
     JNB P1.5,SZC8   ;LED灯等于0转从新触发
WK3:  MOV AEG,#00H ;
     CLR P2.4   ;语音播放
   NOP
   NOP
   ACALL DELKY    ;屏蔽前面语音播放
   NOP
   NOP
     SETB P3.1  ;切换喇叭报警继电器
WKL3: MOV 0A6H,#01EH
   MOV 0A6H,#0E1H
     MOV A,AEG
     CJNE A,#4,WK2
WK2: JC WKL3
     SETB P2.4
   CLR P3.1
   SETB 16H  ;设置撤防屏蔽标志位
   CLR 19H  ;清故障标志位
   RET

        ;晚上遥控设防子程序????????
SZC9:JNB P1.5,WK5  ;LED灯等于转从新触发
     SETB P3.6          
     ACALL DELKY1
   CLR P3.6
   NOP
   NOP
    ACALL DELKY
   NOP
   NOP
   ACALL DELKY
   NOP
   NOP
   SETB P3.6
   ACALL DELKY
     JB P1.5,SZC9  ;LED灯等于转从新触发
WK5: MOV AEG,#00H  ;
    SETB P3.1  ;切换喇叭报警继电器
     CLR P2.2  ;语音播放
     NOP
     NOP
WKL5: MOV 0A6H,#01EH
      MOV 0A6H,#0E1H
     MOV A,AEG
   CJNE A,#1,WK4   ;延时3秒
WK4:  JC WKL5
      NOP
      NOP
      ACALL DELKY1 ;??
      NOP
      NOP
      ACALL DELKY1
      NOP
      NOP
      ACALL DELKY1
  NOP
  NOP
  ACALL DELKY1
   SETB P2.2
   CLR P3.1
     CLR 16H   ;清四防区屏蔽标志位
   SETB 17H  ;屏蔽主卧室标志位
   CLR 19H   ;清故障标志位
   RET

SZC10:
     SETB P3.1   ;切换喇叭报警继电器
     CLR P2.0
     MOV SEC,#00H
TLYI1:MOV 0A6H,#01EH   ;
    MOV 0A6H,#0E1H  ;
  NOP
  NOP
  JB P1.6,WQET
  ACALL DELKY1
  JB P1.6,WQET
  NOP
  NOP
  SJMP WQET1
WQET: MOV A,SEC
     CJNE A,#30,TLYIK1  ;延时26秒
TLYIK1:JC TLYI1
WQET1: SETB P2.0
      CLR P3.1   ;
    RET


INT0_1:RETI
     
      ;T1中断子程序
INT_1:PUSH PSW
      PUSH ACC   ;
      SETB P3.7  ;模拟提机
      NOP
      NOP
      SETB P3.7
      SETB 20H   ;
      NOP
      NOP
      CLR ET1   ;关T1中断
      CLR TR1   ;关T1计数
      SETB EX1   ;开外中断1
       POP ACC
       POP PSW
  RETI

INT_2:RETI

INT1_2:   ;外中断INT0入口
     PUSH PSW
     PUSH ACC
     CLR EX1  ;关外部中断INT1
     MOV SECD,#00H  ;清秒内存
     MOV TL1,#00H
     MOV TH1,#00H;清T1
     MOV TL1,47H
     MOV TH1,48H
   NOP
   NOP
   NOP
     SETB TR1  ;开T1开始计算振铃次数
     SETB ET1  ;开T1中断
     POP ACC
     POP PSW
   RETI


INT_0:PUSH PSW
     PUSH ACC
 MOV 0A6H,#01EH    ;看门狗
 MOV 0A6H,#0E1H    ;看门狗
MOV TL0,#0B0H
MOV TH0,#3CH
INC DEDA  ;MS
MOV A,DEDA
CJNE A,#0AH,TT1   ;原14改7
CPL P3.2
MOV DEDA,#00H
INC AEG
INC SECD ;S33H
INC SECE ;S34H
INC SEC
INC AEA
TT1:MOV A,SECE
    CJNE A,#60,TT2
  MOV SECE,#00H
  INC SECET
TT2:MOV A,SECET   ;21分钟清0
    CJNE A,#21,TT3
TT3:JC TT4
    MOV SECET,#00H
TT4:
    POP ACC
    POP PSW
   RETI


DELKY:MOV R2,#230    ;250*250=250MS
D0:   MOV R3,#250
D1:  MOV 0A6H,#01EH
      MOV 0A6H,#0E1H
      DJNZ R3,D1
 DJNZ R2,D0
      NOP
      NOP
    RET


DELKY1:MOV R2,#20    ;200*10*2*2=8MS
D2:   MOV R3,#200
D3:   MOV 0A6H,#01EH
      MOV 0A6H,#0E1H
      DJNZ R3,D3
  DJNZ R2,D2
  NOP
  NOP
  RET
NOP
NOP
NOP
NOP
  AJMP LOOP
  NOP
NOP
NOP
SJMP $


END

⌨️ 快捷键说明

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