《基于STM32的红外报警系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于STM32的红外报警系统的设计与实现.docx(23页珍藏版)》请在课桌文档上搜索。
1、基于STM32的红外报警系统的设计与实现摘要随着现在社会的发展,时代进步,高新技术的快速融入,人们的生活发生了巨大的改变,人们置购了大量高新技术的产品,许多高科技产品的使用越来越成为家庭生活的主旋律,因此人们对自己所处环境的安全要求就越来越高,特别是家居安全,不得不时刻留意不速之客的光顾。与此同时,红外技术已成为先进科学技术的重要组成部分,由于红外线是不可见光,因此用它进行红外探测监控,具有良好的隐蔽性,白天和黑夜均能使用,而且其抗干扰能力强。现在许多小区都有着保安看管,但在一些农村就没有这些设施了,于是,许多家庭都安装了报警系统,这有效的保护了大家的财产安全。在本文中,介绍一种利用热释电红外
2、传感器进行监控,并进行报警的系统的设计。热释电红外传感器,它的制作简单、成本低、安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。这种防盗器安装隐蔽,不易被盗贼发现,便于多用户统一管理。本设计包括硬件和软件设计两个部分。硬件部分包括单片机控制模块、红外探头模块、驱动执行报警模块、LED控制模块等部分组成。处理器采用单片机STM32,程序使用C语言编写。关键词:热释电红外传感器,STM32,红外线AbstractWiththedevelopmentofsociety,theprogressofthetimesandtherapidintegrationofhighandnew
3、technology,greatchangeshavetakenplaceinpeopleslife.Peoplebuyalargenumberofhigh-techproducts.Theuseofmanyhigh-techproductshasincreasinglybecomethemainthemeoffamilylife.Therefore,peoplehavehigherandhigherrequirementsforthesafetyoftheirenvironment,especiallyhomesafety,Wehavetokeepaneyeonuninvitedvisito
4、rs.Atthesametime,infraredtechnologyhasbecomeanimportantpartofadvancedscienceandtechnology.Becauseinfraredisinvisiblelight,ithasgoodconcealment,canbeusedindayandnight,andhasstronganti-interferenceability.Nowmanycommunitieshavesecurityguards,buttherearenosuchfacilitiesinsomeruralareas.Therefore,manyfa
5、milieshaveinstalledalarmsystems,whicheffectivelyprotecteveryone,spropertysafety.Inthisthesis,thedesignofamonitoringandalarmsystemusingpyroelectricinfraredsensorisintroduced.Pyroelectricinfraredsensorhastheadvantagesofsimplemanufacture,lowcost,convenientinstallation,stableanti-theftperformance,strong
6、anti-interferenceability,highsensitivity,safetyandreliability.Theanti-theftdeviceisconcealed,noteasytobefoundbythieves,andisconvenientformulti-userunifiedmanagement.Thisdesignincludestwoparts:hardwareandsoftwaredesign.ThehardwarepartconsistsofMCUcontrolmodule,infraredprobemodule,driveexecutionalarmm
7、odule,LEDcontrolmoduleandsoon.TheprocessoradoptssinglechipmicrocomputerSTM32,andtheprogramiswritteninClanguage.KeyWords:Pyroelectricinfraredsensor,STM32,infrared第1章结论4Ll研究背景及其意义41.2 国内外发展现状51.3 研究主要工作51.4 研窕说明安排错误!未定义书签。第2章方案设计62.1 总设计方案设计62.2 微控制器选型62.3 键盘模块选择62.4 总原理框架图62.5 系统基本原则要求7第3章硬件设计83.1 ST
8、M32单片机控制模块83.2 电源电路93.3 指示灯和报警电路模块93.4 按键控制电路10第4章软件流程设计114.1 设计思路114.2 硬件编程工具KEIL介绍114.3 工作流程设计124.4 报警判断程序12第5章系统调试145.1 硬件调试145.2 软件调试14第6章结论21致谢错误!未定义书签。参考文献错误!未定义书签。第1章绪论1.1研究背景及其意义科技发展到今天,人们的生活中涌现出各种各样的科技产品,各种各样的电子产品更是花样百出、遍及人们生活中的每一部分。现在人们更是感觉到了科技给人们带来的巨大发展,科学技术作为第一生产力,在人类社会的发展中起了很大的推动作用,人类从原
9、始走向先进的发展都伴随着科学的发展,从原始的手工到现在的智能控制都是科技发展的结果,先进的科技能减轻人体劳动量、能更合理地利用时间完成任务,可以说科技的微小发展都会给人类带来很大的好处。当代生活中的人们越来越感觉到了社会的飞跃发展,科技的飞速发展给人们很多实惠、生活、学习、工作中都渗透着科技,都能明显地感受到它发展地威力。安全防范技术是以电子技术为主体的一门综合性技术。它的特点是灵敏度高、反映迅速、具有极高的准确性、可靠性、客观性及时间上的连续性。随着国民经济的发展,社会安全保障的需要,电子报警这门综合技术也在不断地发展。针对这一要求人们研制了一系列自动报警系统。如有门磁式、触摸式、红外线监测
10、等自动报警系统,报警器为人们解决了不少问题.但是市场上的报警器大部分都是用于一些大公司财政机构。价格高昂,一般人们难以接受。如果再设计和生产一种价廉、性能灵敏可靠的防盗报警器,必将在防盗和保证财产安全方面发挥更加有效的作用。由于红外线是不见光,有很强的隐蔽性和保密性,因此在防盗、警戒等安保装置中得到了广泛的应用,此外,在电子防盗、人体探测等领域中,被动式热释电红外探测器也以其价格低廉、技术性能稳定等特点而受到广大用户和专业人士的欢迎。红外技术已经成为先进科学技术的重要组成部分,它在各领域都得到广泛的应用。由于它是不可见光,因此用它作防盗监控报警器,具有良好的隐蔽性,白天和黑夜均能使用,而且抗干
11、扰能力强防盗报警系统是用物理方法或电子技术,自动探测发生在布防监测区域内的侵入行为,产生报警信号,显示可能采取对策的系统。防盗报警系统是预防抢劫、盗窃等意外事件的重要设施。一旦发生突发事件,就能通过声光报警信号在安保控制中心准确显示出事地点,使于迅速采取应急措施。本设计正是基于此,设计了主动式、被动式红外防盗报警系统。本设计由单片机、红外线传感器、显示电路构成的红外线数据采集系统,可以方便的实现红外监测,并容易实现数据的远距离传送,系统的抗干扰性好、设计灵活方便。本系统可以广泛应用于存放贵重物品室内防盗。自从1800年英国的天文学家赫歇尔发现了红外线辐射,并且一直到现在来讲,红外线辐射的技术已
12、经发展了将近两个世纪,面面从那时开始,红外线辐射已经换完,原件和各项布线研究已经得到了一定的发展,并且在目前来讲,发展的过程当中比较缓慢,所以到1940年前后,才能够真正的实现真正意义上的技术,当时,德国在颜值滑稽种红安县方面材料通过这些一些常用系统,比如高射炮用到向以海岸用传播侦查一以及跟踪系统等,通过使用这些方式来达到实验室进行目标的完善,对于一些探测仪进行小批量的生产,能够满足实际使用过程再进行发展的过程当中,尤其是很多大国,要更加注重应用技术方面的使用,并且能够涉及到多个领域进行共同制作和发展。红外线技术的先导,也就是红外探测器的整体发展过程。并且从1800年开始,和馨儿就发现了红外线
13、辐射过程当中所使用的是水银温度计病情也是最原始的一项,红外线探测器一直到1830年之后也相继出现了温差电偶的热敏探测器等,在1940年之后所研究的红外探测器,也就是任命型的探测器已经得到了逐渐的发展,红外技术发展的先导是红外探测器的发展。在20世纪初已经测量了大量的无机物质以及有机物质,并且来凤活太久发射以及反射光谱能够证明红外线技术在整体都不止分析过程当中所体现的价值,在30年代,智慧己经出现了红外光谱带,所以,在进行发展的过程当中,这就成为了整体研发过程中的机器,40年代初,光电型红外探测器问世之后,逐渐朝着性能优良的趋势进行发展。而这一类探测器往往会由于性能方面比较优良,结构方面比较可靠
14、,而被现代的物理学家所进行使用,从而使得关键性的红外光谱记得到了最新的推动,一直到60年代的初期,对于三个重要的大气窗口也得到了性能比较优良的红外线探测器能够进行持续的发展和应用。1.3研究主要工作在这些研究的过程当中,我们主要通过以下几个方式来进行整体的完善,就是通过相关文献的资料来进行学习,我们通过在网络上搜索相关的网络文献来进行借鉴,能够阅读对应的理论知识,并且开发在学习过程当中的渠道。第2章方案设计2.1 总设计方案设计我们对整体的系统进行设计和总结,在本系统当中,主要采用了热释电红外线传感器的特点,并且将其进行制作的过程中,体现出简便的方法。2.2 微控制器选型STC89C52作为5
15、2单片机当中的一个典型产品,凭借着性价比比较高的优势来进行使用,再去编程方面也比较方便,所以也考虑成本方面的优势能够进行各个系统当中的开发工作,同时,又由于其中所体现的案例比较丰富,所以很容易在进行操作的过程当中上手。2.3 键盘模块选择进行整体键盘模块的选择设计工作当中,我们可以发现,其中,主要存在以下两种不同的设计方案,第一种就是确立按键选择在这个操作方法上是比较灵活的,所以不需要对其它不同的按键进行设置如果设置的比较多,就会造成资源方面的浪费现象,第二种就是采用矩阵按键,矩阵按键具有不同的规模,所以我们在进行选择时,可以选取确定的规格来进行整体的数据读取工作,而进行读取过程当中,也是一个
16、非常好的选择来进行运行。我们通过对于以上各种数据的对比工作来将其中所表达的案件数据进行联系和发展,能够找出其中所存在的单独设置按钮。2.4 总原理框架图功能模块图的流程进行下图所示:红外遥控横焕I-电源蟆块红外型IS电模块主控制横块按键慢块一图2.1功能模块图2.5 系统基本原则要求(1)反应迅速:由于当今社会的快速发展,各种办公场所和工作环境都需要提高硬件测试设备的便利性。该系统设计的基于单片机的STM32的红外报警系统的设计与实现必须首先反馈模块测得的数据。当检测到相应的监控数据时,立即将相应的数据发送给用户,用户可以继续执行相关的后续处理,达到相应的逻辑控制要求。硬件检测模块的反应性可以
17、准确地影响用户体验的效果,实现其相应的硬件反应性非常重要。(2)依赖可靠:为了实现系统功能,整个系统不仅可以在前期工作中准确地达到设计目标,而且能在后续开发中达到相应的设计要求。这样的设计是我们所有人所期待的,因此在整个开发过程中,我们应该基于系统可靠的功能,以便用户可以依靠我们长期开发的设备来实现其特定目标要求。在整个硬件测试和开发过程中,可靠的性能也很重要。(3)方便后期排查:在整个硬件测试过程中,我们必须将用户体验放在该项目的开发过程中,然后使用简单的模块技巧贯穿整个系统,让它可以进行友好的反馈和交互工作。对于软件系统编程,必须对各种功能进行模块化和封装。因为只有这样,它的功能实现才能在
18、以后的错误故障排除和系统功能添加工作中反映出特定的完整性。(4)性价指数达标:在整个硬件控制模块的迅速发展趋势下,琳琅满目的产品已占领整个市场。为了提高竞争力,可以在节省成本的前提下选择最合适的开发,避免了繁琐的硬件连接,而采用简单而合适的编程语言,编程环境的选择,这次开发的测试系统上可能会有类似的产品,因此只有在完善的性能和成本选择方面才具有比较优势,来反映我们整个产品的优势,达到我们设计基于单片机的STM32的红外报警系统的设计与实现的目的。第3章硬件设计3.1 STM32单片机控制模块设计中主控芯片采用STM32F103C8T6单片机作为主控制。该型号单片机为LQFP44封装,内部资源足
19、够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的Ol等等待周期仿真时可达到1.25MiPMHZ(Dhrystone2.1)。内部128k字节的闪存程序存储器,也就是说代码量可以写到128k字节,本次设计足够,内部高达20K字节的SRAM。STM32F103C8T6芯片工作电压在2.0V-3.6V,最佳工作电压在3.3V。芯片具有上电/断电复位(PoR/PDR)、可编程电压检测器。芯片可以外接416MHZ外部晶体振荡器,且可分频最高可达72MHZ。内部有经过出厂调校的40KHZRC晶体振荡器,可以产生CPU时钟的PLL;带有校准功能的32khz的RTC振荡器。具有
20、低功耗模式,可在睡眠、停机和待机模式。STM32F103系列具有2个12位模数转换器,Ius转换时间,多达16个输入通道。转换范围0-3.6V,转换通道还包含一个内部温度传感器,可以用来测量STM32内部温度。其片上具有定时器、ADCSPLIICUSART功能。STM32F103C8T6具有37个I/O,所以的I/O都可以映射到16个外部中断;除了A/D引脚外,几乎所以的I/O都可以接受5V的信号。该芯片的调试模式可用串行单片机调试(SWD)和JTAG接口。3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较PWM或脉冲计数的通道和增量编码器输入个16位带死区控制和紧急刹车,用于电机控
21、制的PWM高级控制定时器;2个看门狗定时器(独立的和窗口型的)。系统时间定时器:24位自减型计数器。如下图3-4TM32F103C8T6管脚图如图3.1所示。UlH447rH=g=l?=一新JF 一-?-_BOOTO. PBU SPLLMOS! IiME上心 PBl5 SPnzOSl TdffiLGBNVDD.3 VDD 二 VDD IPB8 TIMEtCHJ PB9TIME4-CH4 PBlO C2.SCL TXJ PBU C SDARX3PBO AN8TIME3.CH3 PBl AN9TIME3 CH4 PB2BOOTlPB3 HDOPB4 JNTRST PBf PB6Cl.SCL TiM
22、ELCHl PB? 11CLSDATlMEtCH2-萼手于一备 HlH-HwHqVBATPCBTIMERJtTCPCMOSC32.INPClSOSC32.OUTPDOOSCINPDlOSCeOUTNRSTPA6 AN6 SpnjVflSOTIMW-CHl JB12 SP12JJSSTIXffiIJBKINPA7 SP!LMOS!mfE3.CH2 PB” SP】LSCKTlMELCHINPAOUTCUPANOmlLCHIPAlAN1TIME2.CH2PA2AN2TX2TtMELCH3PA3AN3RX2TIME2CH4PA4AN4SMIJ4SSPASANSSPlLSeKPA8TMELCHlPA9T
23、XlTIMELCH2PaiorxitimelchjPAllTIMELeHJCANRXUSBDMPA12TIMELETRCANTXUSBDPPaujtmssutDIOVDDA VSSAPAUJTCKSWClKPAl5JTDIs7,F.S7a图3.1STM32F103C8T6管脚图3.2 电源电路电源模块需要考虑在输入和输出端增加滤波电路设计,滤除不必要的干扰,使整个电源电路更加稳定可靠。为了节约成本,选择5VUSB电源供电,通过电源芯片转换3.3V电压输出,给单片机、液晶显示模块、传感器等电路供电。电源电路如图3.2所示:电源接口电路人仰图3.2电源电路3.3 指示灯和报警电路模块声音报警模块的
24、主要工作目的是当数据达到设定的阈值进行用户提示工作,具体的模块通过蜂鸣器以及各种外围设备实现,当到达相关报警阶段,相关模块的数据会通过电平的高低数据来实现数据的传输,在单片机的I/O里会输出高低电平,在P20、P21和P22分别接上LED指示灯而P23接上蜂鸣器而蜂鸣器外接个8550的三极管起到开关作用,当三极管达到饱和状态下就驱动了蜂鸣器工作了。指示灯和报警电路如下图3.3所/KO图3.3指示灯和报警电路3.4 按键控制电路本电路的设计就是为了控制电路中布防和紧急状态下不同的工作形式,当按下布防按键后,30秒后进入监控状态,当有人靠近时,热释红外感应到信号,传回给单片机,单片机马上进行报警。
25、当遇到特殊紧急情况时,可按下紧急报警键,蜂鸣器进行报警。如图3-4所示。图3.4按键部分第4章软件流程设计4.1 设计思路基于单片机的STM32的红外报警系统在进行整体设计和研究的过程当中,需要以多个模块作为基础来进行整体的传输和梳理工作,如果再进行整体的编码过程当中,能够实现编写,那么,在后期中就可能会出现很多问题,所以我们需要更多的人力和物力来作为基础进行发展并且找到对应的模块,进行数据化的处理工作,来将各个模块进行实现功能之后来进行相关模块的调运工作,这样在后期的制作过程当中就会更加方便,能够更加简便,与软件流程方面的设计优化,设计过程中的思路能够体会编程的优势,其中,主要存在以下几个部
26、分:(1)每一个模块进行设计的过程当中,数据都非常方便,能够进行获取,所以我们可以通过采用单独调用处理的工作来进行安排。(2)一旦出现相关数据问题时,我们可以找到对应的函数来进行解决,从而提高办公过程中的效率问题。(3)这个模块清数据处理时是非常方便的,所以对应的函数应该减少,在内存方面的应用,从而提高整体系统运行过程中的作用和功能。4.2 硬件编程工具KEIL介绍KEIL在为人公司当中所提出的一种专门用于对硬件进行编程和调试的工作,有间的过给开发工作人员一个统一的开发平台,方便整体部门的调优工作,所以,在进行编程的过程当中我们往往会实现翻译成对应的开发文件,能够进行整体的跳跃工作的开发编码,
27、过程当中能够更加快速的使用对应的文件来进行发展,最后,通过数据来进行整体的工作方。由于当代的计算机在进行操控过程当中仍然不够成熟,所以很多代码都只有用户进行任意的去选择,所以,对于一些主流或者是在当代快速发展的软件,往往还是应该根据平台的选择来进行发展,因此,在本平展的过程当中所存在的优点不是友好的界面,从而更加方便用户进行相关操作方面的工作,进行的过程当中也包括了多种编译器以及多种函数库方面的发展,能够更加快速的实现各项函数库的使用工作,能够将整体的软硬件流程落实到工作过程当中,更加方便与软件的开发过程,能够提高在软件开发过程当中所体现的效率。在整个数据的处理过程中,首先通过单片机、温度传输
28、模块以及烟雾传输模块进行初始化管脚信息,便于整个系统进行自检工作。因为系统不会告诉我们此时的系统运行到那个阶段了,但是通过我们的编程提示进行相应的人机交互,编译我们了解整个设备的运行情况,数据传输模块进行网络设置的时候通过发送相应的指令使得传输模块进行相应的初始化配置工作并且设置相应的声光报警模块报警峰值进行相应的后续气体数据以及报警峰值设置的选择。整个系统运行到这块的时候已经基本功能己经实现了。具体流程图如下图4.1所示。图4.1程序流程图4.4报警判断程序来的脉冲信号后,表示有人闯入监控区,从而经过单片机内部程序处理后,驱动声光报警电路开始报警,持续报警,然后程序开始循环工作。voidho
29、ngwai_dis()(if(flag_alarm=1)报警(red=-red;红灯报警beep=-beep;/蜂鸣器报警)if(flag_bufang_en=1)准备开始布防(green=-green;绿灯闪)if(flag_bufang=1)确认布防(green=0;如果延时布防成功绿灯长亮if(hw=1)/红外有输出(flag_alarm=1;)第5章系统调试5.1 硬件调试在整体进行硬件排查以及调试的过程中,首先就要进行各个模块以及主要的处理,单片机之间的管脚引线是否安装合理,如果相对应的数据传输引脚没有完成合理的接通,那么在后期软件逻辑处理的时候不能得到关键的数据值,就会对于整个系统
30、的软件错误排查起到抑制作用,就不能方便快速的找到对应的问题,在进行检查设备的规格和极性是否有错误的时候,如果电路板和电源之间存在短路,请使用万用表解决此问题。5.2 软件调试5.2.1 Keil编译器软件简介Keil是美国KeiISOftWare公司出品的单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil软件提供丰富的库函数和功能强大的集成开发调试工具,全WindOWS界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeiI生成的目标代码效率非常之高,多数语句生成的汇编
31、代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍KeiI开发系统各部分功能和使用。图5.1工具包整体结构图Keil单片机软件开发系统的整体结构工具包的整体结构,如图3.1所示,其中Vision与Ishell分别是forWindows和forDOS的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由及编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经连接定位生成绝对目标文件(.ABS)ABS文件由0H51转换成标准的HeX文件,以供调试器
32、使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPRC)M中。5.2.2 使用Keil软件建立一个工程KeiI是目前进行51单片机开发最常用的编译软件。关于KeiI的使用,有很多的资料介绍,这里只介绍其整个编译过程,在最短时间内开始使用开发板。对于KeiI更详细的介绍,可以参考一些专门书籍资料。在KeiI里,每一个完整的程序,都是以一个工程的形式建立的。一个工程里可以有一个或多个*.c文件和*.h文件,但只可以有一个main()函数。一般的做法是将包含main()函数的C文件加入到工程中,其他文件以include头文件的形式加到这个C文件里。这样,在编译
33、的时候,其他的文件会被自动的导入到工程里来。打开Keil软件后,出现(52)所示界面。当然,如果Keil在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。图5.2Keil软件主界面首先点击Project-NewProject-,(Project-OpenPrOjeCt为打开一个已经存在的工程),如图5-3所示。File Edit ViewDebug Flash Peripherals Tools SVCS Window HelpImport U Visionl Project. Close Project图5.3 Keil软件打开新工程界面点开后,在出现的对话框中选择工程存在
34、路径,单击“保存”后,出现(如图5-4所示)界面。在此界面上选择电路板上所用的单片机型号:图5.4选择电路板上所用的单片机型号设置完成后,软件会提示“是否将8051上电初始化程序添加入工程?”如图5-5所示,这个一般选择“否二(关于STARTUP.A51的相关内容可查阅相应资料)图5.5是否将上电初始化程序添加入工程这样,就建立了一个空的工程。接下来的事,就是在这个工程里面加入自己的程序代码。点击倒,或者File-New,便建立了一个空的文本框。现在,就可以开始在里面输入你的代码了。保存时注意:如果是用C语言写的程序,则将文本保存成*.c,如果是用汇编写的程序,则将文本存成*.asm。到目前为
35、步,我们已经建立了一个工程,也写了一个程序代码。但现在还不能开始编译。因为还没有将程序代码添加到工程里面去。下一步就是将写完的程序添加到工程里面,如图5-6所示,在左边ProjectWorkspace里的SourceGroUPI上右击,选择AddFilestoGroupSourceGroup1,o在打开的对话框中,选择刚存的文件路径和对应的扩展名。这样,程序就添加进了这个工程。first-Wisio2-E:新开发板,第一个工程ld.”=1FileEditYieYProjectDebugFlashPeripheralsToolsSVCSYindo*Help笆言S31%至电Iq叱I隼室z4%,无哂
36、信昌B而I2曲用物茵画后M写IT13Project Workspiceog OOOOh ajmp startSelectDeviceforTarget,TargetOPtion%forGroup,SourceGroupVQPEFile例iRebUildtrgtuildtargetTranslateFilerStOPb5ildAM-FlestoGroupSourcero运工ManageComponentsRemoveGroup,SourceGroupandit,sFilesIKI r 一MoPMAA O5VGIncludeDpndncisBuild 卜 COmmand 人 Find in Fk:
37、-ll l-UI l|L:8Cli11MIRf4图5.6添加文件到工程中下一步,就开始编译刚输入进去的代码。点击工具栏中的畿按钮。接着,Keil会打出下面的提示:BuildtargetTargetassemblingled.asm.linking.ProgramSize:data=8.0xdata=Ocode=100first-0Error(s),0Warning(s).其中wfirst-0Error(s),0Waming(s).,说明现在的工程编译通过,0个错误和。个警告。建立工程的时候,默认是不生成HEX文件的,得在编译做如下设置:单击术,或者在PrOjeCtWOrkSPaCe里Targe
38、tl上右击,选择OptionsforTargetTarget1。出现如图57所示对话框,选择“Output”按图示,将箭头所指的多选框勾上,点“确定”。现在再点击倒重新编译,系统提示:“creatinghexfilefrom“first”./。便会在工程所在文件夹里生成HEX文件。图5.7生成HEX文件5.2.3 使用Debug进行调试KeiI有很强大的调试功能,可以显示C程序的反汇编代码、可以计算代码运行的时间、可以显示程序中某一变量的值能用好这个调试工具对编写单片机程序会有很大的帮助。同样的,在这里,只对DebUg进行简单应用介绍,更详细的使用方法可以参看相关书籍资料。图5.8调试前设置窗
39、口首先,单击木,弹出如图5-8所示对话框,在Target页面上设置对应的晶振频率。其他不用作修改。设置完成后,单击,进入调试界面(如图59所示)。P.firt-Wision2-E:SI开发板第一个工程ld.”.g l国EileEditViewProjectDebugELeSKPeripheralsToolsSVCSWindowMelp窗或Po%晶00二,三用力,无为左三MI昌面面Y包眄SS繇I回硒注*-O瑟优I倏即攀甘标Project WorkspaceRegisterValueMmrlr2r3r4r5r6r7 ReOXOXOXOXOXOXOXOXOrg OOOOh ajap startorg
40、 0030h nov rz #0Oh call out call delayBOV cl, 。/ MOV rx #0Ih call out call Lyw call delay djnz lz alMoP卓1.oadE:新开发板第一个工程firstASMASSIGNBreakDisableBreakEnableBreakKillBreakListBreakSetBreakAccess图5.9Keil调试界面点击相别料十塔中对应的工具按钮则可以开始调试。另外,“View”下的三个工具在调试中会经常用到如.图5-10所示,“DisassemblyWindow”显示C文件的反汇编程序;“Watch
41、&CallStackWindOW”可以显示程序中某一变量的值;“MemoryWindow”可以显示内存中某一地址的值。DisassemblyWindoW11Watch&CallStackWindow三3MemoryWindoW图5.10三个常用的调试工具第6章结论本设计研究了一种基于单片机技术的热释电智能防盗报警器。该防盗报警器通过以STC89C52单片机为工作处理器核心,外接热释电红传感器,它是一种新颖的被动式红外探测器件,能够以非接触方式探测出人体发出的红外辐射,并将其转化为相应的电信号输出,同时能有效的抑制人体辐射波长以外的红外光线与可见光的干扰。平时传感器输出低电平,当有人在探测区范围
42、内移动时输出低电平变为高电平,此高电平输入单片机,作为单片机的外部触发信号处理,经单片机内部软件编程处理后,单片机输出控制信号,驱动声光报警电路开始报警。该报警器的最大特点就是使用户能够操作简单、易懂、灵活;且安装方便、智能性高、误报率低。随着现代人们安全意识的增强以及科学技术的快速发展,相信报警器必将在更广阔的领域得到更深层次的应用。到目前为止我的毕业设计也即将告一段落了,在这次的毕业设计中,自己也学习到了很多以前没有没有经历过的知识,让我更加清楚了理论知识和实践能力的差别了,了解到自己的短处,培养了我的独立思考能力,进一步提高了自己在实际设计过程中研究问题、发现问题、解决问题的能力,同时,也发现了自己的不足之处,和一些问题的存在,并有待进一步学习和发展,让自己在未来的工作和学习之中更快的适应和提高自己。hnique,2016(03):5-9.