基于GSM网络安全监控系统的家居报警器毕业设计论文_第1页
基于GSM网络安全监控系统的家居报警器毕业设计论文_第2页
基于GSM网络安全监控系统的家居报警器毕业设计论文_第3页
基于GSM网络安全监控系统的家居报警器毕业设计论文_第4页
基于GSM网络安全监控系统的家居报警器毕业设计论文_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计(论文)基于gsm网络安全监控系统的家居报警器摘 要摘要:设计了一种基于gsm网络安全监控系统的家居报警器。采用 stc单片机为系统控制核心,根据家居存在的隐患,提出了一种新型实用的综合安全报警系统.它通过传感器网络实时检测房间里是否有火焰和可燃气体,通过分析传感器检测的数据判断是否发生火灾或燃气泄漏,然后作出相应的动作(开排气扇等) , 并通过手机短信报警。关键词:家居安全; 报警; gsm网络; stc89s52 abstractabstract: the design of a home furnishing alarm network security monitoring s

2、ystem based on gsm. using stc microcontroller as the system control core, according to the home furnishing the hidden danger, puts forward a new practical comprehensive security alarm system. if there is a fire and combustible gas through the sensor network for real-time detection of the room, throu

3、gh the analysis of sensor data to determine whether the fire or gas leakage, and then make a corresponding action ( open exhaust fan and so on ), and through the mobile phone short message alarm.keywords: home furnishing security; alarm; gsm network; stc89s52目 录摘要iabstracti目 录iii引言- 1 -第一章 总体方案与论证-

4、1 -1.1设计方案- 1 -1.2 系统硬件- 2 -第二章 系统硬件模块设计- 2 -2.1串口通信模块设计- 2 -2.2 gsm模块接口设计- 3-2.2.1gsm模块简介- 3-2.2.2 gsm模块接口设计- 4 -2.2.3 指示灯电路.-6 -2.2.4 sim卡电路- 6 -2.3传感模块设计.- 7 -2.3.1ds18b20- 7 -2.4 烟雾传感器.-9-2.5时钟设计.- 10-2.6 12864显示屏.- 11-2.7 nrf24l01无线模块.- 12 -2.8单片机模块的设计.- 13 -第三章 系统软件设计.- 14 -3.1显示设计.- 16-3.2tc3

5、5模块软件设计- 16 -3.3信息采集控制程序设计.-17-第四章 系统测试及分析.-18-4.1 系统测试.-18-4.2.测试数据及分析.-19- 4.2.1温度测试.-19-4.2.2气体测量.-19-4.3不足与展望.-20-第五章 结束语.-21-总结.- 21 -参考文献. . - 22 -附件- 22 -附件一:系统总电路图- 23-附件二:各模块的源程序-24-0 引言本设计是一个基于gsm模块的远程控制系统,gsm就是global system for mobile communications 全球通, 全球移动通信系统 (亦称“泛欧数字式移动通信系统”, 是一个根据欧洲

6、电信标准协会出版的 gsm 技术规范建造的国际无线蜂窝网) 。gsm模块,是将gsm射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、gsm射频处理、基带处理并提供标准接口的功能模块。厨房是安全隐患最多的地方。在日常生活中,人们经常在厨房中使用液化气、煤气作为燃料,但是这些气体有害且易爆炸,隐患事故多。首先经常会因为操作错误或管道密封不好而出现漏气现象;其次若气体泄漏时不能及时被发现和处理或泄漏气体遇明火发生爆炸。这些事故都会给家庭及邻居带来灾难性危害。控制模块是本设计的核心,通过外围电路和向gsm模块写入相关程序,控制部分要实现能够控制gsm模块短消息的接收和

7、发送、接收频率、功耗大小、工作模式等各项参数的功能。因此必须需要一个微控制器才能达到要求,而单片机开发板不仅满足设计要求,而且是自带a/d转换器、显示器和本设计调试时所需的温度传感器模块,在短时间内和有限的条件下使设计更加轻松和方便。因此本设计采用stc89c52rd+单片机单片机开发板作为系统的控制核心。目前市面上有使用有线电话智能报警的产品。但在我国,家庭电话用户正逐步减少,且电话线路易被破坏,故此类产品有一定局限性。随着电信 gsm 网络覆盖范围的广阔化、无缝化、以及手机的日益普及为基于 gsm 网络的智能家居系统提供了巨大的应用空间。本文所介绍的基于 gsm网络的智能监控系统,采用 g

8、sm 模块进行短信收发,以单片机为控制核心,进行信息反馈和远程控制,实现了远程报警、远程遥控等功能。第一章总体方案与论证1.1系统设计方案首先系统进行初始化,单片机从红外控制器读入用户所设定的温度上限值和发送报警短信的目标号码,并通过 lcd显示器显示出来。初始化工作完成后,单片机循环读取mq-2和温度传感器dsl820数值,当煤气渗漏或温度的上限值超过事先设定的温度时,则控制gsm模块tc35通过gsm网络向用户手机发送报警短信。主机和从机框图如图1.1、图1.2所示。 图1.1 主机框图 图1.2从机框图1.2系统硬件硬件系统主要包括电源模块、串口模块、gsm模块采集控制模块、传感模块(温

9、湿度传感器ds18b20、mq2器)、报警器、nrf24l01、12864显示屏及单片机模块。下面对各个模块进行介绍。第二章系统硬件设计2.1 串口通信模块设计该系统实现的串口电路(rs-232电路)主要是msp430与上位机进行通信,实现单片机系统与上位机进行通信处理。由于单片机与上位机进行通信时接口电平不同,因此需要进行接口转换,这里采用max3238e芯片来完成接口电平的转换。具体的rs-232电路图如图2.1所示。 图2.1 rs-232电路图 由图可以看出,通过一个上拉电阻将shdn管脚拉高,使该芯片一直处于工作状态,如果系统需要处于低功耗状态,也可以通过单片机来控制该管脚。工作时将

10、该管脚设置为低电平,需要处于低功耗时将该管脚设置为高电平这样很容易实现控制。在管脚c1+、c1-、c2+、c2-、v+和v-分别放置0.1uf电容实现充电作用,满足相应的充电电泵的要求,管脚t1out、tin、r1out和rin分别是232转换的输入/输出脚,实现单片机的ttl电平与上位机的接口电平的转换。考虑到减小电源的干扰,还需要在芯片的电源输入管脚加一个104pf的电容来实现滤波,以减小输入端受到的干扰。2.2 gsm模块接口设计2.2.1 gsm模块简介tc35是西门子公司推出的一种完整的无线gsm模块,主要由gsm基带处理器、gsm射频模块、供电模块(asic)、闪存、zif连接器、

11、天线接口六部分组成。它可以快速、安全可靠地实现系统方案中的数据传输、语音传输、短消息服务(short message service)和传真服务。模块的工作电压为3.34.8v。该模块有at指令集接口,支持文本和pdu模式的短消息第三组的二类传真等。此外,该模块还具有电话簿功能、多方通话、漫游检测等功能。常用工作模式有省电模式、idle、talk等模式。通过独特的40管脚zif连接器,实现电源连接、指令、数据、语音信号、及控制信号的双向传输。通过zif连接器及50天线连接器,可分别连接sim卡支架和天线。基带处理器作为tc35的核心,主要处理gsm终端内的语音、数据信号,并涵盖了蜂窝射频设备中

12、所有的模拟和数字功能。在不需要额外硬件电路的前提下,可支持fr、hr和efr语音编码。gsm modem 的主要功能1.收发短信;2.借助短信实现远程小批量数据传输;3.语音通话(gsm 电话);4.数传模式实现无线实时数据通信;5.无线上网(自动应答型)。2.2.2 gsm模块接口设计tc35模块主要通过串口与单片机进行连接,从而单片机实现对tc35模块的控制。虽然tc35的串口提供了许多控制线,但由于考虑到设计接口的简单性,并且与单片机的uart进行连接,所以采用两线(txd、rxd)连接。对tc35模块通信的控制可以通过软件来实现,采用软件实现控制具有使用灵活等特点,也很好地避免了过多硬

13、件信号的检测。对于tc35的其它管脚在不使用的时候,如果该管脚为输出时,一般将该管脚悬空;如果该管脚为输入管脚,则需要将该管脚通过10的电阻上拉。另外由于/igt管脚是控制tc35模块工作的管脚,所以需要将该管脚上拉,并且将该管脚与单片机进行连接,从而可以通过单片机来控制tc35模块的工作状态。在设计时需要考虑tc35模块的电源管脚并连在一起,由于tc35是一个功能完全的模块,因此这里不需要做任何的信号处理和射频处理。另外tc35模块还需要连接sim卡座,这样才能够实现一个完整独立的gsm终端。以下为tc35模块的接口设计。在进行串口设计时,虽然tc35模块串口管脚的工作电平是cmos电平,单

14、片机串口管脚的工作电平是ttl电平,但由于单片机的高电平和低电平的逻辑判断电平可以实现屯tc35的管脚进行连接(具体可以参看msp430f149的数据手册),因此tc35模块的串口线直接与单片机的串口线进行连接。由于tc35模块的串口管脚中的dtr0和rts0两个管脚是输入管脚,因此分别通过10k的电阻将这两个管脚拉高。/igt为tc35模块的工作状态控制管脚,该管脚首先通过一个电阻拉高,平时该管脚为高电平,处于不工作状态;另外该管脚还同时与单片机的一般i/o端口进行连接,这样通过单片机来实现对tc35模块的工作状态的控制,当单片机在该管脚送低电平时,则tc35模块工作。tc35模块的sync

15、管脚用来指示gsm模块的工作状态,连接一个指示灯来指示工作状态,如图2.3图2.4所示。图2.3tc-35_zif管脚接口电路电 源 部 分gsm 射频部分gsm基带处理器天线接口flash40芯zif插座图2.4tc35i 构成框图2.2.3 指示灯电路tc35 有一个同步信号脚sync (32脚 synchronization signal ) ,该脚是一个同步信号输出端,该脚输出的信号,反应了模块的工作情况。本系统在该端通过一个三级管接入 led 灯,接法如图 2.5 所示。 led 灯受到该脚信号控制,可以显示 tc35模块运行的状态。1)、 led 灯熄灭时:表示 tc35 处于关闭

16、、休眠、报警或者充电状态二;2)、 led灯 600ms 亮 600ms 暗:表示 sim 卡没有插入,或者正在搜网络,或者正在认证用户,或者正在注册网络;图2.5 三级管接入 led 灯 3)、 led 灯 75ms 亮 3s 暗: 表示已经注册上网,处于待机状态二; 4)、 led灯 75ms 亮 75ms 暗 75ms 亮 3s 暗:表示一个或多个 gprs 文件被激活二; 5)、 led 灯闪烁:表示 gprs 的数据传输,当 gprs 数据传输时,在交换一个数据包后, led灯将会在一秒内点亮。闪烁的持续时间约为 0 . 5 秒。2.2.4 sim卡电路tc35模块的sim卡座采用的

17、是molex座,该座有8个管脚,而tc35模块的sim管脚只有6个管脚,如下图所示。其中编程端我们不用,其它的接口分别对应于 tc35 的 5 个管脚,sim上的ccrst、ccio、cccl、ccvcc和ccgnd通过sim卡阅读器与tc35的同名端直接相连。其接口示意图如图2.6所示: 图2.6 sim卡接口示意图图2.6 所示的图为sim座接口电路图,由图可以看出sim座直接与tc35模块的zif连接器对应的sim卡管脚进行连接,在需要的地方加了电容进行滤波处理。当sim座的管脚7与tc35模块的simdata进行连接时,则用来模拟sim卡插入的情况;当sim座的管脚7不与tc35模块的

18、simdata进行连接时,则用来模拟sim卡没有插入的情况。图2.7为sim座接口电路。 图2.7 sim座接口电路图2.3 传感模块 2.3.1 ds18b20ds18b20是可编程单总线温度传感器。dallas最新单线数字温度传感器ds18b20简介新的“一线器件”体积更小、适用电压更宽、更经济 dallas 半导体公司的数字化温度传感器ds1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。测量温度范围为 -55c+125c,在-10+85c范围内,精度为0.5c。现场温度直接以“一线总线”的数

19、字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3v5.5v的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。ds18b20的管脚排列如图2.8 所示: 图2.8ds18b20的管脚排列a) 功能特点 单总线技术,与单片机通讯只要一根io线; 比较系列号可以在一根线上挂接多个ds18b20; 电压供电范围从3v5v,也可以直接从数据线上窃取电源; 测温范围-5501250摄氏度,在-100850摄氏度范围内误差为0.5度; 数据位可编程912位,转换12位温度时间为750ms

20、(最大); 用户可自设定预警上下限温度; 报警搜索命令可识别和寻址那个器件的温度至超出预定值。 2.4 烟雾传感器mq-2是一种体电阻控制型的气敏器件,其阻值随被测气体的浓度(成分)而变化。气敏器件又是一种“气电”传感器件,它将被测气体的浓度(成分)信号转变成相应的电信号。mq-2引脚结构与常用连接电路图如图2.9图2.9 mq-2引脚结构与常用连接电路图选择mq-2做为本设计的原因是,mq-2价格便宜,而且市场采购比较方便,便于使用,使用简单,只需将以上电路图连接好就能对油烟浓度进行检测,输出一个05v的模拟信号。从而达到将“气”转换为“电”的目的。mq-2检测模块电路2.10图2.10 m

21、q-2检测模块电路图2.5 时钟设计ds1302 是美国dallas公司推出的一种高性能、低功耗、带ram的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5v5.5v。采用三线接口与cpu进行同步通信。其引脚如图2.11所示图2.11引脚图本设计中其应用电路如图2.12所示图2.12 2.6 12864液晶显示屏12864m-1 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128x64 全点阵液晶显示器组成,可完成图形显示,也可以显示8x4 个(16x16 点阵汉字,与外部cpu 接口可采用串行或并行方式控制。主要技术参数和性能: 1.电

22、源:vdd:+5v 2.显示内容:128 (列)x64 (行)点。 3.全屏幕点阵。 4 rom 总共提供8192 个汉字(16x16 点阵)。 5 rom (cgrom) 总共提供128 个字符(16x8 点阵) 6.工作温度:-20+70,存储温度:-30+80 本设计中其应用电路如图2.13图2.132.7 nrf24l01无线模块nrf24l01模块的具体说明:1) vcc脚接电压范围为1.9v3.6v之间,不能在这个区间之外,超过3.6v将会烧毁模块。推荐电压3.3v左右。(2) 除电源vcc和接地端,其余脚都可以直接和普通的5v单片机io口直接相连,无需电平转换。当然对3v左右的单

23、片机更加适用了。(3) 硬件上面没有spi的单片机也可以控制本模块,用普通单片机io口模拟spi不需要单片机真正的串口介入,只需要普通的单片机io口。电路原理图如图2.14所示。图2.14nrf24l01原理2.8 单片机模块的设计系统的控制器选用 stc89c52rd+单片机,8位stc89c52rd+单片机是stc公司生产的一款51单片机,具有运行稳定、价格便宜等特点。其支持的最高时钟为40mhz,内部包括8 kb的flash程序存储器rom 、256b的数据存储器ram,具有 isp 在线编程功能,大大减少了开发复杂度,同时可节省购买编程器的额外投入。图2.15为单片机控制模块电路图。图

24、2.15 单片机控制模块 第三章系统软件设计系统的软件主要包括串口程序、存储程序、短消息程序、采集控制程序和测试程序等。本系统软件采用了前后台的设计方式,前台系统是主程序,后台是由所有的中断服务程序,如串口接收中断服务程序,定时器中断服务程序等功能模块组成。装置的远程报警和开启功能通过软件控制实现,在使用装置前需准备好一张已开通的gsm网sim卡,并在手机终端上向sim卡第一个电话本位置存入报警的目的手机号码,此号码也是用户进行远程开启时的唯一工作时首先必须对单片机、系统变量等进行初始化,然后通过拉低igt启动tc35,并通过发送at命令进行模块的初始化设置,初始化流程如图3.1所示。单片机的

25、初始化包括设置波特率、设置外部中断(电平触发方式)和串口中断等,tc35的初始化包括设置短信到达时提醒方式、接收短信的存储位置、电话薄的寻址位置等,初始化过程中用到的at命令。图3.1 tc35初始化主程序工作流程图 按上述工作原理和硬件结构分析可知系统主程序工作流程图3.2如 图3.2主程序流程图3.1显示程序设计本设计除了实现煤气泄漏报警的功能外,实时日历时钟显示的功能,如图3.3所示为lcd12864显示流程图 图3.3 lcd12864显示流程图3.2 gsm模块软件设计在本系统中,gsm模块软件设计是通过串口发送at指令给gsm模块来实现发送短信的功能,其流程图如图所示。首先串口发送

26、字符串“at+cmgf=1r”给gsm模块,设置短信为txt模式;然后发送“at+cmgs”,设置收信方的手机号码;接着将待发送短信的内容发给gsm模块;最后发送十六进制的0x1a(回车)确认发送,这样就能通过gsm模块最终实现报警通知用户的功能。系统框图如3.4程序见附录。开始初始化串口发送at+cmgf=1发送at+cmgs送短信内容发送0x1a结束图3.4 gsm系统框图3.3信息采集控制程序设计模拟量采集模块主要是单片机通过a/d通道采集来自传感器的信号,并将信号进行处理。a/d转换有几种模式,比如序列通道单次转换、序列通道多次转换。

27、考虑到有8路采集,因此选用序列通道单次转换,当然也可以采用序列通道多次转换,关于转换模式的选择主要设置相应的a/d转换的寄存器来实现。数据采集的时间间隔则通过定时器a来完成,就是在每次定时器a中断到来时读取a/d采集得到的数据,在读数据之前先停止a/d 转换,当读取数据完毕后启动a/d转换,如果得到数据,则设置一个标志位通知主程序,告诉主程序已经得到新的数据。整个模块采用中断服务程序的结构。如图3.5所示为该模块的程序流程图。该模块主要涉及a/d转换和定时器a的操作。图3.5a/d转换和定时器a的操作程序流程图第四章系统测试及分析4.1 系统测试整个系统设计完成后,要进行运行调试,排除软件和硬

28、件的故障,同时验证系统的可靠性及稳定性,使系统符合设计要求。本系统的调试主要分两个步骤:单片机系统调试及整个控制系统运行调试。结合系统软件测试,利用硬件平台进行功能性检测,即验证系统软硬件综合测试正常。主要包括了温度传感器电路、mq-6气体传感器电路、键盘输入、液晶显示等,并实现各部分功能的综合测试。该综合测试主要在系统调试正常的情况下,验证煤气气体综合测试情况。首先对调整mq-6的灵敏度,在液晶上显示,通过一些特殊手段,改变环境的液化气气体含量,看液晶上气体灵敏度是否会改变。通过测量当液化气浓度达到1000ppm时,系统gsm发出“煤气泄漏”英文短信报警到用户手机;当室内温度高于设定的的温度

29、时,系统gsm发出“火灾报警”英文短信到用户手机.4.2 测试数据及分析4.2.1 温度测试本系统通过用ds18b20测试温度高低,实现火灾报警功能。开始设定一个初值如70,当温度传感器测得值超过这个初值时则系统进行语音报警和远程短信报警。调试的过程中,为了更方便调试及测量,设计中使用了电吹风加热,同时通过与四位半高精确温度测量仪器相比较,多次测量,判断出误差。并记录表4-2-1:表4-2-1:温度传感器测得的温值与高灵敏度温度测量仪测出室温值记录表 次数温度/12345678传感器温度值/7071717071707071高灵敏度温度测量仪/70.371.571.870.671.870.570

30、.471.2分析:当电吹风加热到70左右的时候,系统发出远程短信报警,但有时可能因为系统响应较慢,所以当温度检测到71时才开始发出报警。由实验数据所得本系统所使用的ds18b20测得的数值在精度上和准确度上都比高精度的温度测量仪低,但是相差不是很大,因而使用ds18b20作为火灾温度检测是具有一定的可行性的,同时其较低的价格,也可以降低设计成本。4.2.2 气体测量因为家用煤气中主要成分为甲烷,所以本实验在烟雾标定时,选用甲 烷烟雾。如若设烟雾浓度分成7段。 直线方程 f(x) = f(xi) + (x-xi )f(xi )-f(xi )/(xixi) i =1,2,3l,7(5-1)其中,

31、f (x)为实际烟雾检测lel浓度,x为实际烟雾检测浓度对应 的电压值,xi是区间的下限浓度对应电压值,xi是区间的上限浓度对应 电压值,f (xi)为区间下限点烟雾lel浓度值,f (xi )为区间上限点烟雾lel浓度值,根据公式5-1计算出7个直线方程式,如下: (1) 0%10%lel f (x) = ?0.50x + 3.70 (2) 10%20%lel f (x) = 0.50x + 3.61 (3) 20%40%lel f (x) = 1.50x + 3.90 (4) 40%50%lel f (x) = 3.2x + 4.58(5) 50%60%lel f (x) = 3.7x +

32、 4.83 (6) 60%80%lel f (x) = 4.05x + 5.04 (7) 80%100%lel f (x) = 9.00x + 9.00 经实验的标定,实际烟雾浓度与显示浓度误差对比如表4.2.2所示:浓度(%lel)浓度误差浓度(%lel)浓度误差005055355310-160015465220370325-175530580-23538544029034559554.3 不足与展望。本设计经过硬件与软件的调试运行,基本完成了对智能住宅火情、煤气泄漏等进行自动监测,并实现了自动报警功能。运行结果表明该装置在技术上有一定的可靠性,但也存在着一些问题。例如有人放置信号干扰器,则

33、gsm报警可能不能发出短信报警;防火探测器检测过于单一,可能会有漏报的情况,另外尚有许多理论问题和工程应用问题需要进一步的探索和研究。随着气体传感器检测技术不断的发展,在气体浓度检测方面可以做到精度更高,检测速度更快,这样才更好的发现险情,做出正确和及时的处理。另外还可以根据不同需要增加传感功能检测其它安全隐患。第五章结束语本设计方案借助于gsm网络通信技术和单片机的控制功能,实现了安防监控和远程控制。gsm模块与控制电路集成在同一线路板上,这样既节约了成本,又提高了整个系统通信的稳定性,不仅可用于居民住宅,还可以用于仓库、厂房与花卉大棚等地方的安防监控与电路远程控制等,并具有实现简单、成本低

34、、适用范围广、安全可靠等优点,具有广泛的应用前景。参考文献(1)通信原理(第六版) 樊昌信 曹丽娜 编著 国防工业出版社 2009.5(2)综合电子系统设计与实践 藏春华 邵杰 魏小龙 编著 北京航空航天大学出版社 2009.113裘岚,张晓芸等译,c语言程序设计实用教程,电子工业出版社,北京,2001.7.(4)樊天晴,internet信息终端技术的研究,西北工业大学,硕士学位论文,2002.(5)魏小龙,璐p430系列单片机接口技术及系统设计实例,北京航空航天大学出版社,北京,2002.11.(6)杨利平基于网络技术的远程智能家居系统j仪器仪表学报,2009 ,25 (4):309-311

35、.(7) 刘松,赵忠,孙学磊.基于gsm 的远程家庭智能监控系统设计j.电子测量技术,2009,32(1):89-91.(8) 张俊. sms 短消息传输的远端控制技术及其实现j .仪器仪表学报,2003 ,24 (4) :610-611.(9)郑可鑫 sim卡的应用及其读卡器设计j 今日科苑 2007年8期附件附件一:系统总电路图附件二:各模块的源程序1串口初始化程序串口初始化程序主要包括初始化和中断服务程序两个部分。下面为体和程序。#include#include#define maxchar 25data unsigned char receivemaxchar;unsigned cha

36、rbyte=0; void init_uart(void)pcon = 0x00;/设置波特率 不加倍scon = 0x50; / scon: 模式 1, 8-bit uart, 使能接收 tmod |= 0x20; / tmod: timer 1, mode 2, 8-bit 重装th1 = 0xfd; / th1: 重装值 9600 波特率 晶振 11.0592mhz tr1 = 1; / tr1: timer 1 打开 ea = 1; /打开总中断es = 1; /打开串口中断void send_byte(unsigned char dat)sbuf = dat;while(!ti);

37、ti = 0;void send_str(unsigned char *str)while(*str!=0) send_byte(*str);str+;void clear_buf(void)unsigned char i;for(i=0;imaxchar;i+)receivei=0;byte=0;bit contrast(unsigned char *str) if(strstr(receive,str)!=null) return 1;elsereturn 0;void uart_ser() interrupt 4if(ri=1) receivebyte+=sbuf;/命令存到命令数组ri

38、=0; /软件清除接收中断通过上面的程序可以看出,只要设置相应的寄存器就可以设置串口工作的参数。在上面的程序中,串口0的通信率为9600波特/秒。2.发送程序#include#include#define adc_flag 0x10 /adc中断标志位void delay_adc()unsigned int i;for(i=10000;i0;i-);void init_adc()p1asf=0x80; /p1.7口设置为ad输入adc_contr=0x80;/开adc电源,180个时钟转换一次adc_res = 0;/清空adc结果寄存器eadc=1;/开adc中断ea=1;/开总中断dela

39、y_adc();unsigned int get_adc_result(unsigned char ch)adc_contr =0x88|ch; _nop_(); /延时四个空周期,详见page323 _nop_(); _nop_(); _nop_(); while (!(adc_contr & adc_flag);/判断adc中断标志位(等待adc转换完成) adc_contr &= adc_flag; /关闭adc return adc_res;2各模块接受程序tc35程序#include #includeuart.h#include12864.hsbit fm=p15;unsigned

40、char code at=atrn;/测试unsigned char code cmgf=at+cmgf=1rn;/1用text格式,0用pdu格式unsigned char code cmgs=at+cmgsn;unsigned char code alarm_str=warning: gas leakage!;/*/xms延时函数/*/void delayms(unsigned int ms)unsigned int i,j;for(i=0;i114;i+)for(j=0;j);prints(4,3,发送信息.);clear_buf();delayms(100);

41、fm=1;send_str(alarm_str);send_byte(0x1a);delayms(500);es = 0;无线模块程序#include#include #includenrf24l01.h/*io端口定义*sbit ce = p10; sbit csn = p11;sbit sck = p12;sbit mosi = p13;sbit miso = p14; /*uint bdata sta; /状态标志sbit rx_dr =sta6;sbit tx_ds =sta5;sbit max_rt =sta4;/*nrf24l01*#define tx_adr_width 5 #d

42、efine rx_adr_width 5 #define tx_pload_width 20 #define rx_pload_width 20 uint const tx_addresstx_adr_width= 0x34,0x43,0x10,0x10,0x01; /本地地址uint const rx_addressrx_adr_width= 0x34,0x43,0x10,0x10,0x01; /接收地址/*/延时函数/*/void delaynus(unsigned int n)unsigned int i;for(i=n;i0;i-)_nop_();/*/nrf24l01初始化/*/void init_nrf24l01(void)delaynus(100);ce=0; cs

温馨提示

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

评论

0/150

提交评论