智能楼宇防盗与灯光控制_第1页
智能楼宇防盗与灯光控制_第2页
智能楼宇防盗与灯光控制_第3页
智能楼宇防盗与灯光控制_第4页
智能楼宇防盗与灯光控制_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西安工程大学本科毕业设计(论文)西安工程大学本科毕业设计(论文)毕业设计(论文)题目:学院:专业班级:指导教师:职称:副教授学生姓名:学号:

摘要在现代化技术高度发展的今天,犯罪更趋智能化,楼宇防盗必须与电子技术、传感器技术和计算机技术相结合,才能将发挥最大的功能作用,智能楼宇防盗报警系统也就应运而生。由于采用了红外检测技术,智能楼宇防盗系统具有很强的隐蔽性和保密性,而且由于不依靠视觉特性,该系统可以在任何时段发挥作用。不仅如此,随着生活节奏的加快,人们对自身生活条件也有了较高的要求,比如,希望楼宇灯控系统能够自动判断是否需要提供照明,但是随着社会节能意识的不断增强,灯光开启后能及时关闭的功能也就显得更为重要。本文设计了一个以热释电红外传感器和AT89S52为核心控制芯片的智能楼宇防盗及灯控系统。本系统通过对外部红外传感器输出信号的判断,并对照当前时间,执行对应功能的子程序;另外,通过对外部键盘键值的判断,由微处理器控制实现人机交互功能;显示部分采用低成本的数码管。设计出的系统可以检测90-140度的平面范围,探测距离最远可以达到15米,实现了系统要求的功能。关键词:智能楼宇,热释电红外传感器,灯控报警

ABSTRACTNowadays,Moderntechnologydevelopsfasterandfaster,crimebecomemoreintelligent.Buildingsecuritymustbecombinedwithelectronictechnology、sensortechnology、computertechnologywhichcanplayarole.ThentheIntelligentBuildinganti-theftalarmsystemwillcomeintobeing.Becauseoftheapplicationoftheinfraredthermometrictechnology,thesystemhasagoodconcealmentandconfidentiality.Moreover,asthevisualcharacteristicisnotreliedon,thesystemcanplayitsroleatanytimewithouttheimpactproduced.Notonlythat,withthespeedingupofpaceoflife,peoplehavehigherrequirementsfortheirlivingconditionssuchasthatthebuildinglightscontrolsystemisexpectedthatitcanautomaticallydetermineswhetherneedtoprovidelighting.However,asthecontinuouslyenhanceofthesociallyawarenessofenergyconservation,itisimportantthatifthelightcanbeturneddowntimely.ThedesignationofanIntelligentBuildingSecurityandLightControlSystemisintroducedinthispaper,itscoreareAT89S52andhydroelectricinfraredsensors.First,theoutputsignaloftheinfraredsensorsisjudgedexternally.Thenreferencethecurrenttimeandperformtheroutinescorrespondingtodifferentfunctions.Inaddition,theHCIfunctionisachievedbyMCUwhichjudgesthatwhichkeyispressed.Digitronisusedtodisplaybecauseofitslowcost.Thedetectedplanescopeofthesystemis90—140degreesandthedetecteddistancecanreachasfaras15meters.Thefunctionthesystemrequiredisachieved.KEYWORDS:IntelligentBuilding,PyroelectricInfraredSensors,LightControlandAlarmPAGE2前言随着社会和经济的发展、物质生活水平的提高,人民的生活也日益改善,进而人们对所处环境的安全性也提出了更高的要求,尤其是在家居安全方面。鉴于此,安全防御系统的设置就显得极其重要,人们采取了许多措施来保障安全,以往的做法是安装防盗门、防盗网,但也存在有碍美观,不符合防火要求等不足之处,而且由于这些方法的科技含量太低,不能有效地防止坏人的入侵。因此,人们对自己所处环境的安全性提出了更高的要求,在这样的社会背景和需求下,智能楼宇防盗报警系统也就应运而生,而且它已经成为小区智能化的必要组成部分;然而,对于物业公司,又必须考虑投入成本和业主的负担。这样,智能楼宇监控系统的低成本、高性能等特点就显得尤为重要。由于红外线是不可见光,有很强的隐蔽性和保密性,且报警准确、迅速,控制系统简单实用,更重要的是,它不依靠视觉特性,可以在任何时段发挥作用,不会受到外部环境可视条件的影响,是智能化建筑安全防御的最佳选择。而随着科技的发展,一些重要又实用的辅助功能也逐渐被集成在楼宇监控系统中,比如自动供水系统,照明系统等等。在当今工业水平飞速发展,国家能源日趋紧张的情况下,这些具有节能作用的自动控制功能也就得到了越来越多的重视。现在的防盗报警器一般采用以下几种方式:针孔摄像机、微波探测器、红外报警探测器等。其中针孔摄像机是通过隐蔽的摄像机对监控区域进行实时拍摄,当监控人员通过监视器发现异常时可以及时的作出反应,但这种方法在可视效果不好的情况下发挥不出作用。微波探测器的工作原理基于多普勒效应。微波的波长很短,在1mm~1000mm之间,因此很容易被物体反射。微波信号遇到移动物体反射后会产生多普勒效应,即经反射后的微波信号与发射波信号的频率会产生微小的偏移。此时可认为报警产生。红外报警探测器的原理是:凡是温度超过绝对0℃的物体都能产生热辐射,而温度低于1725℃的物体产生的热辐射光谱集中在红外光区域,因此自然界的所有物体都能向外辐射红外热。而任何物体由于本身的物理和化学性质的不同、本身温度不同所产生的红外辐射的波长和距离也不尽相同,人体辐射的红外光波长3~50μm,其中8~14μm占46%,峰值波长在9.5μm。从近年人们对防盗监控的新要求来看,隐蔽化,集成化和智能化将是楼宇防盗及灯控系统的特点和发展趋势,而且现在已有的智能楼宇系统大多数都是集网络布线、门禁、供水、物业管理等众多功能为一体的,也就是整个小区的管理和监控只需要一套完全的系统即可实现。本设计主要对楼宇监控的基本功能进行了设计,可以分时段对检测到的信号做出不同判断;采用了模块化的设计方法,将整个系统分解为不同的程序模块,再将不同程序模块分为不同的子程序,用多个小程序组成了功能负载的系统。本设计首先介绍了智能楼宇监控和热释电红外传感器的一些知识;然后对系统的整体方案和各模块方案进行了比较与简要的论证;接着对系统硬件电路进行了设计,主要介绍各单元电路的设计,并对其中应用到的器件进行简要的介绍;再下来是对系统软件的设计,主要介绍了各模块的程序设计思路及其流程图,并分别附上了各模块的子程序;最后是对本次设计进行总结。第1章绪论1.1智能楼宇监控系统背景知识1.1.1智能楼宇的定义形象的地说,智能楼宇就是在建筑物的身躯上配备了楼宇自动化,办公自动化,通信自动化为主脑及神经系统,建筑物变得智慧,变得聪明起来。随着科技的发展,智能楼宇的概念及内涵发生了很大的变化,到目前为止还没有同一的定义,首先看一下国内外一些权威机构的定义。1.美国智能建筑协会的定义智能楼宇是通过对建筑物的四要素:结构、系统、服务和管理以及他们之间的相互联系作为最优考虑,来提供一个投资合理,同时又拥有高效率的舒适的、便利的环境及长远的系统灵活性及市场能力的建筑物。2.我国的权威机构的定义智能楼宇利用系统集成的方法,将计算机技术,通信技术,控制技术及建筑技术有机结合,通过对设备的自动监控,对信息资源的管理和对使用者的信息服务及与建筑的优化组合,所获得的投资合理,适应信息化社会需求而且具有安全、高效、舒适、便利和灵活特点的建筑物。[5]1.1.2智能楼宇监控系统的构成智能楼宇监控系统是在计算机技术和通信技术基础上,采用集散技术和智能控制技术进行调节和管理,不断的检测大楼的各种设备,搜集数据并不断分析信息,自动做出各种决定进行控制。智能楼宇监控系统主要包括如下几个子系统:1.消防系统根据建筑类型、部位和可能发生火灾的种类,设置相应的烟感、火感和煤气报警传感器进行探测火灾,各探测器通过总线连接至区域报警器,智能型的区域报警器通过通信网络与消防控制中心连接,使消防中心及时掌握各种火灾报警信息,及时做出准确判断和统一决策。2.空调设备通过测量冷热源的温度流量及监控冷冻机系统、空调器等的运行状态,自动调节空调系统的各参数,对空调系统的温度湿度进行控制。3.给排水系统通过监控水位、流量、压力等来控制水泵的启停,并在发生故障时自动报警、打印、从而实现生活给水、污水排放及热水供应等的控制。4.照明系统按分区、分层、分组控制照明灯,自动或人工发出开停指令,并在控制中心显示其状态。除了对上述几种一般的系统进行监控外,根据实际情况,还可以对电梯、保安巡更系统等进行监控。整体结构图如图1-1所示。图1-1智能楼宇监控系统的构成图1.1.3防盗报警系统介绍防盗报警系统是用物理方法或电子技术,自动探测发生在布防监测区域内的侵入行为,产生报警信号,并辅助提示值班人员发生报警的区域部位,显示可能采取的对策的系统。防盗报警系统是预防抢劫、盗窃等意外事件的重要设施。一旦发生突发事件,就能通过声光报警信号在安保控制中心准确显示出事地点,使于迅速采取应急措施。防盗报警系统与出入口控制系统、闭路电视监控系统、访客对讲系统和电子巡更系统等一起构成了入侵防范系统。1.防盗报警系统的构成防盗报警系统通常由探测器(又称防盗报警器)、传输通道和报警控制器三部分构成,如图1-2所示。图1-2防盗报警系统构成图报警探测器是由传感器和信号处理组成的用来探测入侵者入侵行为的电子和机械部件组成的装置,是防盗报警系统的核心,而传感器又是报警探测器的核心元件。2.报警探测器的分类采用不同原理的传感器件,可以构成不同种类、不同用途、达到不同探测目的的的报警探测装置。报警探测器按工作原理主要可分为红外线报警探测器、微波报警探测器、被动式红外线/微波报警探测器、玻璃破碎报警探测器、振动报警探测器、超声波报警探测器、激光报警探测器、磁控开关报警探测器、开关报警探测器、视频运动检测报警器、声音探测器等许多种类。报警探测器按工作方式可分为主动式报警探测器和被动式报警探测器。报警探测器按探测范围的不同又可分为点控报警探测器、线控报警探测器、面控报警探测器和空间防范报警探测器。除了以上区分以外,还有其他方式的划分。在实际应用中,根据使用情况不同,合理选择不同防范类型的报警探测器,才能满足不同的安全防范要求。3.防盗报警技术发展趋势根据实际现场环境和用户的安全防范要求,合理的选择和安装各种报警探测器,才能较好的达到安全防范的目的。当选择和安装报警探测器不合适时,有可能出现安全防范的漏洞,达不到安全防范的严密性,给入侵者造成可乘之机,从而给安全防范工作带来不应有的损失。报警探测器要求具有防拆动、防破坏功能。当报警探测器受到破坏、人为将其传输线短路或断路,以及非法试图打开其防护罩时,均应能产生报警信号输出;另外报警探测器还应具有一定的抗干扰措施,以防止各种误报现象的发生,例如:防宠物和小动物骚扰、抗因环境条件变化而产生的误报干扰等。报警探测器的灵敏度和可靠性是相互影响的。合理选择报警探测器的探测灵敏度和采用不同的抗外界干扰的措施,可以提高报警探测器性能。采用不同的抗干扰措施,决定了报警探测器在不同环境下的使用性能。了解各种报警探测器的性能和特点,根据不同使用环境,合理配置不同的报警探测器,是防盗报警系统的关键环节。数字化、无线化、集成化是防盗报警系统的技术发展趋势:更稳定/可靠:如探测器需可抗RFI/EMI、防雷电等,以适应恶劣气候;更多样的功能:如探测器可调频、防遮挡、防喷盖、防破坏等;更精美、小巧的外观:以符合品味日益提高的室内装潢需求;更智能化的设计:方便地设/撤防,人性化的操作界面;更强大的联网功能;更方便的扩展性。可见,上述发展趋势,事实上都建立在数字化、无线化、集成化的三大核心技术基础上。1.2传感器概述1.2.1传感器的定义最广义地来说,传感器是一种能把物理量或化学量转变成便于利用的电信号的器件。国际电工委员会(IEC:InternationalElectro-technicalCommittee)的定义为:“传感器是测量系统中的一种前置部件,它将输入变量转换成可供测量的信号”。国家标准GB7665-87对传感器下的定义是:“能感受规定的被测量并按照一定的规律转换成可用信号的器件或装置,通常由敏感元件和转换元件组成”。传感器是一种检测装置,能感受到被测量的信息,并能将检测感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。传感器承担将某个对象或过程的特定特性转换成数量的工作。其“对象”可以是固体、液体或气体,而它们的状态可以是静态的,也可以是动态(即过程)的。对象特性被转换量化后可以通过多种方式检测。对象的特性可以是物理性质的,也可以是化学性质的。按照其工作原理,传感器将对象特性或状态参数转换成可测定的电学量,然后将此电信号分离出来,送入传感器系统加以评测或标示。1.2.2传感器的组成传感器系统的原理框图如图1-3所示,进入传感器的信号幅度是很小的,而且混杂有干扰信号和噪声。为了方便随后的处理过程,首先要将信号整形成具有最佳特性的波形,有时还需要将信号线性化,该工作是由放大器、滤波器以及其他一些模拟电路完成的。在某些情况下,这些电路的一部分是和传感器的部件直接相邻的。成形后的信号随后转换成数字信号,并输入到微处理器。图1-3传感器系统的框图德国和俄罗斯学者认为传感器应是由两部分组成的,即直接感知被测量信号的敏感元件部分和初始处理信号的电路部分。按这种理解,传感器还包含可信号成型器的电路部分。传感器系统的性能主要取决于传感器,传感器把某种形式的能量转换成另一种形式的能量。有两类传感器:有源的和无源的。有源传感器能将一种能量形式直接转变成另一种,不需要外接的能量或激励源;无源传感器不能直接转换能量形式,但它能控制从另一输入端输入的能量或激励源;如图1-4所示。图1-4有源(a)和无源(b)传感器的信号流程1.2.3传感器的分类可以用不同的观点对传感器进行分类:它们的转换原理(传感器工作的基本物理或化学效应);它们的用途;它们的输出信号类型以及制作它们的材料和工艺等。根据传感器工作原理,可分为物理传感器和化学传感器两大类,其分类如表1-1所示。表1-1按传感器工作原理的分类传感器品种工作原理可被测定的非电学量敏力电阻,热敏电阻半导体传感器阻值变化力,重量,压力,加速度,温度,湿度,气体电容传感器电容量变化力,重量,压力,加速度,液面,湿度感应传感器电感量变化力,重量,压力,加速度,旋进数,转矩,磁场霍尔传感器霍尔效应角度,旋进度,力,磁场压电传感器,超声波传感器压电效应压力,加速度,距离热电传感器热电效应烟雾,明火,热分布光电传感器光电效应辐射,角度,旋转数,位移,转矩物理传感器应用的是物理效应,诸如压电效应,磁致伸缩现象,离化、极化、热电、光电、磁电等效应。被测信号量的微小变化都将换转成电信号。化学传感器包括那些以化学吸附、电化学反应等现象为因果关系的传感器,被测信号量的微小变化也将转换成电信号。由于化学传感器技术问题较多,例如可靠性问题,规模生产的可能性,价格问题等,所以当前大多数传感器是以物理原理为基础运作的。以其输出信号为标准可将传感器分为:模拟传感器——将被测量的非电学量转换成模拟电信号。数字传感器——将被测量的非电学量转换成数字输出信号(包括直接和间接转换)膺数字传感器——将被测量的信号量转换成频率信号或短周期信号的输出(包括间接和直接转换)开关传感器——当一个被测量的信号达到某个特定的阈值时,传感器相应地输出一个设定的低电平或高电平信号。1.2.4传感器的特性传感器的特性是指传感器的输入量和输出量之间的对应关系,通常把传感器的特性分为两种:静态特性和动态特性。静态特性是指输入不随时间而变化的特性,它表示传感器在被测量各个值处于稳定状态下输入输出的关系。动态特性是指输入随时间而变化的特性,它表示传感器对随时间变化的输入量的响应特性。一般来说,传感器的输入和输出关系可用微分方程来描述。理论上,将微分方程中的一阶及以上的微分项取为零时,即可得到静态特性。因此传感器的静特性是其动特性的一个特例。静态特性:是指对静态的输入信号、传感器的输出量与输入量之间所具有相互关系。因为这时输入量和输出量都和时间无关,所以它们之间的关系,即传感器的静态特性可用一个不含时间变量的代数方程,或以输入量作横坐标,把与其对应的输出量作纵坐标而画出的特性曲线来描述。表征传感器静态特性的主要参数有:线性度、灵敏度、重复性、迟滞、分辨率、漂移、稳定性等。人们总希望传感器的输入与输出成唯一的对应关系,而且最好呈线性关系。但一般情况下,输入输出不会完全符合所要求的线性关系,因传感器本身存在着迟滞、蠕变、摩擦等各种因素,以及受外界条件的各种影响。动态特性:所谓动态特性,是指传感器在输入变化时,它的输出的特性。在实际工作中,传感器的动态特性常用它对某些标准输入信号的响应来表示。这是因为传感器对标准输入信号的响应容易用实验方法求得,并且它对标准输入信号的响应与它对任意输入信号的响应之间存在一定的关系,往往知道了前者就能推定后者。最常用的标准输入信号有阶跃信号和正弦信号两种,所以传感器的动态特性也常用阶跃响应和频率响应来表示。很多传感器要在动态条件下检测,被测量可能以各种形式随时间变化。只要输入量是时间的函数,则其输出量也将是时间的函数,其间关系要用动特性来说明。设计传感器时要根据其动态性能要求与使用条件选择合理的方案和确定合适的参数;使用传感器时要根据其动态特性与使用条件确定合适的使用方法,同时对给定条件下的传感器动态误差做出估计。总之,动特性是传感器性能的一个重要方面,对其进行研究与分析十分必要。总的来说,传感器的动特性取决于传感器本身,另一方面也与被测量的形式有关。1.2.5传感器静态特性的参数1.线性度:通常情况下,传感器的实际静态特性输出是条曲线而非直线。在实际工作中,为使仪表具有均匀刻度的读数,常用一条拟合直线近似地代表实际的特性曲线,线性度(非线性误差)就是这个近似程度的一个性能指标。拟合直线的选取有多种办法。如将零输入和满量程输出点相连的理论直线作为拟合直线;或将与特性曲线上各点偏差的平方和为最小的理论直线作为拟合直线,此拟合直线称为最小乘法拟合直线。2.灵敏度:是指传感器在稳态工作情况下输出量变化△y对输入量变化△x的比值。它是输出-输入特性曲线的斜率。如果传感器的输出和输入之间显线性关系,则灵敏度S是一个常数。否则,它将随输入量的变化而变化。灵敏度的量纲是输出、输入量的量纲之比。例如,某位移传感器,在位移变化1mm时,输出电压变化为200mV,则其灵敏度应表示为200mV/mm。当传感器的输出、输入量的量纲相同时,灵敏度可理解为放大倍数。提高灵敏度,可得到较高的测量精度。但灵敏度愈高,测量范围愈窄,稳定性也往往愈差。3.分辨力:是指传感器可能感受到的被测量的最小变化的能力。也就是说,如果输入量从某一非零值缓慢地变化,当输入变化值未超过某一数值时,传感器的输出不会发生变化,即传感器对此输入量的变化是分辨不出来的。只有当输入量的变化超过分辨力时,其输出才会发生变化。通常传感器在满量程范围内各点的分辨力并不相同,因此常用满量程中能使输出量产生阶跃变化的输入量中的最大变化值作为衡量分辨力的指标。上述指标若用满量程的百分比表示,则称为分辨率。4.迟滞特性:它表征传感器在正向(输入量增大)和反向(输入量减小)行程间输出-输入特性曲线不一致的程度,通常用这两条曲线之间的最大差值△MAX与满量程输出F·S的百分比表示。迟滞可由传感器内部元件存在能量的吸收造成。1.2.6传感器的选用传感器千差万别,即便对于相同种类的测定量也可采用不同工作原理的传感器,因此,要根据需要选用最适宜的传感器。测量条件:如果误选传感器,就会降低系统的可靠性。为此,要从系统总体考虑,明确使用的目的以及采用传感器的必要性,绝对不要采用不适宜的传感器与不必要的传感器。测量条件列举如下,即测量目的,测量量的选定,测量的范围,输入信号的带宽,要求的精度,测量所需要的时间,过输入发生的频繁程度。传感器的性能:选用传感器时,要考虑传感器的下述性能,即精度,稳定性,响应速度,模拟信号或者数字信号,输出量及其电平,被测对象特性的影响,校准周期,过输入保护。传感器的使用条件:即为设置的场所,环境(湿度、温度、振动等),测量的时间,与显示器之间的信号传输距离,与外设的连接方式,供电电源容量。1.3热释电红外传感器1.3.1红外辐射基本原理太阳光经三棱镜能分成红、橙、黄、绿、青、蓝、紫七种颜色,它们是可见光,其波长范围在0.36μm到0.76μm之间。在红和紫两端的外面还有人眼感觉不到的光,成为不可见光。红外光就是介于可见红光和微波之间的电磁波,它的波长范围在0.76μm到1000μm(1.0mm)之间,频率为4×1014Hz到3×1011。在红外光谱学中把1-15μm称为近红外波段,15-50μm为中红外波段,50-1000μm为远红外波段。在自然界中,任何高于绝对零度(-273℃)的物体都是红外辐射源。热释电红外传感器正是根据物质表面温度不同而发出不同波段的红外光而进行温度检测的[7]。1.3.2热释电红外传感器原理人体具有约37℃的恒定体温,所以会发出波长约10μm左右的红外线,热释电红外传感器就是靠探测人体发射的10μm左右的红外线而进行工作的。热释电红外传感器是一种具有极化现象的热晶体或称为“铁电体”,其内部的热电元由高热电系数的铁钛酸铅汞陶瓷以及钽酸锂、硫酸三甘铁等配合滤光镜片串口组成。这种铁电体的极化强度(单位面积的电荷)随温度变化而变化。当红外光照射到已经极化的电铁体薄片表面上时,引起薄片温度升高,使其极化强度降低,表面电荷减少,这相当于释放一部分电荷,所以叫做热释电红外传感器。如果将负载电阻与铁电体薄片相连,则负载电阻上便产生一个电信号输出,输出信号的大小取决于薄片温度变化的快慢,从而反映出入射的红外光的强度。因此,热释电红外传感器的电压响应率正比于入射红外光的变化率。当恒定的红外光照射在热释电红外传感器上时,传感器没有电信号输出,而只有铁电体处于变化过程中才有电信号输出。所以,必须由交变的红外光照射,不断引起传感器的温度变化,才能导致热释电产生并输出交变信号[15]。热释电效应同压电效应类似,是指由于温度的变化而引起晶体表面荷电的现象。热释电传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,在元件两个表面做成电极,在传感器监测范围内温度有ΔT的变化时,热释电效应会在两个电极上会产生电荷ΔQ,即在两电极之间产生一微弱的电压ΔV。由于它的输出阻抗极高,在传感器中有一个场效应管进行阻抗变换。热释电效应所产生的电荷ΔQ会被空气中的离子所结合而消失,即当环境温度稳定不变时,ΔT=0,则传感器无输出。当人体进入检测区,因人体温度与环境温度有差别,产生ΔT,则有ΔT输出;若人体进入检测区后不动,则温度没有变化,传感器也没有输出了。为抑制因环境和自身温度变化而产生的干扰,该传感器在工艺上将两个特征一致的热电元反向串联或接成差动平衡电路方式。由于热电元输出的是电信号,并不能直接使用,因而需要用电阻将其转换为电压形式,该电阻阻抗高达104MΩ,故将引入的N沟道场效应管接成共漏(即源极跟随器)完成阻抗变换[14]。1.3.3热释电红外传感器的构成普通热释电人体红外传感器的外形如图1-5所示,D脚和S脚分别为内部场效应管的漏极和源极的引出端,G脚为内部敏感元件的接地引出端。因S和G之间悬空,故使用时其间应接输出电阻R,才能输出传感信号。为了增强抗干扰能力,在此电阻上应并一个电容C,如图1-6所示。图1-5热释电红外传感器外形图1-6热释电内部电路传感器由敏感单元、滤光窗和菲涅尔透镜组成。1.敏感单元敏感单元的等效电路如图1-7所示,内部敏感材料做成很薄的薄片,每一薄片相对的两面各引出一根电极,在电极两端则形成一个等效的小电容,因为这两个小电容是做在同一硅晶片上的,且形成的等效小电容能自身产生极化,在电容的两端产生极性相反的正、负电荷。但这两个电容的极性是相反串联的。这正是传感器的独特设计之处,因而使得它具有独特的抗干扰性。当传感器没有检测到人体辐射出的红外线信号时,由于C1、C2自身产生极化,在电容的两端产生极性相反、电量相等的正、负电荷,而这两个电容的极性是相反串联的,所以,正、负电荷相互抵消,回路中不产生电流,传感器无输出。当人体静止在传感器的检测区域内时,照射到C1、C2上的红外线光能能量相等,且达到平衡,极性相反、能量相等的光电流在回路中相互抵消。传感器仍然没有信号输出。同理,在灯光或阳光下,因阳光移动的速度非常缓慢,C1、C2上的红外线光能能量仍然可以看作是相等的,且在回路中相互抵消;再加上传感器的响应频率很低(一般为0.1~10Hz),即传感器对红外光的波长的敏感范围很窄(一般为5~15μm),因此,传感器对它们不敏感。当环境温度变化而引起传感器本身的温度发生变化时,因C1、C2做在同一硅晶片上,它所产生的极性相反、能量相等的光电流在回路中仍然相互抵消,传感器无输出。只有当人体移动时,红外辐射引传感器敏感单元的两个等效电容产生不同的极化电荷时,才会向外输出电信号。所以,这种传感器只对人体的移动或运动敏感,对静止或移动很缓慢的人体不敏感,且对可见光和大部分红外线具有良好的抗干扰能力。图1-7敏感单元等效电路2.滤光窗它是由一块薄玻璃片镀上多层滤光层薄膜而成的,滤光窗能有效地滤除7.0~14μm波长以外的红外线。例如,SCA02-1对7.5~14μm波长的红外线的穿透量为70%,在6.5μm处时下降为65%,而在5.0μm处时陡降为0.1%,有效地保证了对人体红外线的选择性。因为,物体发射出的红外线辐射能,最强波长和温度的关系满足λm×T=2989(μmK)(其中λm为最大波长,T为绝对温度)。人体的正常体温为36~37.5℃,即309~310.5K,其最强红外线的波长为λm=2989/(309~310.5)=9.67~9.64μm,中心波长为9.65μm。因此,人体辐射的最强红外线的波长正好落在滤光窗的响应波长(7~14μm)的中心。所以,滤光窗能有效地让人体辐射的红外线通过,而最大限度地阻止阳光、灯光等可见光中的红外线通过,以免引起干扰。3.菲涅尔透镜不使用菲涅尔透镜时传感器的探测半径不足2m,只有配合菲涅尔透镜使用才能发挥最大作用。配上菲涅尔透镜时传感器的探测半径可达到10m。菲涅尔透镜用聚乙烯塑料片制成,颜色为乳白色或黑色,呈半透明状,但对波长为10um左右的红外线来说却是透明的。其外形为半球,平面图形如图1-8所示。从图中可以看出,透镜在水平方向上分成3个部分,每一部分在竖直方向上又等分成若干不同的区域。最上面部分的每一等份为一个透镜单元,它们由一个个同心圆构成,同心圆圆心在透镜单元内。中间和下半部分的每一等份也为分别一个透镜单元,同样由同心圆构成,但同心圆圆心不在透镜单元内。当光线通过这些透镜单元后,就会形成明暗相间的可见区和盲区。由于每一个透镜单元只有一个很小的视角,视角内为可见区,视角外为盲区。任何两个相邻透镜单元之间均以一个盲区和可见区相间隔,它们断续而不重叠和交叉,如图1-8(b)。这样,当把透镜放在传图1-8菲涅尔透镜感器正前方的适当位置时,运动的人体一旦出现在透镜的前方,人体辐射出的红外线通过透镜后在传感器上形成不断交替变化的阴影区(盲区)和明亮区(可见区),使传感器表面的温度不断发生变化,从而输出电信号。也可以这样理解,人体在检测区内活动时,一离开一个透镜单元的视场,又会立即进入另一个透镜单元视场,(因为相邻透镜单元之间相隔很近),传感器上就出现随人体移动的盲区和可见区,导致传感器的温度变化,而输出电信号。菲涅尔透镜不仅可以形成可见区和盲区,还有聚焦作用,其焦点一般为5cm左右,实际应用时,应根据实际情况或资料提供的说明调整菲涅尔透镜与传感器之间的距离,一般把透镜固定在传感器正前方1~5cm的地方[3]。第2章系统方案设计2.1系统设计要求系统要求具备以下功能:1.防盗系统在00:00—07:00时间段内处于防盗状态,当检测到有人进入则发出声光报警,并记录进入时间,该时间能够在系统掉电的情况下依然存储无误。2.防盗系统在07:00—18:00时间段内处于检测人数状态,每当一个人进入,则计数一次,当达到人数上限时,发出报警,人数上限可以手动修改。3.防盗系统在18:00—00:00时间段内处于灯控状态,当检测到有人进入则点亮楼道照明灯,无人时则关闭照明灯。2.2主控模块的方案选择方案一:8031单片机片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路373,外接的程序存储器多为EPROM的2764系列。用户若想对写入到EPROM中的程序进行修改,必须先用一种特殊的紫外线灯将其照射擦除,之后再可写入。写入到外接程序存储器的程序代码没有什么保密性可言,而且成本较高。方案二:8051片内有4kROM,无须外接外存储器和373,更能体现“单片”的简练。但是自己所编写的程序无法烧写到其ROM中,只有将程序交芯片厂代为烧写,并是一次性的,今后任何人都不能改写其内容,技术上有局限,在调试过程中会增大成本。上面两种单片机是Intel公司早期的产品,由于应用的早,影响很大,已成为事实上的工业标准。后来很多芯片厂商以各种方式与Intel公司合作,也推出了同类型的单片机,如同一种单片机的多个版本一样,虽都在不断的改变制造工艺,但内核却一样,也就是说这类单片机指令系统完全兼容,绝大多数管脚也兼容;在使用上可以直接互换。方案三:ATMEL公司的AT89C51、AT89S51在与众多的51系列单片机相比之下更显实用,因为这两款单片机不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,用户可以用电的方式瞬间擦除、改写程序,一般专为ATMELAT89xx做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。另外,AT89C51、AT89S51目前的售价比8031还低,市场供应也很充足,比较符合本次设计的要求。方案四:AT89S52是2021年ATMEL推出的AT89S系列的新型品种,除了完全兼容8051和AT89C51外,还多了ISP编程和看门狗功能,其中的ISP在线编程技术既降低了成本也无需反复插拔芯片,可避免损坏芯片管脚,同时可省去了仿真器和专用编程器,大大减低了操作难度和成本;而且该单片机的性能稳定且内存达8KB,与其他同类单片机相比,它的性价比非常高。综上所述,对这四种方案进行比较后,确定选择方案四中介绍的AT89S52作为本次设计的主控芯片。2.3红外信号检测模块的方案选择方案一:采用红外线对管收发电路,但是这样不论是检测到人时,还是物体经过,都会产生报警信号,而本次设计所要求的是防盗,只要求对人体进行检测,所以排除本方案。方案二:采用人体红外感应模块来输入报警信号,这样硬件连接简单,相应的软件设计也会随之简化,而且这种模块直线检测距离远,范围广,工作也较为稳定。综合比较以上两种方案,决定选择方案二实现本次设计的红外信号检测功能。2.4显示模块的方案选择方案一:LCD液晶显示,它主要用来显示大量数据、文字、图形,能够显示的位数多,显示效果清晰多样、美观,而且是数字式接口,和单片机系统的接口更加简单可靠,同时还具有体积小、重量轻和功耗低灯优点,但是要求通过软件来控制输出显示的内容,编程复杂,而且对于只需要显示时间和人数这样的需求,则有点浪费资源,从而降低了整个系统的性价比。方案二:LED数码管静态显示,这种方法编程容易,管理也较简单,但是占用单片机I/O口线资源较多,也给焊接增加了一定的难度。方案三:LED数码管动态显示,价格低廉,不仅减少了对I/O口的浪费,而且能够同时驱动多个数码管。其驱动程序容易编写和理解。经过以上三种方案的比较,在考虑成本和程序编写等因素后,选择方案三即LED数码管动态显示作为本次设计显示部分。2.5声光报警和键盘控制模块声光报警模块拟采用一个红色发光二极管和一个蓝色发光二极管作为警灯,一个无源蜂鸣器通过编程实现警笛。键盘控制模块准备用8个独立按键分别控制时间调整、报警人数上限设定和解除警报等功能,不采用矩阵按键是因为它的程序编写较为复杂。2.6系统最终整体硬件方案经过对以上各模块方案的比较,在考虑成本、编程难易程度等方面的前提下,确定了最终硬件方案为:红外信号检测模块:人体红外感应集成模块;主控芯片:ATMEL公司的AT89S52微控制器;显示模块:LED数码管动态显示;外部控制:8个独立按键;声光报警:无源蜂鸣器,红蓝发光二极管各一个。最终整体方案的系统框图如图2-1所示。图2-1系统整体原理框图第3章系统硬件设计3.1系统硬件及功能概述智能楼宇防盗及灯控系统主要由五个模块组成,其核心为AT89S52微控制器,用以对其他子模块进行通信;P3口与键盘控制模块连接,实现系统的人机交互功能;P2口和P0口的部分位连接数码管,通过动态扫描的方式实现系统的显示功能;P0口的其他位连接声光报警模块,主要由一个蜂鸣器、两个发光二极管组成,当有报警信号时则由单片机控制驱动发光管和蜂鸣器实现报警功能;灯控部分以一个发光二极管模拟,与单片机的一位I/O口相连;人体红外感应模块与P1.1相连以实现红外信号检测模块与微控制器之间的通信。3.2主控模块3.2.1主控芯片简介AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[19]。其引脚结构如图3-1所示。图3-1AT89S52引脚结构3.2.2电路设计主控模块即为单片机最小系统,它主要包括时钟电路和复位电路。1.时钟设置电路单片机内部时钟发生器有片内振荡电路,也可以通过外部时钟输入发生器提供振荡时钟。通常选用的是片内振荡器的方式,外部接一个12M的晶振产生自激振荡。2.复位电路任何单片机都是通过可靠复位之后才能有序执行程序,同时,复位电路也是容易受噪声干扰的敏感部位之一。因此,复位电路的设计要求有两个:一要保证整个电路可靠复位,必须保证负脉冲长度大于3个机器时钟周期;二要有一定的抗干扰能力。AT89S52微控制器是双列直插40引脚的集成电路芯片,共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入使用。AT89S52的第20引脚为接地端;第40引脚为电源端;第31引脚需要接高电位使单片机选用内部程序存储器;第18、19脚之间接上一个12MHz的晶振为单片机提供时钟信号;第9脚为复位脚,当其接高电位时,单片机停止当前工作并恢复到初始状态。电路连接如图3-2所示。图3-2主控模块原理图3.3红外信号检测模块3.3.1人体红外感应模块简介人体红外感应模块原理如图3-3所示。其中1脚接电源负极,3脚接电源正极,电源应为6-9V直流电压;2脚输出报警信号,信号幅度约为4-6V,高电平有效;W1可调整灵敏度,W2可在5-120秒范围内调整输出延迟。图3-3人体红外感应模块示意图这种模块在出厂时已经设置成加电即工作的方式,并设置在随机工作延时状态,即人在感应区活动,模块便持续有输出,直到人离开感应区并延时一段时间后才停止输出。顺时针调节W1,可以增加检测灵敏度增加感应距离;逆时针调节,降低感应距离。顺时针调节W2,可以延长工作时间;逆时针调节,缩短工作时间。该模块的部分技术参数为:1.工作电压:DC6~9V2.电平输出:和电源电压相同3.感应角度:水平:90~140度;垂直:15~30度4.静态电流:小于750μA5.无信号输出:0V6.感应距离:0.5~15米7.外形尺寸:28mm×38mm高25毫米(最高点)8.输出电平:4~6V与工作电压有关9.工作时间:可调5-120秒范围3.3.2电路设计由于人体红外感应模块输出的报警信号幅度为4-6V,足以驱动AT89S52微控制器的I/O口,所以不需要再接放大电路,可以直接将模块的2脚与单片机的I/O口连接。电原理图如图3-4所示。图3-4红外检测模块连线3.4显示模块3.4.1数码管简介数码管是利用半导体的P-N结电致发光原理制成的一种半导体发光器件,其基本单元是发光二极管,它具有亮度高、功耗小、寿命长、工作电压低、易小型化等优点。它的引脚分配如图3-5所示。图3-5数码管引脚分配1.数码管的分类数码管按段数分为七段数码管和八段数码管两种,八段数码管比七段数码管多一个用于显示小数点的发光二极管单元;按能显示多少个“8”可分为1位、2位、4位等;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。2.数码管的驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出所要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。第一种方式是静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,而一个AT89S52微控制器可用的I/O端口只有32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。第二种方式是动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。3.4.2七段译码器简介74LS47是BCD-7段数码管译码器/驱动器,74LS47的功能用于将BCD码转化成数码块中的数字,通过它解码,可以直接把数字转换为数码管的显示数字,从而简化了程序,节约了单片机的IO开销,因此是一个非常好的芯片。它的管脚如图3-6所示。图3-674LS47管脚图译码原理:译码为编码的逆过程。它将编码时赋予代码的含义“翻译”过来。实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系[1]。74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,表3-1列出了74LS47的真值表[20],表示出了它与数码管之间的关系。表3-174LS47译码器真值表十进制或功能输入输出LTRBIA3A2A1A0RI/RBOabcdefg0123456789101112131415BIRBILTHHHHHHHHHHHHHHHHXHLHXXXXXXXXXXXXXXXXLXLLLLLLLLHHHHHHHHXLXLLLLHHHHLLLLHHHHXLXLLHHLLHHLLHHLLHHXLXLHLHLHLHLHLHLHLHXLXHHHHHHHHHHHHHHHHLLHLHLLHLHLLLHHHLHHHHLLLLLLHHLLLHHLHHHHHLLLHLLLLLLLHLHHHHHHLLHLLHLLHLHLLHLLHHHLLHLHHHLHLHLHHHLHHHLLHHHLLLHLLHHLLLHHHLHHLLLLLHLLLLLLLHHHL除了A3、A2、A1、A0外其他引脚均为低电平有效,其中LT为试灯输入,是为了检查数码管各段是否能正常发光而设置的,当LT=0时,无论输入A3,A2,A1,A0为何种状态,译码器输出均为低电平,若驱动的数码管正常,是显示8;BI为灭灯输入,是为控制多位数码显示的灭灯所设置的,当BI=0时,不论LT和输入A3,A2,A1,A0为何种状态,译码器输出均为高电平,使共阳极7段数码管熄灭;RBI为灭零输入,它是为使不希望显示的0熄灭而设定的,当对每一位A3=A2=A1=A0=0时,本应显示0,但是在RBI=0作用下,会使译码器输出全1,其结果和加入灭灯信号的结果一样,将0熄灭;RBO为灭零输出,它和灭灯输入BI共用一端,两者配合使用,可以实现多位数码显示的灭零控制[20]。3.4.3显示电路设计本设计采用两个四位共阳极数码管来分别实现当前时间与人数的显示功能,左边的数码管显示时间,右边的数码管显示人数,相应地,为了节省单片机I/O口资源,在数码管的段与单片机的P0口的低四位之间接一个74LS47七段译码器,单片机的P2口实现对数码管的位选,单片机I/O口与数码管引脚的对应关系如表3-2所示;为了保证数码管能够被驱动,在数码管和P2口各位之间分别接一个PNP型三极管8550,以实现放大功能,电原理图如图3-7所示。单片机I/O口实现的数码管使用中的功能P1.0接74LS47的输入端A3,实现段选P1.1接74LS47的输入端A2,实现段选P1.2接74LS47的输入端A1,实现段选P1.3接74LS47的输入端A0,实现段选P2.0时间小时十位,位选P2.1时间小时个位,位选P2.2时间分钟十位,位选P2.3时间分钟个位,位选P2.4人数千位,位选P2.5人数百位,位选P2.6人数十位,位选P2.7人数个位,位选表3-2单片机I/O口与数码管使用的对应关系图3-7显示模块原理图3.5声光报警模块3.5.1蜂鸣器简介蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器可以分为有源蜂鸣器和无源蜂鸣器两种。有源蜂鸣器和无源蜂鸣器的差别主要差别为:有源蜂鸣器和无源蜂鸣器的根本区别是产品对输入信号的要求不一样;有源蜂鸣器工作的理想信号是直流电,通常标示为VDC、VDD等。因为蜂鸣器内部有一简单的振荡电路,能将恒定的直流电转化成一定频率的脉冲信号,从面实出磁场交变,带动钼片振动发音。但是在某些有源蜂鸣器在特定的交流信号下也可以工作,只是对交流信号的电压和频率要求很高,此种工作方式一般不采用。而无源蜂鸣器没有内部驱动电路,有些公司和工厂称为讯响器,国标中称为声响器。无源蜂鸣器工作的理想信号方波。如果给预直流信号蜂鸣器是不响应的,因为磁路恒定,钼片不能振动发音。本设计需要产生警笛声,要求有不同声调,所以将采用无源蜂鸣器作为发声器件。3.5.2电路设计系统中的无源蜂鸣器用一个NPN型三极管8050进行驱动,声光报警模块电原理图如图3-8所示。图3-8声光报警模块原理图3.6键盘控制模块键盘采用8个独立按键分别实现时间小时加一、时间分加一、人数千位加一、人数百位加一、人数十位加一、人数个位加一、系统设定开关和解除警报、显示记录的报警时间等作用。考虑到本次设计的I/O口较为充裕,为了简化软件设计难度,从而放弃使用编程复杂的矩阵键盘。因为AT89S52微控制器的P3口内部内部已经集成了上拉电阻,所以键盘控制模块的电路相对简化了很多,如图3-9所示。按键功能分配如表3-3所示。表3-3按键功能分配表单片机I/O口功能分配P0.0小时加一P0.1分加一P0.2人数千位加一P0.3人数百位加一P0.4人数十位加一P0.5人数个位加一P0.6系统设定开关P0.7解除警报、显示记录的报警时间图3-9键盘控制模块原理图3.7系统整体电路图整体电路原理图如图3-10所示。图3-10系统整体电路图第4章系统软件设计4.1软件设计思路要实现一个智能楼宇监控系统,仅仅依靠硬件电路,难度是非常大的,而且费时费力,成本相当高;而且在前面的硬件设计中已经采用了单片机作为主控芯片,而单片机的最大优势就在于,它可以通过软件设计来实现各种硬件功能,这样大大节省了在硬件方面的开销,而且硬件电路简单,在将来制版、焊接时都会降低了工作难度。软件设计一般按照以下的步骤:首先对设计要求进行分析,对软件总体流程进行大概的设计,并将其分为各个独立的子模块;然后分别对各个子模块进行更加详细的分析,列出若干种可行的设计方案进行比较;接着在确定子模块设计方案后,对其工作流程进行设计;最后选择一种编程语言,按照各子模块流程图编写子程序,并最终按照软件总体流程图将各个子程序整合在一起,从而实现系统的所有功能。4.2编程语言的介绍与选择4.2.1汇编语言汇编语言是用助记符、符号和数字等来表示指令的程序语言,容易理解和记忆,它与机器语言指令是一一对应的。汇编语言不像高级语言那样通用性强,而是属于某种单片机所独有的,与单片机的内部硬件结构密切相关,也就是说,每款或者每个系列的单片机都有自己专有的一套指令系统,使用指令与对应的单片机通信是最简单且最有效的方法[10]。当设计一个小的嵌入式系统时,一般采用汇编语言。在很多工程中,这是一个很好的方法,因为代码一般都不超过8K,而且都比较简单。如果硬件工程师要同时设计软件和硬件,通常都会采用汇编语言来做程序。使用汇编语言编程的麻烦在于它的可读性和可维护性比较差,如果是别人写的程序,特别是当程序没有很好的标注的时候,将非常不容易被读懂,从而导致代码的可重用性和可移植性也比较低,而且在编程前需要先对所使用的单片机的硬件结构有所了解。4.2.2基于单片机的C语言C语言是一种结构化语言,它层次清晰,便于按模块化的方式来编写程序,而且易于调试和维护,语言简洁紧凑,使用方便、灵活。它不仅具有丰富的运算符和数据类型,以便于实现各类复杂的数据结构,还可以直接访问内存地址,进行位操作。由于C语言实现了对硬件的编程操作,因此C语言既有高级语言的功能,也有低级语言的优势。它可用于系统软件的开发,同样也适用于应用软件的开发。用C语言编写的程序,因为其很好的结构性和模块化,更容易阅读和维护;而且由于它的模块化,用语言编写的程序具有很好的可移植性。功能化的代码能够很方便的从一个工程移植到另一个工程,从而减少了开发时间。用C语言编写程序比汇编语言更符合人们的思考习惯,开发者可以更专心的考虑算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。而且程序员不必十分熟系处理器的运算过程和内部结构,这意味着对新的微控制器也能很快上手,这样就使得用C语言编写的程序比汇编程序有更好的可移植性。C语言的特点就是可以使你尽量少地对硬件进行操作,是一种功能性和结构性很强的语言。4.2.3编程语言选择鉴于以上对汇编语言和C语言的介绍与比较,本次设计将采用可读性和可移植性相对较强的C语言进行软件方面的设计。4.3主程序设计4.3.1子模块介绍和整体流程整个软件设计包括以下几个子模块:系统初始化模块、时间系统模块、监控模块和功能模块。各模块下又包含若干子程序:系统初始化模块主要负责上电后对系统的各种初始化操作,包括系统自检子程序和定时器初始化子程序;时间系统模块主要完成时间的显示功能,包括定时中断子程序、数码管动态显示子程序和报警时间显示子程序;监控模块实现对外部命令的识别并调用相应子程序的功能,包括键盘扫描子程序、延时子程序、系统设定子程序和红外信号判断子程序;功能模块即为各功能的实现模块,包括报警子程序、计数子程序、照明子程序、声光报警子程序。系统上电后先调用自检程序检测硬件是否正常,自检完成后就对定时器进行初始化以便开始计时工作。完成这些工作后,系统就会进入到一个反复的循环过程中,即先调用数码管动态显示程序使数码管显示相应的内容,接着进入键盘扫描程序判断是否有外部按键信号输入,一旦检测到有键被按下,则跳转到相关的子程序以实现不同的功能,当从子程序返回或没有按键信号输入时,就判断有没有红外信号产生,如果有,则根据当前时间的不同调用相应的功能子程序,如果没有红外信号产生,就继续依次调用数码管动态显示、键盘扫描和红外信号判断这三个子程序,从而构成一个循环。由于在程序执行过程中,数码管显示程序调用的间隔如果过大的话,数码管上不同位的显示对于人眼的感觉将不会是同时的,这样就会使系统的显示部分变得异常而不易被观察,所以,为了解决这个问题,在整个系统的程序执行过程中,数码管动态显示这个子程序将会在其他子程序中被反复调用。4.3.2系统整体流程主程序流程图如图4-1所示。图4-1主程序流程图4.4系统自检子程序设计4.4.1功能介绍自检主要是在系统开机后正常工作前先分别使用软件驱动关键硬件进行最简单的工作,借以检查系统的硬件部分有无损坏,电路是否有问题。首先将模拟警灯的红、蓝发光二极管和模拟灯光的发光二极管依次点亮,即将对应I/O口置低电平;蜂鸣器是无源的,在实际工作中模拟警笛的声音,这里只需反复给蜂鸣器赋予一个交替变化的交流信号,它就可以工作,发出声音;对于数码管,因为此处是为了测试硬件的好坏,所以通过软件将数码管的所有8位全部打开,在段位上使其显示“8”并闪烁三次即可证明数码管是正常的。4.4.2系统自检流程系统自检子程序流程图如图4-2所示。图4-2系统自检子程序流程图4.4.3系统自检程序代码系统自检子程序代码如下:voidselftest(void){rled=0;//红色警灯亮for(i=20000;i>0;i--);bled=0;//蓝色警灯亮for(i=20000;i>0;i--);light=0;//照明灯亮for(i=20000;i>0;i--);for(i=3;i>0;i--);//警笛鸣叫{for(j=200;j>0;j--){beep=~beep;delay500();}for(j=200;j>0;j--){beep=~beep;delay500();delay500();}}P2=0x00;//打开数码管所有位P0=0x11;//所有数码管显示8for(i=6;i>0;i--)//所有数码管闪烁3次{for(j=20000;j>0;j--);P0=~P0;}}4.5定时器初始化及中断4.5.1定时器概述AT89S52微控制器片内有两个16位定时/计数器,即定时器0(T0)和定时器1(T1)。它们都有定时和计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。其中,T0由两个8位特殊功能寄存器TH0和TL0构成;T1由TH1和TL1构成。每个定时器都可由软件设置为定时工作方式或计数工作方式以及其他灵活多样的可控功能方式。这些功能都由特殊功能寄存器TMOD和TCON所控制。设置为定时工作方式时,定时器计数AT89S52片内振荡器输出的经12分频后的脉冲,即每个机器周期使定时器(T0或T1)的数值加1直至计满溢出。当AT89S52采用12MHz晶振时,一个机器周期为1μs,计数频率为1MHz。设置为计数工作方式时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。当输入脉冲信号产生由1至0的下降沿时,定时器的值加1。不管是定时还是计数工作方式,定时器T0或T1在对内部时钟或对外部事件计数时,不占用CPU时间,除非定时/计数器溢出,才可能中断CPU的当前操作。由此可见,定时器是单片机中效率高而且工作灵活的部件。除了可以选择定时或计数工作方式外,每个定时/计数器还有4种工作模式,也就是每个定时器可构成4种电路结构模式。其中,模式0-2对T0和T1都是一样的,模式3对两者是不同的。4.5.2定时器的控制定时器共有两个控制字,由软件写入TMOD和TCON两个8位寄存器,用来设置T0或T1的操作模式和控制功能。当AT89S52系统复位时,两个寄存器所有位被清零。1.工作模式寄存器TMODTMOD用于控制T0和T1的工作模式,其各位的定义格式如表4-1所示。表4-1工作模式寄存器TMOD的位定义TMODD7D6D5D4D3D2D1D0(89H)GATEC/T(-)M1M0GATEC/T(-)M1M0定时器T1定时器T0其中,低4位用于T0,高4位用于T1。以下介绍各位的功能。M1和M0:操作模式控制位。可形成4种编码,对应于4种操作模式,见表3-2。C/T(-):定时/计数器方式选择位。C/T(-)=0,设置为定时方式,定时器计数AT89S52片内脉冲,亦即对机器周期(振荡周期的12倍)计数;C/T(-)=1,设置为计数方式,计数器的输入是来自T0(P3.4)或T1(P3.5)端的外部脉冲。GATE:门控位。GATE=0时,只要用软件使TR0(或TR1)置1,就可以启动定时器,而不管INT0(-)(或INT(-))的电平是高还是低;GATE=1时,只有INT0(-)(或INT(-))引脚位高电平且由软件使TR0(或TR1)置1时,才能启动定时器工作。TMOD不能位寻址,只能用字节设置定时器工作模式,低半字节设定T0,高半字节设定T1。表4-2M1和M0控制的4种工作模式M1M0工作模式功能描述00模式013位计数器01模式116位计数器10模式2自动再装入8位计数器11模式3定时器0:分成两个8位计数器定时器1:停止计数2.控制寄存器TCON定时器控制寄存器TCON除可字节寻址外,各位还可位寻址,各位定义及格式如表4-3所示。表4-3控制寄存器TCON的位定义TCON8FH8EH8DH8CH8BH8AH89H88H(88H)TF1TR1TF0TR0IE1IT1IE0IT0TCON各位的作用如下。TF1:T1溢出标志位。当T1溢出时,由硬件自动使中断触发器TF1置1,并向CPU申请中断。当CPU响应中断进入中断服务程序后,TF1又被硬件自动清0。TF1也可以用软件清0.TF0:T0溢出标志位,其功能和操作情况同TF1。TR1:T1运行控制位。可通过软件置1或清0来启动或关闭T1。将TR1置1后定时器T1便开始计数。TR0:T0运行控制位,其功能和操作情况同TR1。IE1、IT1、IE0和IT0:外部中断INT1(-)和INT0(-)请求及请求方式控制位。AT89S52复位时,TCON的所有位被清0。4.5.3定时器的工作模式AT89S52单片机的定时/计数器T0和T1可由软件对特殊功能寄存器TMOD中控制位C/T(-)进行设置,以选择定时功能或计数功能。对M1和M0位的设置对应于4种工作模式,即模式0、模式1、模式2和模式3。在前三种模式时,T0与T1的工作模式相同;在模式3时,两个定时器的工作模式不同。通常模式0很少用,常以模式1替代,所以这里不再对模式0进行介绍。1.模式1该模式对应的是一个16位的定时/计数器,在该模式下,寄存器TH0和TL0是以全部16位参与操作。用于定时工作方式时,定时时间为:t=(216-T0初值)×振荡周期×12(4-1)用于计数工作方式时,计数长度为216=65536个外部脉冲.2.模式2该模式把TL0(或TL1)配置成一个可以自动重装载的8位定时/计数器,TL0计数溢出时,不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。这里,16位计数器被拆成两个,TL0用作8位计数器,TH0用以保存初值。在程序初始化时,TL0和TH0由软件赋予相同的初值。一旦TL0计数溢出,便置位TF0,并将TH0中的初值再自动装入TL0,继续计数,循环重复。用于定时工作方式时,其定时时间为:t=(28-T0初值)×振荡周期×12(4-2)用于计数工作方式时,最大计数长度为28=256个外部脉冲。这种工作模式可省去用户软件中重装常数的语句,并可产生相当精确的定时时间,特别适合于作串行口波特率发生器。3.模式3工作模式3对T0和T1大不相同。若将T0设置为模式3,则TL0和TH0被分成两个相互独立的8位计数器,其中,TL0用原T0的各控制位、引脚和中断源,即C/T(-)、GATE、TR0、TF0和T0引脚及INT0(-)引脚。TL0除仅用8位寄存器外,其功能和操作与模式0和模式1完全相同。TL0也可工作在定时器方式或计数器方式。TH0只可用作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,其启动和关闭仅受TR1的控制。定时器T1无工作模式3状态。若将T1设置为模式3,就会使T1立即停止计数,也就是保持住原有的计数值,作用相当于使TR1=0。一般情况下,当定时器T1用作串行口波特率发生器时,定时器T0才设置为工作模式3,此时,常把定时器T1设置为模式2,用作波特率发生器。4.5.4定时器设置由于本设计需要包含时间模块,以便于在有外部红外信号输入时参考当前时间调用相应功能模块,所以要将定时器设置为定时模式,为了便于编程,决定每次定时时间为50ms,这样每1200次定时器溢出就是60秒。即一分钟。所采用晶体振荡器频率为12MHz,如果采用模式2即可自动重装载工作方式,在编程时就会方便很多,但是在使用12MHz晶振的情况下,模式2最多只能定时0.256ms,远远满足不了软件设计的需求,所以放弃模式2,而采用模式1来进行定时设计。根据公式(4-1),且振荡周期为晶振频率的倒数,因此定时50ms时的初值经计算,应为3CB0H。通过使用51单片机定时器初值计算软件,验证手工计算的初值无误,如图4-3所示,即TH0=0x3C,TL0=0XB0。图4-3软件初值计算结果4.5.5定时中断流程当定时器溢出产生中断时,CPU开始执行定时中断程序,先将定时器重新赋初值,然后判断定时器溢出次数是否达到预设值,即计满一分钟,如果没到,则中断返回,继续执行系统的其他程序;如果已满一分钟,就重新设置溢出次数计数参数,接着判断是否计满60分钟,不是就中断返回,是则将分钟清零,将小时加一;再下来判断是否计满24小时,不是则中断返回,如果是就将小时也清零。为了在计时判断过程中不影响数码管对当前时间的正常显示,专门定义了一组时间暂存器,分别对应分钟个位、分钟十位、小时个位和小时十位,当要中断返回时,就把这些暂存器中的值赋于显示寄存器,使数码管显示值得以更新。定时中断流程图如图4-4所示。图4-4定时中断流程图4.5.6初始化及中断程序代码定时器初始化代码如下:voidtimerstart(void){TMOD=0x01;//定时器0模式1IE=0x82;TH0=0x3C;//赋初值TL0=0xB0;miao20=1200;//一分钟计数TR0=1;//启动定时器}定时中断程序代码如下:voidtimer0()interrupt1using1{TR0=0;//关闭定时器TH0=0x3C;//赋初值TL0=0xB0;TR0=1;//启动定时器if((miao20--)==0)//是否到一分钟{miao20=1200;//重新赋值if((minl00++)>0xf9)//数码管显示变化{minl00=0xf0;if((minh00++)>0xf6){minh00=0xf0; if((hourl00++)>0xf3) {if(hourh00==0xf2){hourl00=0xf0;hourh00=0xf0;} elseif(hourl00>0xf9){hourh00++;hourl00=0xf0;} else; }}}hourh0=hourh00;//将后台寄存器值赋给显示寄存器hourl0=hourl00;minh0=minh00;minl0=minl00; }}4.6数码管扫描子程序设计4.6.1动态扫描原理对于一组数码管动态扫描显示需要由两组信号来控制:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论