好文档 - 专业文书写作范文服务资料分享网站

基于单片机的红外报警器的设计

天下 分享 时间: 加入收藏 我要投稿 点赞

精品

ORG 0200H

1.主程序

MAIN:MOV R0,#00H

MOV IE,#81H ;CPU开放中断,INT0允许中断 SETB IT0 ;外部中断为边沿触发方式 MOV SP,#30H ;指针入口地址 SETB P3.0 ; 红灯不亮 CLR P3.1 ; 喇叭不响

MOV P1,#0FFH ;使P1口全部置1 MOV P2,#00H ;P2口清零 MOV A,#3FH

MOV P2,A;数码管初始化显示0 CLR P1.2 ;绿灯亮

JCE: JNB P1.0,FD ;检测外部触发信号 FD: ACALL DELAY ;延时消抖

JNB P1.0,BAOJING ;再次检测外部触发信号,若有就转入报警子程序 AJMP JCE

2.消抖延时子程序 DELAY: MOV R1,#0AAH LOD2: MOV R2,#0BBH LOD1: NOP

DJNZ R2,LOD1 DJNZ R1,LOD2 RET

3.声光报警子程序

BAOJING:SETB P1.2 ;开始声光报警使正常工作指示灯熄灭

MOV A,#00H INC R0

CJNE R0,#10,LOP MOV R0,#00H

LOP: MOV A,R0

MOV DPTR,#TAB

MOVC A,@A+DPTR;查段码表

感谢下载载

精品

MOV P2,A;送P2口显示

TAB: DB 3FH,06H; 数码管段码表

DB 5BH,4FH DB 66H,6DH DB 7DH,07H DB 7FH,6FH

MOV 50H,#14H ;1S循环次数 JNB P1.3,L7 JNB P1.4,L8

L7: MOV 51H,#05H

AJMP L9

L8: MOV 51H,#0AH;10秒循环次数

L9: MOV TMOD,#01H ;定时器T0,工作方式1

MOV TL0,#0B0H ;置50ms定时初值 MOV TH0,#3CH SETB TR0 ;启动定时器T0

L2: JBC TF0,L1 ;查询记数溢出

SJMP L2

L1: CPL P3.0 ; 红灯亮

CPL P3.1 ;喇叭响 MOV TL0 ,#0B0H MOV TH0, #3CH JNB P3.2,L10 DJNZ 50H,L2 CPL P3.0 CPL P3.1 MOV 50H,#14H

DJNZ 51H,L2 ;未到10S继续循环 CLR P1.2 ;报警结束,正常工作绿指示灯亮

L10: SETB P3.0 ;10s到关闭报警

CLR P3.1 ; 关喇叭 LJMP JCE ;循环,继续工作

4.外部中断DINT0服务程序

感谢下载载

精品

DINT0: CLR EX0 ;外部中断0服务程序开始,屏蔽外部中断

PUSH PSW PUSH ACC SETB P3.0 CLR P3.1

CLR P1.2 ;使报警结束,绿指示灯亮 POP ACC POP PSW

SETB EX0 ;开放外部中断0 RETI;中断返回 END

感谢下载载

精品

感谢下载!

欢迎您的下载,资料仅供参考

感谢下载载

基于单片机的红外报警器的设计

精品ORG0200H1.主程序MAIN:MOVR0,#00HMOVIE,#81H;CPU开放中断,INT0允许中断SETBIT0;外部中断为边沿触发方式MOVSP,#30H;指针入口地址SETBP3.0;红灯不亮CLRP3.1;喇叭不响MOVP1,#0FFH;
推荐度:
点击下载文档文档为doc格式
8z4t37yitj3qhtz4wh2h1h1yk7phhy00sj0
领取福利

微信扫码领取福利

微信扫码分享