当前位置:首页 > 基于单片机的红外报警器的设计
单片机原理及系统课程设计报告
主程序流程图如图3所示。
开始系统初始化,绿灯亮检测外部有无信号输入NY单片机启动声光报警并显示报警次数是否有外部中断信号YN报警是否持续到设定时间NY声光报警结束中断声光报警是否复位NY结束
图3 主程序流程图
4.3源程序
基于单片机的红外线防盗报警器设计的源程序如附录所示。
5系统仿真及实际调试
在proteus中,找到各个元件,画出仿真电路,并用Keil uVision3软件生成.hex文件,把该文件导入51单片机中,然后进行仿真。其仿真图如图4、图5所示。
- 4 -
单片机原理及系统课程设计报告
图4 仿真运行截图
图5报警时的仿真截图
- 5 -
单片机原理及系统课程设计报告
6总结
这次课设最大的收获是学会使用Keil uVision3和Proteus软件。使用Proteus感到很新奇,但在真正绘制电路图时才发现自己平时积累太少,根本无法找到所需要电子元器件。本次单片机课程,将所学的单片机知识运用到实践当中,进一步加深了知识的理解。此外,借本次课程设计的机会,我还了解了热释电传感器,丰富了自己的知识。在设计的过程中,也遇到了许多问题,但是通过查资料,向别人请教,最后得以解。归结到一点就是我们要有足够的耐心,足够的细心,足够的分析问题、解决问题的能力,才能不断地进取,不断地创新,不断地充实。用汇编语言编写的程序另存为时应保存成.asm文件,用C语言编写的程序另存为时应保存成.c文件。初次使用Proteus感到有点无从下手,所以在绘制电路图时才发现无法找到所需要电子元器件,最后在网上搜到电子元器件的中英文对照表后才得以顺利进行。
参考文献
[1] 王思明,张金敏,张鑫等单片机原理及应用系统设计[M].北京:科学出版社,2012.5 [2] 李广弟.单片机基础[M].北京航空航天大学出版社,2001.08. [3] 王毓银,数字电路逻辑设计[M],高等教育出版社,2004.
- 6 -
单片机原理及系统课程设计报告
附录 源程序
ORG 0000H LJMP MAIN ORG 0003H LJMP DINT0 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
- 7 -
单片机原理及系统课程设计报告
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
- 8 -
共分享92篇相关文档