【基于STM32单片机的家庭防盗报警系统设计与实现15000字】_第1页
【基于STM32单片机的家庭防盗报警系统设计与实现15000字】_第2页
【基于STM32单片机的家庭防盗报警系统设计与实现15000字】_第3页
【基于STM32单片机的家庭防盗报警系统设计与实现15000字】_第4页
【基于STM32单片机的家庭防盗报警系统设计与实现15000字】_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

基于STM32单片机的家庭防盗报警系统设计与实现 3 31.1.1STM32系列的现状和发展 3 3 4 41.3设计目标、采取的方案及写作安排 5 51.3.2本次设计采取的方案 51.3.3本次的写作安排 52需求分析 72.1用户需求 72.1.1技术可行性分析 72.1.2操作可行性分析 72.1.3经济可行性分析 72.2运行环境 72.3系统功能需求 82.3.1硬件控制 82.3.2红外检测 82.3.3用户接收警报 82.3.4电源模块 82.3.5输入模块 92.3.6输出模块 9 3.2系统硬件原理图 13.3STM32F103C8T6单片机概述 3.4按键控制电路 3.5电源电路 3.6蜂鸣器报警电路 3.7SIM800L模块电路 3.8人体红外电路 4软件系统设计 4.1系统软件的整体框架设计 4.2单个模块流程 234.2.1串□初始化流程图 4.2.2按键子程序 4.2.3报警流程图 4.2.4短信模块流程图 4.3关键模块的详细设计 264.3.1人体红外模块软件设计 4.3.2串□模块软件设计 4.3.3GSM模块软件设计 4.4.4蜂鸣器和指示灯的配置 4.4.5主函数控制 5运行与实现 5.1开发板的设计 5.2系统的运行 5.2.1创建项目工程 5.2.2下载程序 35.2.3系统的最终实现 1.1系统的选题背景、现状及发展趋势成不可避免的损失。除此以外,在外观上,妨碍了大众的审美。针对于这些缺1.1.1STM32系列的现状和发展公司推出。就目前的就业方向上看,从事单片机STM32的工作,市面上工资比较可以用在许多相对简单功能小的电子产品上,市场需求广泛。根据ST公司最新发(1)愈加全面亲民的价格;(2)保护产品的安全性;(3)高性能地模拟外设;(4)硬件加速;(5)实现2D图形加速;1.1.2GSM短信的现状和发展上世纪末,我国开始使用GSM,主要采用GSM900和GSM1800不同频率的两分支持三频自由切换,这些国家可以另外使用GSM1900频段的系统,准将会不断的升级来完善GSM,同时,国外对于陆地移动卫星系统,即LMSS和GSM的结合方面也在进行一系列的研究。未来组化和综合化几个方向发展2。在未来会朝着向全世界没有妨碍的移动自由通信的机会。从2011年热释电消费0.96亿,到2017年消费3.15亿,我国热释电传感器消费趋势逐年上涨,2017年,我国的热释电达到5.22亿的市场规模,预计2024年将达到15.99亿元的市场规模。随着社会智能化的趋势,热释电的需求将会在“智是采用热释电红外传感器模块作为检测员,由STM32单片体发出的红外辐射信号,并用处理结果控制报警电路。当前市面上,GSM已经被1.3设计目标、采取的方案及写作安排本课题主要研究基于STM32和GSM的报警系统。在单片机选择上,与传统的AT89C52芯片相比,本次采用了功能更加强大的STM32F103单片机。这种单片机的集成度高,价格便宜,功能丰富。它通过I/O□操控连接在单片机上的外围设备,使得编写起来更加容易。人体红外传感器通过人体发射的红外光谱感知一定范围内是否有人。当检测到一个人的时候,它会向单片机发送一个低电平信号进行处理,单片机上的按钮决定是否开启警戒模式。待命模式下,热释电红外传感器检测到有人,单片机获取到会通过SIM800L模块向设定的手机号码发送短信。(1)根据I/O引脚控制接收检测的数据,使用STM32单片机进行相应的处理和响应,继而控制输出。(2)系统的分析设计,通过系统的分析,决定整个系统应该具有哪些功能,需要哪些模块,以及这些模块如何通过引脚连接进行关联组合,继而控制整个系统稳定运行。(3)通过对系统的分析和元器件的价值,决定所需要的一些元器件,并进行购买,并且通过系统的电路图进行连接。(4)编写程序,确保整个系统能够正常运行。单独调试系统中的各个模块,从而确保各个模块能够单独的运行,继而根据系统最初的设定目标,整合各个模块,达到系统的预期效果。(5)最终能够实现实时地远程接收家庭的异常信息。根据上述的目标和方案分析,本次设计写作的安排如下:(1)开篇点名本次研究的背景,选题及意义,并对整个系统的内容做简单的介绍。(2)第二个部分主要对用户的需求,进行再一次的分析,分别从用户需求、运行环境和系统的功能三个方面研究。其中,用户需求主要是从技术、操作和经济三个方面进行分析。(3)第三个部分是经过上个模块的分析,得到硬件模块,对系统的硬件模块进行分类,主要分为上电部分,输入部分,输出部分和中心处理四个部分。通过这个模块,主要对系统的硬件进行介绍,以及绘制出系统的原理图,系统每个电路部分做出简单地介绍和分析。(4)第四个部分是从软件,编程的角度分析系统。通过对每个硬件的驱动进行分析和学习,用C语言解决整个系统在运行时,如何通过代码来控制单片机处理器对各个输入输出模块的控制。(5)接下来的部分主要是在系统基本完成的情况下,对一些功能的测试,以及一些细节上的调试。(6)最后,对整个系统进行总结,以及致谢部分。2需求分析式开发中,常用的开发也是基于GSM进行远程传送实时消息,结合STM32发过程中需要一些成本,但是这是学习和成长必不可少的一份经历和资料。同时,本次系统采用在Windows上安装的Keil5开发工具进行软件开发,元器件和另一方面在手机的SIM卡中。PCB设计工具:AltiumDesig2.3系统功能需求STM32作为系统的硬件控制单元。通过处理器上的自带的指示灯(PC.13引判断硬件是否正常初始化,外设的LED灯用来判断整个系统是否已经通过按键的方式开启了监测。当I/O端口收到异常的信息,会通过GSM模块,向指定的手机用户发送短信,并使用蜂鸣器进行相应的指示,GSM模块接收到的消息,会经过得到的报警信息,也是预先在代码中设定的内容。其中,报警使用的GSM为2.3.5输入模块这部分主要由传感检测部分和按键部分构成。传感检测部分使用的是热释电红外,不停地检测异常入侵。按键包括STM32F103C8T6上的reset复位按键(用于使整个系统复位到初始化部分),以及外接的两个按键设备,分别用于开启整个系统防护和关闭保护。2.3.6输出模块本模块由指示部分和报警部分组成。报警部分在前面已经讲述过,所以在这里STM32F103C8T6芯片上的PC13引脚,用于指示初始化是否正确,另一个为外设的LED二极管,主要用来提示出当前系统所处于的状态,方便告知用户,当前系统是否处于保护模块,以便误解系统的状态,带来麻烦。3系统硬件设计(2)红外传感模块作为检测源;(3)按键开启检测,LED指示灯指示当前系统所出的工作状态;防护的开关,避免在不必要的时候进行防护。系统的基本模块框图如图3-1所示。蜂鸣器报警蜂鸣器报警GSM发送报警短信按键设置人体红外检测时钟电路电路开关复位电路图3-1系统设计框图3.2系统硬件原理图采用STM32F103C8T6单片机,人体热红外探测传感器通过红外感应效应检测防控。电源采用5V电源,其硬件电路原理图如图3-2所示:图3-2系统硬件原理图线,可以用于连接电脑的USB接口或者充电宝,通上5V的供电,还可以通过排线板上的5V或3.3V排线进行供电。通过排线上的3.3V,可以直接供电给单片机,但是5V的供电会经过板子背面的稳压芯片LDO,将供电的5V转化为3.3V供电给单片机,MicroUSB接□和这个5V一样都需要经过LDO转化为3.3V,才能给单片机供电。排线上的两个3.3V引脚是相通的,两个GND也是相通的。为了驱动其他外设模块,本次设计采用的是5V的供电方式。板子上有其中PWR指示灯亮起代表单片即供电正常,PC13指示灯接PC13引脚,通过拉低芯片拥有三个串□,其中,A9和A10为串□1,A2和A3为串□2,B10和B11为串□3。在使用的过程中,只需要与响应的硬件外设相匹配,并进行配置就可以使模块正常运行。B6~B9可用于PWM输出,可以配置四个PWM输出。C13~C15以做一些与时钟相关的内容。引脚VB用于后备电源供电。AD采集为12位内置板上有SWD接口和串□1两种方式进行下载。二者的区别在于,SWD可以用于调试程序,串□1只能下载程序。本次设计使用的是SWD下载并调试程序,通过BOOT选择0,搭配下载,而串□1进行下载的时候,需要通过BOOT选择1,STM32F103C8T6核心板的实物图如图3-3所示:MircoUSBMircoUSB接口本次使用的这个板子系列属于增强型系列的板子,该STM32系列的内核由四部分构成,其中其核心为Cortext-M3处理器,在性能上有独立的指令和数据总线,在复杂的情况下,可以使用外部的cache,支持大小端模式,还可进行调试等优势。在核心外部,搭配着拥有着优势的性能和功耗相对较低且集成度和创新性比较优越的外接设备。板子的开发者为了后续的使用者能够快速使用这一系列的板子,在设计的过程中,采用一些技术,使整个系列的产品之间能够在引脚、外设以及开发使用的软件等方面具有兼容性。图3-4为这一系列STM32的内核:作为微型计算机,STM32的优势,使它常在控制领域中发挥着重要的作用。使用方便。这次设计是以40线双列直播式封装形式使用STM32贴片式芯片,STM32F103C8T6的具体引脚设置如图3-5所示:Ne9P8NRSTVDDA19HVSS_1909!83.4按键控制电路按键电路是通过对高低电平进行检测,进而来判断按键是否被按下。图3-6为按键的原理图,其中,12和34引脚是内部导通的,即同排的两个引脚内部相通,对向的两个引脚内部不通。在做具体设计的时候,只需要将12或者是34连接单片机或者是GND就可以了,即处于斜对角方向的引脚,一个用于连接单片机I/O端,而它的对角的引脚用于接地。在焊接的过程中,可以采用万用表测试按键的引脚通断的情况,确保焊接之后,按键能够正常工作。按键的工作原理比较简单,本次采用的按键都属于弹性的按键,当按键被正常地按下的时候,两个触点闭合,电流导通,由于另一个I/O引脚接地,此时与单片机连接的引脚显示为低电平。当放开按键的时候,触点在弹力的作用下自动抬起,从而断开连接,此时,单片机连接的引脚显示为高电平。图3-8所显示的是按键在系统的原理图中具体的连接情况,通过传回的电平,撤防撤防3.5电源电路本次设计采用的电源为直流的3.3V,不经过LDO转换,直接供电给STM32F103C8T6处理器。电路在连通之后,通过电源开关Switch按键开启整个系触点,电路才会断开。这种开关的原理图见图3-8:36249在外形上,这种开关与弹性开关相同。如图3-9所示,为该开关的实物图:3.6蜂鸣器报警电路用的是压电蜂鸣器复合体装置。该装置连接一个三极管S8050,用于放大电流。其路原理图:图3-10蜂鸣器报警电路GSM模块用芯讯通(SIMCom)公司生产的SIM800L芯片。相较于只能支持双频,即只能在大陆使用的SIM900A模块,本次设计采用的SIM800L芯片,能够支持全球范围使用,及支持4频。除此之外,考虑到模块的体积、价格以及发送消息的时间等因素,本次设计确定使用SIM800L作为GSM通信的模块。们设置的温度上限值时,STM32F103单片机就会控制串□,通过SIM800L短信模送短信进行提示。这次使用5V的2A电流给此模块进行上电,接受和发送的数据引脚也因为接的是5V而呈现出5V的电平。特率为9600bps,通过相应的AT指令来进行操作。本次设计采用文本模式来进行要的条件。在本次使用过程中,电路的必要连接设计如图3-11所示,923456783.8人体红外电路这次设计采用PIR热释电红外传感器。它不受可见光的影响,耗电量微少。一般只会通过接收到特定的(9μm~10μm)红外波长,赫歇尔曾经研究过对物体升温有着很好的加速作用的红外波,随着物体温度的上升,物体辐射出的红外线也增多,该现象被称为注明的热效应现象。本次使用的红外原理便是依据这种现象,当通过红外线导致温度的变化时,内部电荷的平衡被打破,电荷进行移动,电荷经过芯片BISO001的滤波和放大,使电路电压输出为高的电平。由于这种模块的功能过于单一,且受干扰的因素很少,能够在白天也进行工作,因此常用来做红外检测,此红外模块的参数如表3-1所示:模块参数值工作电压静态功耗50微安电平输出高3.3V,低0V延时时间可调(8秒~200秒)感应封锁时间2.5秒触发方式感应范围小于120度锥角,7米以内工作温度-15~+70度PCB外形尺寸感应透镜尺寸(直径):23mm(默认)本次设计采用的是5V的电压,因此可以支持这个红外模块工作,由延时时间可以知道模块会在8s到200s的时间内才会反应出红外线辐射的温度变化。数据通过图3-12中的OUT引脚进行采集,其中通过VCC提供给红外5V电压,VEE为负电压供电,这里用来接地,但在实物中,VEE引脚实际上是GND引脚,具体可见在运用模块测试的时候,存在模块感应不太灵敏的问题,此时可以通过旋转图3-11中的对应按钮进行调整。在具体设计的过程中通过菲尼尔红外滤波片从内部改善这个模块的灵敏度。同时,我们还可以通过顺时针旋转延时按钮来决定减短延时。具体的校准方法见下图3-13:要注意的是,人体红外检测不是一直检测,它的工作原理是检测到人后会输出高电平,然后等待一段时间会在此进行检查,类似于安装在楼道中的感应灯。我们可以想象一下,楼道中的感应灯,也是经过一段时它会在5秒左右发光工作。本次设计采用的LED为直插式LED发光二极管,用于指示系统是否处于保护电流的电子,其结构原理图如图3-14所示:图3-14LED报警指示灯电路图4软件系统设计的环境中的非法进入,能够通过这次的设计,进行远程本次软件通过采用STM32的库函数进行的开发。对于单片机内核而言,内核底层,在编写的过程中,类似于分片操作,STM32为每个寄存器分配了不同的地比如,当需要读取PA2的电平,首先就要找到相应的寄存器,通过STM32参考手册查到,GPIOA相关的寄存器,都存放在0x40010800~0x40010BFF范围内,根据输入数据的寄存器地址偏移为0x08可以计算出,GPIOA_IDR所处的地址为在这个32位寄存器的倒数第3位置上,也就是说,可以通过位置0x40010808进行位与或者位或0x04或者0x00的操作,从而对第三个位置进行赋值或者获取该位置的状态,即PA2的设置或取值。在STM32F10x.h文件中,存放着寄存器和地址映置信息配置这个变量的某些成员,最后,再将这个变量的地址作为参数传入一些下图4-1所示:结构体类型图4-1STM32库函数组成当整个系统在运行之前,先对各个硬件进行初始化PC13指示灯的正常亮起代表整个系统各个模块都可以进行正常的运转,即各个模块开始工作,人体红外可以进行检测,处理器也能够进行相应的控制和报警操作。(1)通过按键,保证传感器的监测数据是在开启了防控的模式下,单片机才能对这个数据进行反馈处理,否则继续监视防护按键是否被按下。用户可以通过(2)系统在编写时,就将相应的用户信息设定好,从而保证了报警信息能够(3)在防控的模式下,检测到有人出现的话,模块输出有两个方向,分别是蜂鸣器响动和GSM输出。根据以上的这些分析,整个系统在运行期间应当具(2)设定好用户信息以及发送的警报信息,以便通过对应的串□操作控制(3)利用处理器的引脚控制蜂鸣器。系统启动的步骤为:按下开关按键,STM32开始进行相关的上电和配置,对中断进行配置以及对按键进行初始化,通过一些初始化函数分别对GSM护或关闭保护模式,当有异常的信息出现时,蜂鸣器及时进行响应,同时通过SIM800L模块发送报警短信到手机。整个主流程图如图4-2所示:否GSM短信模块初始化人体红外检测按键扫描是否按下布防按键是布防模式否是否检测到人是图4-2程序主流程图4.2.1串口初始化流程图在使用SIM800L通信模块时,首先对模块进行相应的初始化配置,对端□GPIO进行初始化,同时开启串□的外设时钟,在这次设计的时候,我采用的是库函数方式进行初始化串□,首先需要定义USART_InitStructure这个类型的结构体变量,通过一些参数配置串□传输的波特率等基础的设置。在使用串□时,需要对开启串□的中断功能,从而保证能够处理GSM模块接收消息的能力。接着就是对中断的优先级也进行相应的配置。串□的主要作用是能够控制SIM800L通信模块通讯。串□的初始化的具体过程如图4-3所示:4.2.2按键子程序由按键的内部电路设计知道,当按键被按下时,对应的I/O引脚会输出低电平,处理器可以通过检测到低电平,认为按键被启动。本次设计的时候,通过循环判断连接按键的引脚输出的电平,对系统的状态进行设置。在检测的时候,由于按键采用的是弹性按键,当按下按键的时候,电路并不会立马导通,在这里通过软件控制,进行消抖。使用的两个按键主要进行布防和撤防,在布防情况下,当热释红外感应到人之后,由单片机处理结果,并由系统控制发出相应的报警信号。在撤防的情况下,则不会因为红外感应而发送报警短信。流程图如4-4所示:NY4.2.3报警流程图主函数执行后,一直检测是否发生中断,首先报警程序的入口通过按键开启,LED灯指示,系统进入防护状态,接着处理器开始接受由人体热释红外传感器检测到的异常信息。一旦传感器检测到有人存在,即触发了报警条件,传感器通过电路就会输出电压量,通过GPIO端口发送给单片机,单片机在防控的情况下进行输出处理,在未设防的情况下,并不会对报警的信息进行输出。本次设计蜂鸣器和GSM短消息作为共同的报警输出指示。具体的报警流程图如图4-5所示:报警程序入口报警程序入口N是否触发报警条件Y单片机输出低电平,蜂鸣器报警,发出报警短信这次采用的GSM短信模块支持使用AT指令集,单片机可以使用AT指令控制GSM发送数据,系统可以通过GSM模块发送的返回值验证发送的AT指令是否得到正确的执行,返回的字符串若以“OK”字符结尾,则代表GSM模块正确执行了AT指令,若以“ERROR”结尾,则代表着AT指令没有得到正确的执行5。这一部置发送的消息格式,其中AT+CMGF=0属于PDU模式,这种模式是以数据包的形式发送的,支持中英文等内容的发送和接收。AT+CMGF=1属于text文本模式,这通过AT+CSCS=”GSM”将短信的内容设置为纯英文内容。本次设计对与接受消息是通过串口中断的方式进行处理的,使用AT+CNMI=2的指令方式,确保接受的数开始开始否A否否重发超过3次?否A中断1?有串行中断2?是是是图4-6通信模块流程图4.3关键模块的详细设计在这个部分中,我主要对系统中的检测部分,输出部分,控制部分三个模块方向所做的设计进行详细的解释。在具体的代码实现中,主要采用的是库函数的形式进行的编写。本质上,寄存器和库函数是一样的。相较于51单片机(常用的寄存器只有几个),STM32的寄存器有数百个。这个时候,如果采用寄存器去操作STM32,过程就会变难得很复杂,而使用库函数,就会使操作变的很简单。库函数的具体实现过程,在本部分开始就已经说明。4.3.1人体红外模块软件设计通过处理器的PC14引脚与红外模块相连,当系统上电时,该模块也进行相应的初始化,具体需1分钟左右配置,当模块的探头检测到人体经过时,输出高电平,因此,在控制检测这方面,只需要开启PC.14的I/O时钟,并通过一个变量来得到这个引脚的电平高低,这里使用#defineRTHWPCin(14)可以有效地得到该引脚的变化。具体配置如图4-7所示:4.3.2串□模块软件设计通过单片机的USART1_TX,即PA.9引脚控制GSM模块的接收消息通道。通过USART1_RX,即PA.10控制GSM模块的发送消息通道。故需要开启串□USART1的RX和TX时钟,并设置USART1的中断函数,从而确保GSM模块能够及时地接收和发送消息。其中串□1的发送数据的函数如图4-8:3(while((USART1->SR60X40)==0);//等待发送完成}}else//如果字长等于或超过255,不按用户写入字长发送3for(;*bufs!=0;bufs++)//把字符逐个发送出去{while((USART1->SR&0X40)==0);//等待发送完成接收数据由串□的中断处理函数进行接收,接收处理如图4-9:voidUSART1_IRQHandle曰if(USART_GetITStatus(USART1,USART_IT_R(if(RxCouncer>-USART1_RXBUUsart1RecBuf[xCounter++1=USART_ReceiveData(USART1)://接收模块ch-USART_ReceiveData(U{(gsm_revokrlag=1z//41f(USART_GetFlagStatus(USART1,USART_F(USART_ReceiveData(USARTUSART_ClearITPendingBit(USART1,USART_IT_RXN4.3.3GSM模块软件设计根据GSM芯片手册中的AT指令,进行初始化GSM,同时设定GSM发送消息的函数,主要在函数中设定要发送到的手机号码,以及需要发送的消息内容。模块的初始化代码如下图4-10:通过AT指令控制GSM模块,这个控制代码如图4-11:voidgsm_atcmd_send(char*at)//GSMAT指令发送函数unsignedshortwaittry;//延时变量{gsm_rev_start=0;//接收开始标志清零gsm_rev_okflag=0://接收完成标志清零waittry=0;//延时变量清零uart_send(at,0xEF);//串口发送内容while(waittry++<3000)//进入while延时{if(gsm_rev_okflag==1)//等待esp8266返回oK{return;//返回出去}}}while(gsm_rev_okflag==0通过GSM发送数据,进行异常情况的报警,具体实现如图4-12:voidgsm_send_msg(constcha曰unsignedchargsm_at_txbuf[48]://GSMATmemset(qsm_at_txbuf,0,48);//缓//sprintf(gsm_at_txbuf,"AT+CMGS=\"s\"\r\n",nustrncpy(ma5xbuf,"AT+CMGS=\"",9);//将AT+CMGS=\",复//strcat(gsmattxbuf,nummemepy(sm_at_txbuf+9,number,11);//将手机号码复制到AT+CMGS=\"之后1en"strlen(am.at.txbuf)://获取asmattxbuf字符串长度gsm_at_txbuf[len+2]-'\n'://gsm_at_txbuf最终的格式"AT+CMGS=\"手机uart_send(content,0xFF);//发短信内容钟,填充GPIO_InitTypeDef结构体,设置输出方式为推挽输出,速度为50MHz,置也与蜂鸣器,PC13基本相同。如图4-13为蜂鸣器的初始化配置:voidBEEP_DISENABLE(void)GPIO_InitTypeDefGPIO_InitTypeDefGPIO_InitRCC_APB2PeriphclockCmd(RCC_APB2Periph_GPIOB,ENABLE)://使能//推挽输出////推挽输出//PB.11输出低GPIO_Initstructure.GPIO_Mode=GPIO_MoGPIO_InitStructure.GPIO_speed-GPIO_spGPIO_Init(GPIOB,6GPIO_Initstruc_ResetBits(GPIOB,GPIO__ResetBits(GPIOB,GPIO_随着系统上电启动,先后配置中断优先级,初始化按键,串□,蜂鸣器,PC13上的LED指示灯,人体热释电红外,LED指示灯,配置完成之后,通过延时等待硬件初始化完毕,比如热释电红外传感需要1分钟左右配置等。之后,开启循环判断防盗模式是否开启,设置一些标志变量,比如flag,KEY1等对系统各个模块进行控制。如图4-14所示,是主函数的部分代码:93日1delay_init()://延时函数初始化NVIC_Configuration();//设置NVIC中断分组2:2位抢占优先级,2位响应优先级KEY_iō_Init();//按键初始化gsm_init();//GSM初始化BEEP_DISENABLE();//蜂鸣器初始化RTHW_Init();//人体红外初始化LED_Init()://LED初始化(}(5运行与实现5.1开发板的设计确定所需要的元器件,并进行了采购,如表5-1所示:规格名称标号数量按键21三极管2电阻4电源1开关1人体红外1STM32核单片机1蜂鸣器1gsm模块1本次是在AltiumDesigner软件环境中创建的原理图和PCB图。通过“File->New->Project->PCBProject”的步骤,创建了工程绘制文件夹,在这个工程文件中创建原理图和PCB文件。通过点击菜单栏查看每个元器件的封装是否符合预期的效果,在都没有问题的情况下,通过“File->New->PCB”进行建立sys.PcbDoc文件。在这个文件中使用Design菜单中的“ImportChanges”来生成对应的PCB文件。用焊盘时,如果出现氧化的情况,就需要进行过水的打磨,并涂抹酒精松香溶晾干后再使用。遇到引脚氧化,我采用的是刀之后先镀锡,然后再进行焊接。5.2系统的运行本次系统的设计开发过程中,主要采用集成开发环境KeiluVision5进行软件编写,这个工具在调试,仿真等方面表现优秀,并且这个环境下,能够支持C语言兼容的单片机开发,符合本次软件开发。为了使这个工具能够支持STMF103C8T6芯片的开发,需要通过安装“Keil.STM32F1xx_DFP.1.0.5.pack”这个固件包,完成基本的环境搭建。本次创建的项目名为Alarm,由于本次使用的是STM32F103C8T6,所以需要将设备设置为STMicroelectronics->STM32F1Series->STM32F103C8。本次我在项目中新建USER,HARDWARE,CORE,FWLIB,SYSLIB五个文件名。其中,USER文件夹主要存放着用户自定义的文件,HARDWARE存放着本人对外设设备的初始化和基本的配置文件,包括按键,LED外设,人体红外,蜂鸣器等相应的I/O的配置。CORE文件夹主要放置着STM32的内核驱动,FWLIB放置着系统GPIO,中断,时钟等所需的库文件。SYSLIB文件夹存放着延时配置文件,中断优先级的配置文件和串口配置这个文件。如图5-1所示,为本人的项目结构:之后,配置项目的开发所需要的必要环境,主要是在弹出的窗□中,用PreprocessorSymbols->Defines:这一栏进行填充,其中STM32F10X_MD代表本次标签页中的IncludePaths地方添加项目所需要的头文件所在的目录。除此以外,还钮,添加STM32F10xMed-densityFlash中等系列的设备,如图5-2所示:Debug|TracePDownloadFunction-VerfyOKCaneel区区厂Derice|TuretOutput|Listing|User|cc++|Ase6CreazteEecutableObje程序编译结果Output如图5-4所示,其中四个警告来源于char*和unsignedchar*的兼容性: compilingstm32compilingpilingusart1.c...ProgramSize:Code=6196RO-data=280RW-data=68ZI-data=1684".\Objects\Alarm.axf"-0Error(s),4Warning(s).通过download将生成的目标文件下载到开发板中,进行测试,见下图5-5所网F:\GraduationProject\graduate\Alarm\USERAlarmFileEditViewProjecFlashDebu5.2.3系统的最终实现(1)通过上电,按下电源开关按钮,系统上电开机界面,当系统正常运行的时候,PC13指示灯开始闪烁,当系统出现问题,或者一些模块没有正确的初始化,这个指示灯不会亮,开机界面如图5-6:(2)通过左侧的按键,打开系统的防控开关,通过右边的按键,关闭系统的防护开关。当开启防控开关的时候,LED指示灯亮起,当关闭防控的时候,LED指示灯熄灭,防控的界面见下图5-7所示:(3)异常发生,系统进行报警,蜂鸣器间断地响起,如图5-8所示,对应的,手机上收到指定的报警短信:40.2湖北黄石十短信/彩信发送图5-8手机得到报警信息经过几个月的时间,本人也成功完成了基于单片机的GSM人体热释红外系统的实现,基本上实现了最初构思的功能。本文讨论了如何进行人体红外检测和短信的发送。通过对市场上存在的防盗系统进行分析和总结,设计出以STM32F103C8T6芯片作为核心处理器,实现了基本的家居型远程的防盗功能。通

温馨提示

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

评论

0/150

提交评论