电路硬件资源分配: ADDR:P1.0-P1.6 XS:P2.4-P2.7 JS:P3.0 FS:P3.1 信号暂存:寄存器R0 存储空间分配: 0000H:入口程序及初始化 0100H:主程序 0400H:数据发送子程序 0500H:数据接收子程序 0600H:延时子程序 源程序代码(ASM汇编程序) ORG 0000H ;入口程序 SETB P3.1 LJMP STAT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG 0100H ;主程序 STAT: MOV A, #00H LCALL JS ;接收数据第1次 MOV R0, A LCALL JS ;接收数据第2次 MOV R1, A LCALL JS ;接收数据第3次 MOV R3, A XRL A, R1 CJNE A, #0, STA MOV A, R3 XRL A, R0 CJNE A, #0, STA ;完成接收和数据校验 JNB ACC.7 FFS ;入侵检测 INC A ;数据处理 CJNE A, P1, CL LJMP FFS CL: SETB ACC.7 MOV R0, A FFS: MOV R1, 00 ;发送数据 FF: LCALL FS DJNZ R1, FF LJMP STAT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG 0400H ;数据发送子程序 FS: MOV R2, #08H MOV A, R0 FSS: CLR P3.1 LCALL YS LCALL YS JNB ACC.0, F1 SETB P3.1 LCALL YS RR A SJMP FSH F1: LCALL YS SETB P3.1 RR A FSH: LCALL YS LCALL YS DJNZ R2, FSS RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG 0500H ;数据接收子程序 JS: MOV R2, #08H JSS: SETB P3.0 JNB P3.0, JSS LCALL YS LCALL YS NOP NOP NOP NOP NOP SETB P3.0 JNB P3.0, J0 J1: SETB ACC.0 LCALL YS RR A SJMP JSH J0: CLR ACC.0 LCALL YS RR A JSH: LCALL YS LCALL YS DJNZ R2, JSS RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ORG 0600H ;延时子程序 YS: MOV R5, #0AH YS1: MOV R6, #00H YS2: NOP DJNZ R6, YS2 DJNZ R5, YS1 RET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; END 系统单机地址编码控制 本系统编码方式采用7位二进制数直接编码,算法简单、易于实现、最多可由127台单机组成防范区域;编码由P1端口硬件实现,所以可用“跳线”或 “地址卡”方式编码(本系统实际是由上拉电阻和拨码开关实现的),编码和更换单机都非常方便。 系统特色 本系统设计独特之处在于利用软件实现了几乎所有设计功能,大大提高了系统的易移植性、易维护性和易扩充性;而且系统的防范信号、地址信号、同步信号、纠错信号合而为一,大大提高了系统易用性和可靠性;由于检测信号使用反复检测和严格对比的方法,所以大大提高了系统的准确度和抗干扰能力。 |