《单片机课程设计红外报警器的设计》由会员分享,可在线阅读,更多相关《单片机课程设计红外报警器的设计(14页珍藏版)》请在金锄头文库上搜索。
1、 单片机原理及应用课程课程设计课 题 :红外报警器的设计姓 名 : 学 号 :班 级 :日 期 :2012年3月21日 评 阅 人 : 实验成绩 : 目 录一、 设计背景 3二、 设计方案 3三、 实验部分电路 6四、 设计心得与体会 9五、 参考文献与附录9一、设计背景 随着时代的进步,人们对自己所处环境的安全性有了更高的要求,尤其是在家居方面,不得不时刻留意那些不速之客,这就要求人们找到一种有效的自动报警方式,红外线的隐蔽性和保密性非常符合这些要求。红外报警器,它能检测到物体的侵入或者故障,并报警引起人们的警觉,以便排除故障。红外线报警器分主动式和被动式两种。 主动式红外线报警器,是报警器
2、主动发出红外线,红外线碰到障碍物,就会反弹回来,被报警器的探头接收。当有物体触犯了这根看不见的红线的时候,探头检测到有异常,就会报警。 被动式报警器少了一项功能,就是发射红外线。物理学上告诉我们,当物体的温度高于 0K 的时候,就会发出红外线,即任何物体都能发出红外线。而其后的原理,被动式报警器和主动式是一样的。 温度越高的物体辐射出的红外线越强,红外线报警器接收到环境中存在高出背景强度的辐射时就触发报警。本课程设计即是对于主动式红外报警器的设计,即通过红外收发管实现红外报警的功能,加强对红外报警器的了解。二、设计方案1、概述设计包括硬件和软件两个部分。模块划分为数据采集、报警、记录和显示等模
3、块子函数。就电路而言,即硬件由单片机、输入/输出设备、以及外围应用电路等组成,因实验箱上已经含有各部分电路,只需用导线对其进行正确的连接即可。软件是各种工作程序的总称,通过硬件和软件实现设计需求。因单片机是设计的中心模块,因此红外报警系统是单片机系统的一种实际应用。2、总体设计从设计要求得出该设计包含如下结构:红外探头收发电路、单片机核心电路、中断电路、LED显示电路、发光二极管显示、声音报警电路及相关的控制管理软件组成,关系如下图示: 处理器采用51系列单片机。整个系统是在系统软件控制下工作的。红外发射管接高电平发射红外线,有物体侵入时接收管接收到红外线,变为低电平。在单片机内,经软件查询、
4、识别判决等环节发出入侵报警状态控制信号。3、系统硬件选择 本设计中用到的器件如下:MCS51核心板、红外收发管、三档开关、LED数码显示管、发光二极管、按键、蜂鸣器等。4、软件的程序实现 按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图所示:信号是否移除是否中断报警监测外部有无信号输入初始化:报警器不响,红灯灭,绿灯亮,计时为0开始始显示记录报警时间,报警器响,红灯亮,绿灯灭。手动记录次数加1显示报警时间归0,报警器不响,红灯亮 程序实现的功能是:当单片机检测到外部送过来的脉冲信号后,表示有物体通过监测区,经单片机内部程序处理后,驱动声光报警电路报警,报警持续进行并开始计时,手动记录
5、次数加1,直到物体移除(此时红灯灭,报警器不响,绿灯亮,计时时间变为0)或者手动按键中断报警(报警器不响,红灯依然亮,计时时间归0)直到物体移除,红灯灭,绿灯亮,然后程序开始进行循环工作,检测下次的触发信号,使报警器进入连续工作状态。 手动停止报警中断服务程序工作流程如下所示:四、实验部分电路1 、MCS-51核心实验板MCS-51 核心实验板电路结构框图如图1 所示,包括MCS-51 系列CPU,USB 和RS232串行通讯接口,发光二极管、数码管、按键、A/D 和D/A 器件等。为减小印刷电路板面积,核心实验板上的数码管采用动态显示方法,A/D 和D/A 均选用串行接口器件。2、红外收发电
6、路发射端R_OUT接5V高电平使发射管一直发射红外线,当接收管为低电平是意味着有信号输入。将R_IN接到P2.0口检测,若P2.0为低电平则有信号侵入,报警开始。所以P2.0口为低电平有效。3、蜂鸣器电路将SDIN接到P2.3口,经检测为低电平有效,即当P2.3口为低电平时蜂鸣器响。4、数码管显示电路MCS51 核心实验板上的6个数码管显示器,工作于动态显示方式,3个数码管为一组,共2 组。电路原理如下图所示。显示器接口方式分为串行和并行两种,由跳线器S2 来选择串行还是并行显示。当跳线器S2 连接到“P”的位置时,数码管显示器工作在并行接口方式。当S2 连接到“S”的位置时,工作在串行接口方
7、式。其中数码管显示的控制线使用的是P1口的P1.0P1.3 引脚。本实验使用的是并行动态显示。实现时间和次数的显示。前三位显示次数,后三位显示时间。中间用小数点隔开。5、LED发光二极管电路将C_L1接P2.1代表正常工作时的绿灯,C_L2接P2.2代表故障时的红灯。因发光二极管低电平有效,根据此用程序控制发光二极管的亮灭从而显示监测到的状态。6、按键电路本实验使用的是按键K4,对于与P1.7口,低电平有效,即低电平时有按键按下,实现记录次数加1 ,按键电平的检测是1s进行一次,所以在实际应用是要把握好将键按下时的时间。另外还有一个三档开关,实现中断控制,接到P2.7,低电平有效,即低电平时表
8、示进行了中断。各单元的具体程序实现见附录。四、设计心得与体会我的单片机课程设计题目是: 红外报警器的设计,要求能利用红外收发管探测物体并报警显示和记录,红外收发管以前没接触过,所以我就上网查了一下红外收发管的工作原理以及它的应用,现在的红外报警技术已比较成熟,网上的资料很多,总结了一下前人的经验,我们就试着进行初步设计。刚开始是准备做一个家居使用的红外报警器,实现起来比较简单,来到学校后,同学提出了一个比较新的思路,做一个电力系统的红外报警器,若电力系统故障则报警,报警器响,红灯亮,警示工作人员,同时记录故障持续的时间。如系统故障自动排除则红灯灭,绿灯亮,报警解除,若不能自动排除,则工作人员中
9、断报警,此时红灯亮,但报警器不响,故障排除后,红灯灭,绿灯亮,显示工作正常。同时,还增加了一个按键手动记录故障的次数,目的的记录不可排除故障的次数。参考教材和网上资料,我们把最初的程序完成了,但这仅仅是纸上谈兵,没经过实践的东西都是虚幻的。第一次去实验室调试程序,结果不甚令人满意,主要表现在时间和次数的显示问题,显示非常混乱,没有规律,我们尝试的修改了程序,把串行动态显示部分改成并行动态显示,但还是和原来一样,达不到所要求的效果。回来后重新研究了一遍程序,向同学请教,发现是中断程序有问题,我们把中断程序进行了修改。第二次去实验室调试是比较成功的,当然还存在着一些小问题,但问题就是来解决的,不断
10、调试,不断修改,程序也越来越接近完美,最终实现了预期的效果。单片机课设是我接触的第一个课程设计,意义非凡。通过这次课设,我不仅加深了对单片机课程的理解,也接触了一块新的天地:红外报警技术。调试程序的过程中,发现问题,解决问题,培养了我团队协作,动手实践的能力,当然,不能说我们的实验是完美的,有很多方面都可以改进,有很多问题可以探讨。但总体上还是令人满意的。人生就是一个不断学习,不断成长的过程,虽然会有挫折,但我们要勇于面对,就像程序中的那些不合理一样,弄明白了,就迎刃而解了。五、参考文献和附录 1、参考文献【1】单片机原理及应用(第二版) 姜志海 黄玉清 刘连鑫 编著 电子工业出版社【2】MC
11、S51系列 单片机原理及应用 实验指导书【3】百度文库 基于89S51的红外报警器课程设计2、附录TIMC0 EQU 63HTIMC1EQU 64HDATA_H EQU 61HDATA_L EQU 62HD_DAT0 EQU 6AHD_DAT1EQU 6BHD_DAT2 EQU 6CHD_DAT3EQU 6DHD_DAT4EQU 6EHD_DAT5EQU 6FH ORG 0000H LJMP STARTORG 000BH LJMP TIMORG 0100HSTART: MOV SP,#30HMOV P0,#0 CLR P1.1CLR P1.2MOV R0,#D_DAT0 MOV R1,#01H
12、 MOV TMOD, #02H MOV TIMC0,#0MOV TIMC1,#0 MOV DATA_H,#0SETE P2.3 ;P2.3报警信号,高电平有效SETB P2.1 ;P2.1绿灯红灯信号SETB P2.2 ;P2.2红灯信号MAIN: LCALL DISPDETECT:SETB P2.0 JNB P2.0, COUNT;有输入信号则跳转,检测是否有中断报警信号CLR P2.1SETB P2.2SETB P2.3CLR ET0CLR TR0MOV DATA_L,#0;无输入信号报警解除,红灯灭,绿灯亮,定时器关闭,报警时间清零 AJMP MAINCOUNT: SETB P1.7JB
13、 P1.7, OFF_ALARM INC DATA_HOFF_ALARM: SETB P2.7 JB P2.7,ALARM;有输入信号且无中断报警信号,则跳转报警SETB P2.3SETB P2.1 CLR P2.2CLR ET0CLR TR0 MOV DATA_L,#0 ;中断报警后,报警停止,红灯保持亮的状态,绿灯灭,关闭定时器,报警次数加1,报警时间清零AJMP MAINALARM: INC DATA_L;有报警信号且无中断报警信号,则报警且红灯亮,报警时间加1s CLR P2.3CLR P2.2 SETB P2.1 DELAY: MOV TL0,#6 MOV TH0,#6 SETB ET0 SETB TR0SETB EADELAY1: MOV A, TIMC0 CJNE A,#40,DELAY1MOV TIMC0,#0 INC TIMC1 MOV A, TIMC1 CJNE A,#100,DELAY1MOV TIMC1,#0 AJMP MAIN ;利用定时器,每隔1S检测一次输入信号和中断信号TIM: LCALL DISPINC TIMC0 RETIDISP: LCALL DIVER ;显示子程序,小数点前显示报警次数,小数点后显示报警