程序.doc

DZ041智能报警系统(无线型)

收藏

压缩包内文档预览:
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:512056    类型:共享资源    大小:506.54KB    格式:RAR    上传时间:2015-11-11 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
毕业设计
资源描述:
DZ041智能报警系统(无线型),毕业设计
内容简介:
1 程序清单: SDA BIT P3.1 SCL BIT P3.0 MTD EQU 50H ;MTD:发送数据缓冲区首址 MRD EQU 60H ;MRD:接收数据缓冲区首址 SLA EQU 70H ;SLA:寻址字节 SLAR/W的存放单元 NUMBYT EQU 71H ;NUMBYT:传送字节数存放单元 SLAW EQU 0A0H SLAR EQU 0A1H ORG 0000H AJMP START ORG 0013H AJMP INT START: MOV R7,#00H ;置报警计数单元 R7为零 MOV P0,#0FFH ;初始化 MAIN: MOV 10H,#0FFH ;10H 存放无线信号的前 8位地址数据 MOV 11H,#0FFH ;11H存放无线信号的后 4位报警信息 SETB EA 打开 CPU总中断请求 SETB IT1 ;设定 INT1的触发方式为脉冲的后沿负跳有效 SETB EX1 ;打开 INT1中断请求 LCALL KEY_READ ;调用键扫描程序 MOV A,20H ;键值送寄存器 A CJNE A,#00H,MAIN ;判断所按的键是否为 *号键? LCALL FENMING ;是。蜂鸣器响一声 LJMP KEY ;转键盘程序 JP: CLR EA ;关闭总中断请求 MOV A,11H CJNE A,#0F0H,MAIN3 ;判断无线信号是否为故障报警? MAIN2: CLR P1.2 ;无线信号的报警信息为故障报警,故障指示灯亮 MOV P0,10H LCALL YS LCALL KEY_READ MOV A,20H CJNE A,#00H,MAIN2 LCALL FENMING LJMP KEY MAIN3: CLR P1.1 ;报警指示灯亮 MOV P0,10H LCALL YS LCALL KEY_READ nts2 MOV A,20H CJNE A,#00H,MAIN3 LCALL FENMING LJMP KEY INT: CLR EA ;INT1 中断子程序 INC R7 ;报警计数单元加 1 MOV R1,#10H MOV R2,#4 ;接收码长计数器 2置零 MOV R3,#8 ;接收码长计数器 1置零 JJJ: JB P3.3,$ ;等待低电平 ACALL YS ;延时 25ms MOV C,P3.3 ;读取无线信息 CPL C ACALL YS MOV A,R1 ;把读取的信息存入 10H RRC A MOV R1,A DJNZ R3,JJJ ;前 8位地址数据是否接收完? MOV R1,#11H ;接收完前 8位地址数据,准备接收后 4位信息 JJJ1: JB P3.3,$ ACALL YS MOV C,P3.3 CPL C ACALL YS MOV A,R1 RRC A MOV R1,A DJNZ R2,JJJ1 ;后 4位报警信息是否接收完? MOV A,R1 ;11H 的高四位和低四位调换 SWAP A MOV R1,A MOV A,10H CJNE A,#0FFH,BAOJ ;判断 10H的值是否为 FFH AJMP NOBAO BAOJ: MOV C,P1.3 JC NOBAO ;判断总设撤灯是否指示设状态 MOV A,P0 ORL 10H,A MOV P0,10H MOV A,10H CLR P1.4 ;蜂鸣器响报警 LCALL YS LCALL YS nts3 SETB P1.4 CJNE R7,#0F0H,NOBAO MOV R7,#00H LJMP JP NOBAO:SETB EA ;开总中断请求 RETI ;INT1 中断返回 YS: MOV R5,#2AH ;延时 0.25ms LOOP: DJNZ R5,LOOP RET KEY: MOV P0,#0FFH ;键盘程序,关报警指示灯 SETB P1.3 ;关总设撤指示灯 SETB P1.1 ;关故障报警指示灯 SETB P1.2 ;关报警指示灯 LCALL PAT24R ;从 24C02中读出密码 MOV R0,#41H MOV R1,#00H MOV R3,#00H PASSWORD: LCALL KEY_READ ;判断密码是否正确? MOV A,20H CJNE A,#10H,PASSWORD1 LJMP PASSWORD PASSWORD1:MOV DPTR,#CDATA MOVC A,A+DPTR MOV 40H,R0 CJNE A,40H,PASS INC R3 PASS: INC R1 INC R0 CJNE R1,#06H,PASSWORD PASS1: LCALL KEY_READ MOV A,20H CJNE A,#10H,PASS2 LJMP PASS1 PASS2: MOV DPTR,#CDATA MOVC A,A+DPTR CJNE A,#0BH,XUJUMP CJNE R3,#06H,FENMING12 ;密码错误,蜂鸣器响两声 LCALL FENMING ;密码正确,蜂鸣器响一声 LJMP KEY_SET ;转键盘设置程序 FENMING12: LCALL FENMING2 XUJUMP: LJMP MAIN nts4 KEY_SET: LCALL KEY_READ ;判断所按的键是否为设置键? MOV A,20H CJNE A,#09H,KEY_SET LCALL FENMING KEY_SET1: LCALL KEY_READ MOV A,20H CJNE A,#10H,KEY_SET2 LJMP KEY_SET1 KEY_SET2 : LCALL FENMING MOV DPTR,#KPRG MOV B,#03H MUL AB JMP A+DPTR KPRG: LJMP KPRG_STAR LJMP KPRG7 LJMP KPRG4 LJMP KPRG1 LJMP KPRG0 LJMP KPRG8 LJMP KPRG5 LJMP KPRG2 LJMP KPRG_YES LJMP KPRG9 LJMP KPRG6 LJMP KPRG3 LJMP KPRG_SC LJMP KPRG_DEC LJMP KPRG_ADD KPRG0: LJMP KEY_SET1 ;0 号键处理程序 KPRG1: LJMP KEY_SET1 ;1 号键处理程序 KPRG2: LCALL KEY_READ ;2 号键处理程序即总设撤的设置 MOV A,20H CJNE A,#0CH,KPRG2 LCALL FENMING CPL P1.3 KPRG21: LCALL KEY_READ MOV A,20H CJNE A,#08H,KPRG21 LCALL FENMING LJMP KEY_SET1 nts5 KPRG3: LCALL KEY_READ ;3号键处理程序即各防点设撤 MOV A,20H CJNE A,#0CH,KPRG3 LCALL FENMING LJMP KEY_SET1 KPRG4: MOV R7,#06H ;4 号键处理程序即密码修改功能 MOV R0,#31H MOV R1,#31H KPRG4_1: LCALL KEY_READ MOV A,20H MOV DPTR,#CDATA MOVC A,A+DPTR CJNE A,#10H,KPRG41 LJMP KPRG4_1 KPRG41: MOV R0,A INC R0 DEC R7 CJNE R7,#00H,KPRG4_1 KPRG42: LCALL KEY_READ MOV A,20H CJNE A,#08H,KPRG42 LCALL FENMING KPRG43: LCALL KEY_READ MOV A,20H MOV DPTR,#CDATA MOVC A,A+DPTR CJNE A,#10H,KPRG44 LJMP KPRG43 KPRG44: MOV 40H,R1 CJNE A,40H,ERO INC R1 CJNE R1,#37H,KPRG43 KPRG45: LCALL KEY_READ MOV A,20H CJNE A,#08H,KPRG45 LCALL FENMING MOV 30H,#00H LCALL PAT24W LJMP KEY_SET1 ERO: LCALL FENMING2 LJMP KEY_SET1 nts6 KPRG5: LJMP KEY_SET1 ;5 号键处理程序 KPRG6: LJMP KEY_SET1 ;6 号键处理程序 KPRG7: LJMP KEY_SET1 ;7 号键处理程序 KPRG8: LJMP KEY_SET1 ;8 号键处理程序 KPRG9: LJMP KEY_SET1 ;9 号键处理程序 KPRG_STAR: LJMP KEY_SET1 ;*号键处理程序 KPRG_YES: LCALL FENMING ;#号键处理程序 LCALL FENMING LCALL FENMING LJMP MAIN KPRG_SC: LJMP KEY_SET1 ;S/C 键处理程序 KPRG_DEC: SETB C ;-号键处理程序 MOV A, P0 RRC A MOV P0,A KPRG_S: LCALL KEY_READ MOV A,20H CJNE A,#08H,KPRG_S LCALL FENMING LJMP KEY_SET1 KPRG_ADD: CLR C ;+号键处理程序 MOV A, P0 RLC A MOV P0, A KPRG_SE: LCALL KEY_READ MOV A, 20H CJNE A, #08H,KPRG_SE LCALL FENMING LJMP KEY_SET1 nts7 ;键盘求键值子程序 KEY_READ: MOV 20H,#10H MOV P2,#0FH MOV A,P2 CPL A ANL A,#0FH JNZ KEY_READ1 ret KEY_READ1: ACALL DELAY_10MS ;延时 10ms消抖动 MOV P2,#0FH MOV A,P2 CPL A ANL A,#0FH JNZ LKEYOUT LJMP KEY_READ LKEYOUT: MOV R2,#0EFH MOV R4,#00H CONT: MOV P2,R2 MOV A,P2 JB ACC.0,LONE ;是否在第 0行? MOV A,#00H AJMP LKEYP LONE: JB ACC.1,LTWO ;是否在第 1行 ? MOV A,#04H AJMP LKEYP LTWO: JB ACC.2,LTHR ;是否在第 2行? MOV A,#08H AJMP LKEYP LTHR: JB ACC.3,NEXT ;是否在第 3行? MOV A,#0CH LKEYP: ADD A,R4 ;求键号 MOV 20H,A WKFE: LCALL KEYIN JNZ WKFE LJMP KEYEND NEXT: INC R4 ;查找下一列 MOV A,R2 JNB ACC.7,KEYEND RL A MOV R2,A LJMP CONT KEYIN: MOV P2,#0FH MOV A,P2 nts8 CPL A ANL A,#0FH KEYEND: RET ;延时 10ms子程序 DELAY_10MS:MOV R5,#14H LOOP5: MOV R6,#0A6H LOOP6: DJNZ R6,LOOP6 DJNZ R5,LOOP5 RET ;蜂鸣器响一声子程序 FENMING: CLR P1.4 LCALL DELAY_10MS SETB P1.4 RET ;蜂鸣器响两声子程序 FENMING2: CLR P1.4 LCALL DELAY_10MS SETB P1.4 LCALL DELAY_10MS CLR P1.4 LCALL DELAY_10MS SETB P1.4 RET ;24C02写入数据子程序 PAT24W:ACALL WMOV9 MOV SLA,#SLAW MOV NUMBYT,#07H LCALL WRNBYT RET WMOV9:MOV R0,#MTD MOV R1,#30H MOV R2,#07H WMOV:MOV A,R1 MOV R0,A INC R0 INC R1 DJNZ R2,WMOV RET nts9 ;24C02数据读出子程序 PAT24R:MOV MTD,#00H MOV SLA,#SLAW MOV NUMBYT,#1 LCALL WRNBYT MOV SLA,#SLAR MOV NUMBYT,#06H LCALL RDNBYT ACALL RMOV8 RET RMOV8:MOV R0,#MRD MOV R1,#41H MOV R2,#6 RMOV: MOV A,R0 MOV R1,A INC R0 INC R1 DJNZ R2,RMOV RET ;24C02的启动信号子程序 STA: SETB SDA SETB SCL WAITS: JNB SCL,WAITS NOP CLR SDA NOP NOP CLR SCL RET ; 24C02的停止信号子程序 STOP: CLR SDA SETB SCL WAITP: JNB SCL,WAITP NOP SETB SDA NOP NOP CLR SCL RET ; 24C02的应答信号子程序 MACK: CLR SDA nts10 SETB SCL NOP NOP CLR SCL SETB SDA RET ; 24C02的非应答信号子程序 MNACK: SETB SDA SETB SCL NOP NOP CLR SCL CLR SDA RET ; 24C02的应答位检查子程序 CACK: SETB SDA SETB SCL CLR F0 JNB SDA,CEND SETB F0 CEND: CLR SCL NOP RET ;24C02发送一个字节数据子程序 WRBYT: MOV R0,#08H WLP: RLC A JC WR1 AJMP WR0 WLP1: DJNZ R0,WLP RET WR1: SETB SDA SETB SCL NOP NOP CLR SCL CLR SDA AJMP WLP1 WR0: CLR SDA
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:DZ041智能报警系统(无线型)
链接地址:https://www.renrendoc.com/p-512056.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!