毕业设计(论文)基于单片机和GSM的智能防盗报警系统的设计.doc

上传人:仙人指路1688 文档编号:4136118 上传时间:2023-04-07 格式:DOC 页数:24 大小:717KB
返回 下载 相关 举报
毕业设计(论文)基于单片机和GSM的智能防盗报警系统的设计.doc_第1页
第1页 / 共24页
毕业设计(论文)基于单片机和GSM的智能防盗报警系统的设计.doc_第2页
第2页 / 共24页
毕业设计(论文)基于单片机和GSM的智能防盗报警系统的设计.doc_第3页
第3页 / 共24页
毕业设计(论文)基于单片机和GSM的智能防盗报警系统的设计.doc_第4页
第4页 / 共24页
毕业设计(论文)基于单片机和GSM的智能防盗报警系统的设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机和GSM的智能防盗报警系统的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机和GSM的智能防盗报警系统的设计.doc(24页珍藏版)》请在三一办公上搜索。

1、毕 业 论 文基于单片机和GSM的智能防盗报警系统的设计学生姓名: 学 号: 学院名称:信息技术学院 专业名称:计算机应用技术 指导教师: 山东女子学院教务处制2011年5月 16日基于单片机和GSM的智能防盗报警系统的设计摘 要设计了一种基于单片机和GSM技术的智能防盗报警系统,本系统主要由单片机AT89S51 、SIM300Z短信模块和传感器电路组成,借助最可靠、最成熟的GSM移动网络,以最直观的中文短消息或电话形式,随时实现异地监控家中的情况,并且家中发生盗情时能及时把报警地点的情况反映到主人的手机屏幕上,具有方便安全的优点。【关键词】单片机;GSM;报警;硬件;软件;设计DESIGN

2、OF INTELLIGENT ALARM SYSTEM BACED ON SINGLE-CHIP COMPUTER & GSMABCTRACTThe Cyctem ic made up of MCU and GCM Modem. It will dicplay the alarm content in Chinece directly at your mobile ccreen, and it recurc to the moct reliable GCM mobile network. The cyctem adopted initiative infrared cencor to dete

3、ct, and it turned the traditional alarm net and alarm windowc to immateriality. Becidec, the cyctem equipped the cmog cencor and leakinecc cencor of gac and guarded againct fire and gac leakinecc.Keywords: single-chip computer; GSM ;alarm; hardware; software; design目录1 绪论2 硬件系统设计2.1 硬件系统总体结构2.2 硬件系统

4、基本工作原理.2.3 硬件系统部分电路设计 .2.4 传感器电路与单片机的接口.2.5 硬件系统详细设计2.6 硬件系统实验平台.3 应用软件设计. 3.1 单片机编程环境. 3.2 主控程序. 3.3 定时中断处理子程序 3.4 传感器信号采集子程序. 3.5 核对子程序. 3.6 查找报警点子程序. 3.7 显示报警点子程序. 3.8 GSM短信发送子程序. 3.9 温度显示子程序. 3.10 键盘扫描子程序.4 结 论.致谢词.参考文献 附录A 其他程序代码附录B GSM-G100A数据传输格式.1绪论随着我国国民经济的快速发展, 人民生活水平的提高, 人们对家庭住房的防盗、防劫、防火设

5、备的重视程度也在不断提高, 所以现代社会有更多的人需要对偷盗、抢劫、火灾、煤气泄漏等事故进行监测和报警。本文按照任务要求设计了一个基于单片机和GSM的智能防盗报警系统,为家庭或单位的防盗事故进行实时监控。随着电子技术的飞速发展,报警系统已从原来的简单化、局部化向智能化、集成化发展。而各种防盗报警系统之间的主要区别是在于如何让分机与主机、分机与用户之间进行通讯。目前市场上常见的防盗报警系统的通信方式有:通过振铃威慑盗贼;固定电话拨号、以太网、集群系统等等。但它们有各自的缺点:(1)通过振铃威慑盗贼的方式,当发出振铃信号时容易使盗贼跑掉,不能抓住盗贼。(2)固定电话拨号容易被盗贼在入室抢劫前切断电

6、话线或恶意占线,使其在关键时刻失灵。(3)以太网同样面临着线路被切断的隐患,且不易普及。(4)集群系统功耗很大,网络架设和维护费用很高,而且需要购买固定的频点。为了有效的保证居民的生命财产安全,并针对以上通信方式的优、缺点,设计了基于单片机和GSM技术的家庭无线防盗报警系统。该系统是利用无线GSM技术进行监控,将AT89S51 单片机、SIM300Z集成GSM短消息通讯模块、HT1602 液晶显示驱动芯片等有机地结合在一起, 构成一种功能先进、实用、成本低廉的家庭智能防盗报警器。此系统让家庭防盗更及时、使用更方便。它不再依赖有线电话执行报警,而是借助最可靠、最成熟的GSM移动网络,以最直观的中

7、文短消息或电话形式,直接把报警地点的情况反映到主人的手机屏幕上。它采用主动式红外传感器进行检测,变有形的传统防盗网防盗窗为无形,给火灾时的逃生提供方便。2 硬件系统设计2.1 硬件系统总体结构基于单片机和GSM的智能防盗报警系统是由GSM短消息模块、键盘模块、液晶显示模块、电源模块构成, 系统硬件总体框图如图2.1 所示。 单片机AT89S51 电 源红外传感器 GSM模块霍尔传感器蜂鸣器温度传感器小键盘数码管显示模块图2.1 系统硬件总体框图2.2 硬件系统基本工作原理在房屋的窗户上安装红外传感器,在门上安装霍尔传感器。当家中发生警情时, 此时家中设定的传感器模块会发出异常信号给单片机, 单

8、片机接收到信号后通过GSM模块立即发出短消息给主人或者小区物业报警,以便及时采取防盗措施避免财产损失。当主人在家无须设防时, 该报警系统还可以显示温度,即作为数字温度仪使用。2.3 硬件系统部分电路设计2.3.1 单片机模块AT89S51作为普通51单片机已与广泛应用于各种产品中,其接口简单,方便使用,且功能强大,因此本系统采用AT89S51单片机作为主控制芯片。AT89S51单片机由ATMEL 公司生产,芯片外部结构如图2.2 所示。图2.2 AT89S51单片机芯片AT89S51 是一个低功耗,高性能CMOS 8 位单片机,片内含4kB ISP(In-system programmable

9、)的可反复擦写1000 次的Flash 只读程序存储器,具有高密度、非易失性存储技术的特点, 芯片内集成了通用8位中央处理器和ISP Flash 存储单元,使AT89S51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案 。AT89S51单片机的具体功能特性如下:与MCS51兼容;4K支持在线编程(ICP)的FLACH结构程序存储器,1000次擦写周期;工作电压为4.0V5.5V;全静态工作:工作频率为033MHz;3级程序安全加密保护;256*8位内部RAM ;32个可编程I/O端口;3个16位定时器/计数器;8个中断源;ISP在线编程;一个全双工异步串口;支持低功耗及掉电模式;支持中断

10、从掉电模式唤醒;内置看门狗;双数据指针等。2.3.2 GSM模块本系统的GSM模块采用北京捷麦公司生产的GSM-G100A,此模块由SIM300Z和ATMEGA4微处理器主要部件组成,GSM-G100A与AT89S51通过串口连接,其连接原理图如图2.3所示。AT89S5112MHzDC512V(2A)TTLRxDTxDGND PowerTxDRxDGNDGSM-G100图2.3 AT89S51与GSM-G100连接GSM-G100A使用前可用初始化软件对其进行初始化参数设置,如通信参数(默认波特率为9600bps、数据帧为8位)、传输模式、有无密码、接收方手机号码等,这样在软件中就不用再关心

11、参数问题了,如不用设置接收方手机号码了,方便程序编写。单片机与GSM的通信波特率、数据位数必须相等!如都为9600bps、8N1。关于GSM-G100模块更详细的使用说明参见其PDF文件(可网上下载)或附录B。2.3.3 红外传感器模块红外传感器适于放置在窗户上,用于对窗户是否有人闯入进行监测,其应用电路如图2.4所示。热探测器是利用辐射热效应,使探测元件接收到辐射能后引起温度升高,进而使探测器中依赖于温度的性能发生变化。当元件接收辐射,引起非电量的物理变化时,可以通过适当的变换后测量相应的电量变化。去单片机图2.4 红外传感器电路原理图2.3.4 霍尔传感器模块本系统使用霍尔传感器(型号为A

12、04E)作为门是否被打开的监测元件。霍尔传感器安装在门上,其接线图如图2.5所示。在门的边沿处固定一块磁钢,与固定在门框处的霍尔传感器相对,当门被打开时霍尔传感器通过OUT端输出一个脉冲,此脉冲输入到单片机的某一并口或T1端,作为盗贼入室信号。OUT+5V霍尔元件+5V10K去单片机图2.5 霍尔传感器接线原理图2.4传感器电路与单片机的接口2.4.1 入室监测传感器与单片机的接口入室监测传感器包括红外传感器、霍尔传感器,它们与AT89S51单片机的接口通过8243并行I/O口芯片,实现多点检测,8243与单片机的连接如图2.6所示。一片8243有4个4位的并行I/O端口,即P4( P4.0P

13、4.3)、P5(P5.0P5.3)、P6(P6.0P6.3)、P7(P7.0P7.3),每个端口连接4个传感器输入信号,故每片8243可检测16个门/窗。本系统用了两片8243,若需要,还可增加8243的数量。2.4.2温度传感器与单片机的接口温度传感器采用DS18B20新型数字温度传感器,它将温度传感元件、数字量转换电路、数据存储器、外部通信接口等部件集成在一块芯片上,可在单片机控制下,通过少量的几根信号线输出数字形式的温度值,大大简化了硬件设计。本系统中,温度传感器模块DS18B20的数据线与AT89S51单片机的P1.0口线连接,如图2.6所示。红外/霍尔传感器信号红外/霍尔传感器信号V

14、ccDS18B20 P4 P5 P6 P7CS 8243PROG P2 P4 P5 P6 P7CS 8243PROG P2VccDQGNDAT89S51P1.0P2.0p2.3P1.4P1.6P1.5 图2.6 传感器与AT89S51接口2.5 硬件系统详细设计基于单片机和GSM的智能防盗报警系统的硬件详细电路如图2.7所示。每片8243接16个传感器电路的输出端,8243的片选分别连P1.5赫P1.6口线、PROG端连P1.4、数据/命令端口(P2)连P2.0P2.3口线。4位共阴极数码管采用动态显示方式,用于显示温度数据,由单片机P0口提供段码信号,P2.7P2.4口线提供位码信号。按键K

15、1、K2接到P1.1和P1.2口线。温度传感器DS18B20的数据线与单片机的P1.0口线连接。DS18B20CS12MHzK2K1AT89S51RxD P1.6TxDGND P1.5 P1.0 P1.4 P2.0P2.3 P0.0P0.7P1.1P1.2XTAL1 P2.7 P2.6 P2.5XTAL2 P2.48243传感器传感器GSM 8243图2.7 系统硬件详细电路2.6 硬件系统实验平台硬件系统实验平台采用我院嵌入式系统实验室的单片机实验板(实验箱),外扩红外传感器检测电路和霍尔传感器检测电路,通过实验板上的A/D转换器ADC0809或直接连接至单片机并口,如P0口。GSM-G10

16、0通过串口与单片机通讯。实验系统如图2.8所示。霍尔传感器AT89S51单片机DS18B20GSM红外传感器检测电路 图2.8 防盗报警系统硬件实验平台3 应用软件设计3.1 单片机编程环境单片机的编程语言可以采用MCS-51单片机的汇编语言或Keil C语言(C51)。在此系统的软件设计中选择采用MCS51汇编语言编程。汇编语言具有可执行文件代码短、执行速度快的优点,被广大单片机编程者所采用。编程环境采用的是Keil Vicion2,Keil Vicion2是Keil公司关于MCS-51系列单片机的集成开发环境(或工具),即可在其下程序编制、程序烧录等。Keil Vicion2编程界面如图3

17、.1所示。如果程序要烧写到单片机的Flash中,必须在编译时生成HEX文件,即烧写到单片机的文件。要生成HEX文件,需在编译之前对输出选项进行设置,步骤如下:鼠标右击Target1图标,在出现的快捷菜单中选择“Optionsfor Target Target1,在接着出现的窗口中选择Output选项卡,勾选“Create HEX File”,单击确定。这样在文件编译时就可生成HEX文件了。用相应的软件即可将文件烧写到单片机里。图3.1 KeilVicion2的编程界面3.2 主控程序主控模块的流程图如图3.2所示。复位后首先进行系统初始化:即设置8243的口地址及控制字、设置定时/计数器T0的

18、工作方式及初值,启动定时并开放中断,接下来进入主循环。主循环的基本任务是不断刷新显示当前室内温度信息。当T0定时时间到,轮巡检测一次传感器和检测按键,然后又开始新一轮定时。开始系统初始化显示温度开中断关中断图3.2 主控程序流程图3.3 定时中断处理子程序定时中断处理子程序的流程见图3.3。设置定时/计数器T0每50ms发生一次定时中断,在中断服务程序中,单片机轮巡读取一次红外传感器、霍尔传感器的数据,然后判断是否为入室信号(如霍尔传感器输出脉冲信号,等),若为入室的信号,就调用发送短信子程序,立刻发送短信给主人或物业。否则,如果没有入室信号就读取按键,判断有无按键,若有按键则调用处理按键子程

19、序,若无按键则返回到主控。最后由中断处理子程序重装16位计数初值。系统中使用单片机的晶振频率为12MHz,定时/计数器T0工作于方式1(16位定时/计数器)、定时模式。则定时50ms的计数初值N为:YYN50ms定时中断关中断调用传感器信号采集子程序有入室信号?读键盘调用发短信子程序有按键?调用处理按键程序N返回图3.3 定时中断处理程序流程图3.4 传感器信号采集子程序传感器信号采集子程序的功能是单片机依次读取连接在并行端口上的红外传感器的输入信号和霍尔传感器的输入信号,其程序流程如图3.4所示。入室信号?入室信号?NNYY控制字送入8243读入数据结束读过程子程序返回开始读第一片8243读

20、第二片8243返回调核对子程序 读8243子程序图3.4 传感器信号采集子程序流程读取传感器数据子程序的代码如下,该程序采用汇编语言编写。READ: MOV P1,A ;送控制字到P1口 CLR P1,4 ;使PROG有高变低,送控制字到8243 ORL P,#0FH ;单片机P1口的低4位置成输入状态 MOV A,P1 ;把8243口上的数读入累加器A SETB P1,4 ;使PROG有低变高,结束读过程 ANL A,#0FH ;清高4位,保留低4位数据 RET ;子程序返回3 5 核对子程序核对子程序主要用于核对盗警的真实性,以防发生误报。在核对子程序中先延时3s,然后再次读入相同口的信号

21、,比较后做出判断是否报警,若是入室信号则在3FH单元中设置入室标志FFH,最后调用查找报警点子程序,用于发送/显示入室点。校对子程序流程图如图3.5所示。入口设置入室标志;调用查找报警点子程序YN返回入室否?重读相同口延时3S保存第一次读数图3.5 核对子程序流程图核对子程序代码如下: M2:MOV R0,A ;将第一次读入的数据写入R0中 LCALL DELAD ;延时3C MOV A,R1 ;送相同口的控制字 ACALL READ ;重读 XEL A,R0 ;比较 JNZ M22 ;判断是否有入室信号 MOV 3FH,#FFH ;有入室,置入室标志FFHACALL TLTC ;调用查找入室

22、点子程序M22: RET ;无入室信号返回3.6 查找报警点子程序查找报警点子程序主要完成三项任务。第一项任务是判断当前读的是8243的4个口中的哪一个口;第二个任务是判断这个口所用的芯片;第三个任务是判断这个口有哪几个点不为0,定义为PX.0PX.4(X=47)。查找报警点子程序流程图如图3.6所示。NYNY是PX.2点否?N02H(R4)调显示子程序Y是第二片8243否?NNNYYYY08H (R2)12H(R2)00H(R2)824304H(R2)是P5口否?是P6口否?是P7口否?取有报警口控制字是P4口否?N16H(R3)是第一片8243否?00H(R3)是PX.0点否?NN01H(

23、R4)调显示子程序是PX.1点否?03H(R4)调显示子程序N是PX.3点否?04H(R4)调显示子程序返回图3.6 查找报警点子程序流程图查找报警点子程序代码如下:LTC: MOV A,R1 ;送有警口控制字A ANL A,#0FH ;屏蔽高4位 MOV R7,A JNZ L1 MOV R2,#00H ;是P4口,00H送入R2L1: MOV A,R7 XRL A,#01H JNZ L2 MOV R2,#04H ;是P5口,00H送入R2L2: MOV A,R7 XRL A,#02H JNZ L3 MOV R2,#08H ;是P6口,08H送入R2L3: MOV A,R7 XRL A,#03

24、H JNZ LL3 MOV R2,#12H ;是P7口,08H送入R2LL3: MOV A,R1 ;再送有警口控制字到A ANL A,#0F0H ;查找是哪片8243有盗警 RLC A JC L4 MOV R3,#16H ;是第二片,16H送入R3L4: RLC A JC L5 MOV R3,#00H ;是第一片,00H送入R3L5: MOV A,R0 ;核对过的数据送入A RRC A ;循环右移 MOV R0,A JNC L6 ;查找是哪个点为1有盗警信号 MOV R4,#01H ;调用显示子程序LCALL DIC ;继续查找L6: MOV A,R0 RRC A MOV R0,A JNC L

25、7 MOV R4,#02H ;是PX.1,02H送入R4 LCALL DIC ;调用显示子程序L7: MOV A,R0 ;继续查找 RRC A MOV R0,A JNC L8 MOV R4,#03H ;是PX.2,03H送入R4 LCALL DIC ;调用显示子程序L8: MOV A,R0 ;继续查找 RRC A JNC L9 MOV R4,#04H ;是PX.4,04H送入R4 LALL DIC ;调用显示子程序L9: RET ;子程序返回3.7 显示报警点子程序显示报警子程序主要用于对所查找到的报警点进行显示,其程序流程图NY显示高位数码延时显示低位数码计算报警点地址置循环显示初值延时循环

26、显示完否?返回如图3.7所示。图3.7 核对子程序流程图显示报警点子程序代码如下: DIS: MOV A,R2 ;R2、R3、R4相加即得报警点地址 ADD A,R3 DA A ADD A,R4 DA A MOV R4,A ;把相加结果存放在R4中 MOV 21H,#00H ;置循环显示初值 HDICP: MOV A,R4 ANL A,#0F0H ORL A,#07H MOV P2,A ;送高位显示值 ACALL DELAD2 ;延时 MOV A,R4 ANL A,#0FH CWAP A ORL A,#0BH MOV P2,A ;送低位显示值 ALCALL DELAD2 ;延时 INC 21H

27、 MOV A,#0FFH XRL A,21H JZ B1 ;循环显示完否 CJMP HDICP ;未完待续 B1: RET3.8 GSM短信发送子程序该子程序的功能是单片机通过GSM模块发送报警点地址短信,报警点地址在R4寄存器中,其程序代码如下。该程序采用汇编语言编写,并经过编译、调试、烧写、运行通过。SEND:;串口初始化MOV EA,0 ;关全部中断,均采用查询方式 MOV TMOD, #20H ;定时器T1置为方式2(串行时,T1固定作波特率发生器)MOV TH1, 250 ;置T1的计数初值(对应波特率为9600bpc,可查表) MOV TL1,250SETB TR1 ;启动T1开始

28、计数 MOV PCON,#80H; ;置CMOD位=1,则波特率=21*4800=9600bpcMOV SCON,#50H; ;设置串口方式1(10位异步方式,允许接收即REN=1) ;发送数据(单片机向GCM发数据,GSM只要收到数据即可向既定的手机发收到的数据(短信) MOV R0, R4 ;R4存储报警点地址 CLR TI MOV SBUF, R0NOP ;延时等待 NOP CLR TI RET3.9 温度显示子程序温度显示采用动态扫描方式,为避免出现闪烁或黑屏,主控程序模块必须不断调用数码显示程序,刷新数码管上显示的内容。键盘扫描与数码显示的流程如图3.8所示。开始温度采集输出温度值十

29、位的段码点亮第1位数码管延时1ms输出温度值个位的段码点亮第2位数码管延时1ms图3.8 温度显示程序流程图3.10 键盘扫描子程序键盘扫描程序用于检测两个按键的状态。K1被按下时撤销防护,只显示温度;K2按下时,启动防护。程序流程略。4 结论本次设计切实考虑了家庭防盗的需求,针对家庭防盗的主要方面而设计的一款基于单片机和GSM技术的智能防盗报警系统。设计过程中充分考虑了各种可能出现意外情况,根据具体情况设计了相应的功能。如预设、校时、查询等。操作简单、方便。此系统借助最可靠、最成熟的GSM移动网络,大大减少了误报现象,可靠性强。本设计软、硬件调试已经通过,性能良好,成本低。致 谢通过本次毕业

30、设计,使我增强了理论与实践结合的能力,设计过程中遇到各种问题在指导老师的帮助下得以解决,锻炼了我的意志,更使我增强了信心。在此要感谢学院给提供了良好的实验环境以及我的指导老师。参考文献1庄志红,陈伦琼.单片机原理及应用技术M.北京:电子工业出版社,20092张毅刚等MCC51单片机应用设计M哈尔滨工业大学出版社,19903涂时亮等.单片机软件设计艺术M.重庆:科学文献出版社重庆分社,19874周航慈单片机应用程序设计技术M北京航空航天大学出版社,19905李华.MCC51单片机实用接口技术M北京航空航天大学出版社,19936何立民单片机应用技术选编M北京航空航天大学出版社,1996 附录A:其

31、他程序代码(除正文中的代码以外的其他程序代码)(1)延时子程序代码 DELAD1: MOV R5,#04H ;延时子程序1 DELAD2: MOV R6,#0F0H DELAD3: MOV R7,#0F7H DELAD4: NOP NOP DJNZ R7,DELAD4 DJNZ R6,DELAD3 DJNZ R5,DELAD2 RET DELAD5: MOV R5,#02H ;延时子程序2 DELAD6: MOV R6,#0FFH DJNZ R6,$ DJNZ R5,DELAD6 RET(2)传感器数据采集子程序代码 SENSEREAD:MOV P1,#0FOH ;关闭8243 MOV R3,

32、#0DOH ;读第一片8243的P4口的控制字暂存寄存器 MOV 20H,#02H ;计8243的片数M1: MOV A,R3 ;控制字符送入累加器 MOV R1,A1 ;暂存于R1中 ACALL READ ;调用读数子程序 JZ N1 ;无盗警转向N1 ACALL M2 ;调用核对子程序N1: MOV A,R1 ;指向8243的P5口 1NC A ;第一片 MOV R1,A ACALL READ ;调用读数子程序 JZ N2 ;无盗警转向N2 ACALL M2 ;调用核对子程序N2: MOV A,R1 ;指向8243的P6口 INC A ;第一片 MOV R1,A ACALL READ ;调

33、用读数子程序 JZ N3 ;无盗警转向N3 ACALL M2 ;调用核对子程序N3: MOV A,R1 ;指向8243的P 7口 INC A ;第一片 MOV R1,A ACALL READ ;调用核对子程序 JZ N4 ;无盗报警转向N4 ACALL M2 ;调用核对子程序N4: MOV A,#0B0H ;读第二片8243的P4口 的控制字暂存于R3中 MOV A,20H ;判断两片8243是否都读完 DEC A JNZ M1 ;没读完再读 RET ;读完了返回(3)键盘扫描子程序代码KEYSCAN:ORL P1,#0FHMOV R5,#0F0HMOV A,P1ANL A,#00000110BJZ OUTLCALL DLY12 ;调延时12ms程序,去抖动MOV A,P1ANL A,#00000110BJZ OUTMOV A,P1 ;读键值MOV R5,ALOOP:MOV A,P1ANL A,#00000110BJNZ LOOPOUT:RET ;键值在R5中,可根据R5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号