📄 mt8888a.lst
字号:
页 1
06-05-03
16:58:15
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
;***********************************************;
;*********该程序在mt8888.asm的基础之上**********;
;*********已经加入拨识别码 **********;
;*********2003/ 05/08/23.12 **********;
;同一时间只允许一种报警,并有优先级别之分
;2003/6/6 ok
;***********************************************;
switch bit p3.3 ;提机高电平有效
IRQCP BIT p3.2 ;int0
;--------------------------------------------
;发送寄存器,接收寄存器地址:0000H
;控制寄存器、状态寄存器地址:0100H
;CS-----P2.1
;RS0----P2.0
;p1.0--p1.3为输入,p1.4--p1.7为脉冲信号输出
;3bh=01010101(55h)烟雾警识别码
;30h--3eh
;--------------------------------------------
org 0000h
0000 020100 ljmp start
org 0100h
0100 C2B3 start: clr switch ;断开电话线
0102 758160 mov sp,#60h
0105 75900F mov p1,#0fh ;设置p1口低4位为输入口
0108 00 nop ;高4位为脉冲信号输出口
0109 753B01 mov 3bh,#1 ;1 烟雾警识别码
010C 753C02 mov 3ch,#2 ;2 防盗警识别码
010F 753D03 mov 3dh,#3 ;3 煤气警识别码
0112 753E04 mov 3eh,#4 ;4 其他警识别码
0115 120180 lcall sen_del
0118 120180 lcall sen_del
;-----------------
011B 900100 mov dptr,#0100h ;初始化MT8888
011E E0 movx a,@dptr
011F 00 nop
0120 7400 mov a,#00h
0122 F0 movx @dptr,a ;写CRA
0123 F0 movx @dptr,a ;写CRA
0124 7408 mov a,#08h ;允许写CRB
0126 F0 movx @dptr,a ;写CRA
0127 7400 mov a,#00h
0129 F0 movx @dptr,a ;写CRB
012A 00 nop
012B E0 movx a,@dptr
;--------------
012C 120132 main: lcall sensor
012F 02012C ljmp main
D:\LWHAI\TEL\MT8888A.ASM
页 2
06-05-03
16:58:15
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
;=======================================================
;报警信号检测子程序 total:4 way 判断P1口是否有报警信号
;=======================================================
0132 309011 sensor: jnb p1.0,sen1
0135 120180 lcall sen_del ;调防误报延时子程序40ms
0138 30900B jnb p1.0,sen1
013B 12019D lcall yanwu ;p1.0为‘1’烟雾警
013E 7C96 mov r4,#150
0140 120196 lcall zguaji ;15S后再检测一次
0143 02017F ljmp senback
0146 309111 sen1: jnb p1.1,sen2
0149 120180 lcall sen_del ;调防误报延时子程序10ms
014C 30910B jnb p1.1,sen2
014F 1201B9 lcall fangdao ;p1.1为‘1’盗警
0152 7C96 mov r4,#150
0154 120196 lcall zguaji ;20S后再检测一次
0157 02017F ljmp senback
015A 309211 sen2: jnb p1.2,sen3
015D 120180 lcall sen_del ;调防误报延时子程序10ms
0160 30920B jnb p1.2,sen3
0163 1201D8 lcall meiqi ;p1.1为‘1’煤气警
0166 7C96 mov r4,#150
0168 120196 lcall zguaji ;20S后再检测一次
016B 02017F ljmp senback
016E 30930E sen3: jnb p1.3,senback
0171 120180 lcall sen_del ;调防误报延时子程序10ms
0174 309308 jnb p1.3,senback
0177 1201F5 lcall other1
017A 7C96 mov r4,#150
017C 120196 lcall zguaji ;20S后再检测一次
017F 22 senback:ret
;============================
;防误报延时子程序10ms
;============================
0180 7F28 sen_del:mov r7,#40
0182 7EFA sen_dl1:mov r6,#250
0184 DEFE sen_dl0:djnz r6,sen_dl0
0186 DFFA djnz r7,sen_dl1
0188 22 ret
;============================
;拨号延时子程序200ms(待用)
;============================
0189 7D0A dal_del:mov R5,#10
018B 7FC8 dal_dl2:mov r7,#200
018D 7E64 dal_dl1:mov r6,#100
018F DEF3 dal_dl0:djnz r6,sen_dl0
0191 DFEF djnz r7,sen_dl1
0193 DDF6 djnz r5,dal_dl2
D:\LWHAI\TEL\MT8888A.ASM
页 3
06-05-03
16:58:15
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0195 22 ret
;============================
0196 00 zguaji: nop
0197 120189 zgjlop: lcall dal_del
019A DCFB djnz r4,zgjlop
019C 22 ret
;============================
;各类报警处理子程序
;============================
019D 120258 yanwu: lcall yw30h ;送号码到30h--3ah单元(11位)
01A0 7830 mov r0,#30h ;电话号码存储单元起始地址
01A2 790B mov r1,#11 ;total11bit
01A4 120214 lcall dail ;调用拨号子程序
;mov r4,#130
;lcall zguaji ;拨号后13秒延时
01A7 12027A lcall ring
01AA 783B mov r0,#3bh ;送警类识别码
01AC 7901 mov r1,#1
01AE 12023E lcall dail1
01B1 7C32 mov r4,#50
01B3 120196 lcall zguaji ;再延时5秒后挂机
01B6 C2B3 clr switch ;完毕挂机
01B8 22 ret
;---------------------
01B9 00 fangdao:nop
01BA 120258 lcall yw30h ;送号码到30h--3ah单元(11位)
01BD 7830 mov r0,#30h ;电话号码存储单元起始地址
01BF 790B mov r1,#11 ;total11bit
01C1 120214 lcall dail ;调用拨号子程序
01C4 7C82 mov r4,#130
01C6 120196 lcall zguaji ;拨号后13秒延时
01C9 783C mov r0,#3ch ;送警类识别码
01CB 7901 mov r1,#1
01CD 12023E lcall dail1
01D0 7C32 mov r4,#50
01D2 120196 lcall zguaji ;再延时5秒后挂机
01D5 C2B3 clr switch ;完毕挂机
01D7 22 ret
01D8 00 meiqi: nop
01D9 120258 lcall yw30h ;送号码到30h--3ah单元(11位)
01DC 7830 mov r0,#30h ;电话号码存储单元起始地址
01DE 790B mov r1,#11 ;total11bit
01E0 120214 lcall dail ;调用拨号子程序
;mov r4,#130
;lcall zguaji ;拨号后13秒延时
D:\LWHAI\TEL\MT8888A.ASM
页 4
06-05-03
16:58:15
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
01E3 12027A lcall ring
01E6 783D mov r0,#3dh ;送警类识别码
01E8 7901 mov r1,#1
01EA 12023E lcall dail1
01ED 7C32 mov r4,#50
01EF 120196 lcall zguaji ;再延时5秒后挂机
01F2 C2B3 clr switch ;完毕挂机
01F4 22 ret
01F5 00 other1: nop
01F6 120258 lcall yw30h ;送号码到30h--3ah单元(11位)
01F9 7830 mov r0,#30h ;电话号码存储单元起始地址
01FB 790B mov r1,#11 ;total11bit
01FD 120214 lcall dail ;调用拨号子程序
0200 7C82 mov r4,#130
0202 120196 lcall zguaji ;拨号后13秒延时
0205 783E mov r0,#3eh ;送警类识别码
0207 7901 mov r1,#1
0209 12023E lcall dail1
020C 7C32 mov r4,#50
020E 120196 lcall zguaji ;再延时5秒后挂机
0211 C2B3 clr switch ;完毕挂机
0213 22 ret
;===================================
;拨号子程序
;发送寄存器,接收寄存器地址:0000H
;控制寄存器、状态寄存器地址:0100H
;input:r0 电话号码存储单元起始地址
; r1 电话号码位数
;===================================
0214 C0E0 dail: push acc
0216 D2B3 setb switch ;接通电话线高电平有效
0218 7C32 mov r4,#50
021A 120196 lcall zguaji ;摘机后1秒拨号
021D 900100 mov dptr,#0100h ;发送寄存器地址送dptr
0220 740D mov a,#0dh ;写8888 CRA
0222 F0 movx @dptr,a
0223 7402 mov a,#02h
0225 F0 movx @dptr,a ;写8888 CRB
0226 900000 dailop: mov dptr,#0000h
0229 E6 mov a,@r0
022A F0 movx @dptr,a
022B 900100 mov dptr,#0100h
022E E0 dailop1:movx a,@dptr ;读状态寄存器
022F 30E1FC jnb acc.1,dailop1
0232 120189 lcall dal_del
0235 120189 lcall dal_del
D:\LWHAI\TEL\MT8888A.ASM
页 5
06-05-03
16:58:15
伟福汇编器 V5.00 Copyright (c) 1989, 99 by CHY
地址 机器码 源程序
0238 08 inc r0
0239 D9EB djnz r1,dailop ;拨号完毕?
023B D0E0 pop acc
023D 22 ret
;============================
023E C0E0 dail1: push acc
0240 900000 mov dptr,#0000h
0243 E6 mov a,@r0
0244 F0 movx @dptr,a
0245 900100 mov dptr,#0100h
0248 E0 dailopa:movx a,@dptr ;读状态寄存器
0249 30E1FC jnb acc.1,dailopa
024C 120189 lcall dal_del
024F 120189 lcall dal_del
0252 08 inc r0
0253 D9E9 djnz r1,dail1 ;拨号完毕?
0255 D0E0 pop acc
0257 22 ret
;============================
;第一个号码
;============================
0258 753001 yw30h: mov 30h,#1
025B 753103 mov 31h,#3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -