通信工程毕业设计(论文)-基于GSM远程环境监控系统的设计.doc_第1页
通信工程毕业设计(论文)-基于GSM远程环境监控系统的设计.doc_第2页
通信工程毕业设计(论文)-基于GSM远程环境监控系统的设计.doc_第3页
通信工程毕业设计(论文)-基于GSM远程环境监控系统的设计.doc_第4页
通信工程毕业设计(论文)-基于GSM远程环境监控系统的设计.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

毕 业 论 文题 目: 基于GSM远程环境监控系统的设计 (英文): Design of a Remote Environmental Monitoring System Based on GSM院 别: 电子与信息学院 专 业: 通信工程 姓 名: 学 号: 指导教师: 日 期: 2012年5月 基于GSM 远程环境监控系统的设计摘 要该系统以单片机AT89S52为核心的控制模块、GSM无线通信模块、传感器数据采集模块、显示模块和报警系统五大模块组成。受控终端利用AT89S52 控制温度传感器DS18B20 采集温度,对其和设备运行状态一起进行PDU编码后通过TC35i通信模块发送短消息给监控终端。监控终端接收到短消息后并对其解码,从而获取现场温度和设备运行状态,再根据需要发送控制指令给受控终端调节温度,以达到控温的目的。将GSM网络技术运用于实现远程环境监控具有实际应用价值和十分重大意义。关键词: AT89S52单片机;GSM模块;传感器;报警系统;远程监控Design of a Remote Environmental Monitoring System Based on GSMABSTRACTMCU AT89S52 as the core control module of the system, GSM wireless communication module,the sensor data acquisition module, display module and alarm system of five modules. Controlled end-use AT89S52 control temperature sensor DS18B20 acquisition temperature, its equipment running status with PDU encoding through the TC35i communication module to send a short message to the monitoring terminal. Monitoring terminal receives a short message and decode it in order to gain the site temperature and the equipment running status, according to the need to send control commands to adjust the temperature to achieve the purpose of temperature control to the controlled terminal. GSM network technology used in remote environmental monitoring with the practical application value and very great significance.Key Words:AT89S52 is microcontroller; GSM module; sensor; alarm system; Remote monitoring.目 录第一章 引言1第二章 设计方案可行性分析22.1方案1基于8031单片机的防盗报警监控系统设计22.2方案2基于公众网的监控系统设计3第三章 系统硬件电路的设计43.1核心控制单元AT89S52模块闪电存储型器件AT89S5253.1.1 AT89S52单片机概述53.1.2 AT89S52引脚功能与封装63.2 GSM无线通信模块TC35i73.2.1 AT指令说明83.2.2 PDU编码规则83.2.3单片机与TC35i的软件接口及控制原理93.2.4 RS-232串行接口93.3传感器数据信息采集模块133.3.1温度传感器133.3.2光电传感器163.4液晶显示模块183.4.1 方案1采用LED液晶显示屏183.4.2 方案2采用点阵式数码管显示183.4.3 方案3采用1602液晶显示器183.5报警模块193.5.1蜂鸣器的介绍203.5.2蜂鸣器方案选择20第四章 系统程序的设计224.1监控现场主程序流程图224.2中断子程序流程图234.2.1温度传感器子程序234.2.2液晶显示子程序24第五章 系统调试285.1硬件测试285.1.1 静态调试285.1.2 联机调试285.2软件测试295.3系统调试29第六章 测试结果30第七章 结 论31参考文献32致 谢33附录一:电路原理图34附录二:控制源程序35基于GSM远程环境监控系统的设计第一章 引言21世纪的中国,随着国民生活水平的不断提高和环境安全防范意识的逐步增强,人们开始越来越关心自己的居住环境,不仅要求家居环境的人性化和舒适化,而且对智能化和安全化也提供了更高的要求。相应的研究开发领域也应运而生,新技术、新产品层出不穷。 本设计将引入先进GSM无线通讯网络、家电控制系统和环境监控系统。基于GSM短消息的远程家电控制系统,克服了电话远程家电控制系统电话费用高,控制时间长等的缺点,具.(查看更多)有良好可扩展性和使用价值。智能家电控制系统可以在用户外出期间,对整个住宅的家用家电进行远程控制,提高了用户的时间利用率。 安全监控可以对居住环境及货物仓库环境进行实时的监控。监控范围包括甲醛含量过高、煤气泄漏、空气质量、水管爆裂等一系列环境有害因素,保障用户生命和财产的安全。一旦有上述安全事故发生,智能监控器就会立即通过GSM网络将情况传递给户主或求救中心,户主在得到消息后,可以立即采取有效的应急措施,如:打电话给当地物业、110求救中心或者119消防中心,对事故进行紧急处理。 为了满足信息存储和模拟量采集,本系统采用了Atmel公司的AT89S52作为MCU,集中管理继家电、温湿度传感器、气敏传感器和空气质量感器,并通过西门子公司的GSM模块(TC35i)和用户进行远程信息交换。继家电作为家电控制的终端,控制家电的开启和关闭。温湿度传感器、气敏传感器和空气质量传感器构成了环境检测系统,保障用户生命和财产的安全。 21 世纪,这个科技高速发展的时代,设计这样一个远程智能家电控制和安防系统是非常具有应用价值和市场前景的。它经济实惠,不仅可以适用于普通家庭,实现家用家电远程控制,提高时间利用率,实时对住宅环境进行安全监控;同时可以用于工厂控制工业设备并监测生产安全;运行上位机后,还可以用于大型仓库监控物品安全和存放环境是否符合条件。而且,这样的系统同时适用于各种危险环境对家电的控制,体现了人性化的要求;除此之外,本系统还可以用于家居对环境多点数据的采集,运行上位机后,可以建立相应的数据库,实现大规模数据管理分析。 因此,该方案具有可行性,并且具有很强的扩展性,稍加修改就可以实现不同的功能,为企业带来经济利益和实用价值。第二章 设计方案的可行性分析2.1方案1基于8031单片机的防盗报警监控系统设计系统可由单片机最小系统、报警信号输入和检测、驱动电路和声报警、移位寄存器和数码管等组成。 P18031最小系统RXDTXDP3.5P3.5报警信号输入 移位寄存器驱动电路声报警器图2-1 系统原理框图 8031最小系统由8031、74LS373、EPROM2764组成。报警信号的输入使用P1口的P1.0-P1.7接8位开关,分别表示8个不同的报警位置。输出驱动和声报警电路由P3口的P3.5经同相放大器75451和蜂鸣器组成。数码管显示电路使用8031的串行口经一个串入并出的移位寄存器扩展为并行输出口,控制一个七段数码管。其功能是输入P1口的开关状态,检测是否有开关合上,若没有则继续检测;若有则检测是哪个开关合上了,然后去控制报警、显示,使数码管显示相应的号码,同时报警。用8031单片机控制一个检测报警系统,与以往用数字逻辑电路组成的控制系统相比,用单片机组成的检测报警系统,应具有更大的灵活性,功能也更强,但是现如今的防盗监控系统需要与时俱进,这种传统的家庭报警系统,采集信号的传感器需要布线,由于集成在一个板子上,不仅有干扰,还限制了报警信号采集覆盖面,同时远程监控系统功能差,当家中没人时报警无法及时通知事主。2.2方案2基于公众网的监控系统设计GSM(Global System for Mobile communication)系统是目前基于时分多址技术的移动通讯体制中比较成熟、完善、应用最广泛的一种系统。目前已建成覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式1。主要提供话音、短信息、数据等多种业务。基于GSM短信息功能可以做成各种检测、监控数据信号和控制命令的数据通信系统,能广泛用于远程监控、定位导航、个人通信终端等。由于公众GSM网络在全球范围内实现了联网和漫游,建立上述系统不须再建专用通信网络,所以具有时事传输数据功能的短信息应用将得到迅速普及。随着全球移动通信系统(GSM)及移动通信网络的迅速普及,GSM的短信息系统以其快捷方便而且廉价的特点拥有广泛的用户。本设计是基于GSM 网络的远程家庭智能监控系统,本设计以AT89S52单片机为核心,总共分为核心控制单元AT89S52、GSM无线通信、传感器数据信息采集、液晶显示、报警系统五大部分。通过手机终端接收报警短信,并且可以发送命令短信异地遥控系统实现各种操作。系统利用各种传感器对可能出现的煤气泄露、火灾、家中门窗被打开并有人闯入等意外情况进行采集,先传输到单片机上,再通过液晶显示屏显示具体报警信息,同时报警系统发出警报声,并通过GSM网络用短消息发送特定报警信息于预先设定好的手机号码,通知事主做出相应措施。通过GSM 网络,即使远在千里之外也能对家中发生的各种突发意外情况了如指掌。由于该方案具有功耗低、精确度高、软件编程较简单,智能化强,可远程监控等。因此在本次设计中采用方案2。在设计中,采用了AT89S52单片机作为8031的升级替代产品,AT89S52解决了AT89C51的致命缺陷:支持ISP(在线更新程序)功能,但其芯片在整个电路中的工作控制原理不变9。同时加入了GSM模块,可轻松实现远程监控功能。该系统的原理图如图2-1所示:图2-1 基于GSM远程环境监控系统设计原理图第三章 系统硬件电路的设计根据系统设计功能的要求,初步确定系统由5大模块组成:1)核心模块-控制单元AT89S52单片机;2)无线通信模块-TC35i及GSM网络;3)数据信息采集模块-各类传感器;4)显示模块-液晶显示屏; 5)报警模块-蜂鸣器。根据系统功能要求,系统原理框图如图3-1所示。 图3-1 系统原理框图3.1核心控制单元AT89S52模块闪电存储型器件AT89S52作为设计的核心部分之一,由AT89S52担任的主控制器构成了系统的主控模块,它不仅用于设计的硬件实现,对于设计程序的软件输入和实现也起到控制作用,将控制整个报警系统能否正常工作。3.1.1 AT89S52单片机概述 AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存。该器件采用Atmel公司的高密度非易失性存储技术生产,其指令与工业标准的80C51指令集兼容。片内程序存储器允许重复在线编程,允许程序存储器在系统内通过SPI串行口改写或用同用的非易失性存储器改写。通过把通用的8位CPU与可在线下载的Flash集成在一个芯片上,AT89S52便成为一个高效的微型计算机。它的应用范围广,可用于解决复杂的控制问题,且成本较低。3.1.2 AT89S52引脚功能与封装表3-1-3-2 P3端口引脚与复用功能表端口引脚复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)RST 复位输入端。在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。看门狗定时器(Watchdog)溢出后,该引脚会保持98个振荡周期的高电平。在SFR AUXR(地址8EH)寄存器中的DISRTO位可以用于屏蔽这种功能。DISRTO位的默认状态,是复位高电平输出功能使能。ALE/ 地址锁存允许信号。在存取外部存储器时,这个输出信号用于锁存低字节地址。在对Flash存储器编程时,这条引脚用于输入编程脉冲PROG。一般情况下,ALE是振荡器频率的6分频信号,可用于外部定时或时钟。但是,在对外部数据存储器每次存取中,会跳过一个ALE脉冲。在需要时,可以把地址8EH中的SFR寄存器的0位置为“1”,从而屏蔽ALE的工作;而只有在MOVX或MOVC指令执行时ALE才被激活。在单片机处于外部执行方式时,对ALE屏蔽位置“1”并不起作用。程序存储器允许信号。它用于读外部程序存储器。当AT89S52在执行来自外部存储器的指令时,每一个机器周期PSEN被激活2次。在对外部数据存储器的每次存取中,PSEN的2次激活会被跳过。/Vpp 外部存取允许信号。为了确保单片机从地址为0000HFFFFH的外部程序存储器中读取代码,故要把EA接到GND端,即地端。但是,如果锁定位1被编程,则EA在复位时被锁存。当执行内部程序时,EA应接到Vcc。在对Flash存储器编程时,这条引脚接收12V编程电压Vpp。XTAL1 振荡器的反相放大器输入,内部时钟工作电路的输入。XTAL2 振荡器的反相放大器输出。3.2 GSM无线通信模块TC35i目前,国内已经开始使用的GSM模块有很多,而且这些模块的功能、用法差别不大。本设计采用的是西门子TC35系列的TC35i 。这种无线模块功能上与TC35兼容,设计紧凑,大大缩小了用户产品的体积。TC35i与GSM2/2兼容、双频(GSM900/GSM1800)、RS232数据接口,该模块及射频电路和基带与一体,向用户提供标准的AT命令接口,为数据、语音、短消息和传真提供快速、可靠、安全的传输,方便用户的应用开发及设计5。设计选用GSM模块TC35i,给出其和PC机的通信电路,实现远地数据的传输。其工作模式如图3-2-1、图3-2-2所示。图3-2-1 系统网络框图图3-2-2 GSM网络图GSM模块中电源电路分为充电电池和稳压电源模块两部分:充电电池主要为整个系统提供3.6V工作电压,同时产生MAX3238所需要的高电平;三端电源模块LM7806将外部12V直流电源转换为6V,连到ZIF连接器的11、12引脚,在充电模式下,为TC35i提供6V、500mA的充电电源。3启动电路由开漏极三极管和上电复位电路组成。模块上电10ms后(电池电压须大于3V),为使之正常工作,必须在15脚()加时长至少为100ms的低电平信号,且该信号下降沿时间小于1ms。启动后,15脚的信号应保持高电平。 3.2.1 AT指令说明常用AT指令如下:AT指令 功 能 AT+CMGC Send an SMS commend(发出一条短信息命令) AT+CMGD Delete SMS message (删除SIM卡内存的信息) AT+CMGF Select SMS message format(选择短消息信息格式:0-PDU;1-文本) AT+CMGL List SMS message from preferred store(列出SIM卡中的短消息格式PDU/TEXT:0“REC UNREAD”为未读,1“REC READ”为已读,2“STOU NSENT”为待发,3“STOSENT”为已发,4“ALL”为全部 AT+CMGR Read SMS message (读短消息) AT+CMGS Send SMS message (发短消息) AT+CMGW Write SMS message to memory (向SIM内存中写入待发的短消息) AT+CNMI New SMS message storage(显示新收到的短消息) AT+CPMS Preferred SMS message storage (选择短消息内存) AT+CSCA SMS service center address(短消息中心地址) AT+CSCB Select cell broadcast message messages (选择蜂窝广播信息) AT+CSMP Set SMS text mode parameters(设置短消息文本模式参数) 3.2.2 PDU编码规则目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息, UCS2编码用于发送Unicode字符。一般的PDU编码由ABCDEFGHIJKLM十三项组成。 A:短信息中心地址长度,2位十六进制数(1字节) B:短信息中心号码类型,2位十六进制数。 C:短信息中心号码,B+C的长度将由A中的数据决定。 D:文件头字节,2位十六进制数。 E:信息类型,2位十六进制数。 F:被叫号码长度,2位十六进制数。 G:被叫号码类型,2位十六进制数,取值同B。 H:被叫号码,长度由F中的数据决定。 I:协议标识,2位十六进制数。 J:数据编码方案,2位十六进制数。 K:有效期,2位十六进制数。 L:用户数据长度,2位十六进制数。 M:用户数据,其长度由L中的数据决定。J中设定采用UCS2编码,这里是中英文的Unicode字符。 3.2.3单片机与TC35i的软件接口及控制原理单片机与TC35i的软件接口其实就是单片机通过AT指令控制手机的控制技术,首先设置TC35i模块的工作模式:AT+CMGF=n,n=0为PDU模式;n=1为文本模式;通常设置为PDU模式,在这种模式下,能传送或接受透明数据(用户自定义数据)。AT+CMGR=n为读TC35i模块短消息数据,n为短消息号。AT+CMGL=n为列出TC35i模块内的短消息,n=0是未读的短消息,n=1位已读的短消息,n=2位未发送的短消息,n=3为已发送的短消息n=4为所有短消息。AT+CMGD=n为删除TC35i模块的短消息,n为短消息编号。123.2.4 RS-232串行接口RS-232电平转换电路如下所示:图3-2-4 RS-232电平转换电路RS-232是在任何时候都常用的接口之一。它不仅已经被内置于每台PC,而且已被内置于从微控制器到主机的多种类型的电脑和与它们连接的设备。RS-232的最通常得用处是连接到一个Modem,其他拥有RS-232接口的设备包括打印机,数据采集模块,测试装置和控制回路。你也可以将RS-232用在任何类型得计算机之间的简单连接中。RS-232是设计来处理两台设备之间的通信的,距离限制为50到100f,这决定于波特率和电缆类型。因为RS-232端口被广泛应用,它的另一个用途是与一个将这个接口转换成另一种类型的适配器相连12。例如,一个简单的回路将一个RS-232端口转换成一个RS-485端口,这个端口可以和多台设备相连并且可以使用更长的导线连线。RS-232连接使用非平衡导线。尽管一个非平衡的状态听起来像是一些应该避免的东西,在这里它仅仅是指导线中的信号的电气特性。在一条非平衡导线中,信号电压加到一条导线上,所有的信号电压都使用一个公共的接地线。这种类型的接口的另一个术语是单端。在一个连接中不能有超过2台以上的设备。指定的最大数据传输速率是每秒20000位。但是,很多接口芯片可以超过这个数值,尤其是在短程连接上。很长的连接需要一个不同的接口。双向RS-232通信的3个基本信号如下:TD:将数据从DCE传输到DCE也被称作TX和TXD。RD:将数据从DCE传输到DTE。也被称作RX和RXD。SG:信号地。也被称作GND和SGND。电压RS-232的逻辑电平用正负电压表示,而不是只用5V TTL和CMOS逻辑的正电压信号表示。在一个RS-232的数据输出(TD),一个逻辑0被定义为等于或者高于+5V,而一个逻辑1被定义为等于-5V或者比低于-5V。换言之,信号使用负逻辑,在这种逻辑中,负的电压为逻辑1。 控制信号使用相同的电压,但是使用的是正逻辑。一个正的电压表示这项功能为开,而一个负的电压表示这个功能为关。 RS-232接口芯片反向转换这些信号。在一个UART的输出引脚,一个逻辑1 数据位或者一个关控制信号接近于5V,它在RS-232的接口产生一个负电压。一个逻辑0数据位或者一个开控制信号接近于0V,它在RS-232接口产生一个正电压。 因为一个RS-232接收器可能位于一条长电线缆的末端,等到信号到达接收者的时候,它的电压可能已经削弱了或者加载了噪声信号。考虑到这种情况,在接受方最低要求的电压要比在驱动器处要低。一个比+3V高得多的输入在RD处是一个逻辑0,或者在一个控制输入处是一个开。一个比-3V要低得多的输入在RD处为一个逻辑1,或者在一个控制输入处为一个关。根据这个标准,在-3V和+3V之间的一个输入的逻辑电平没有定义。噪声容限,或者电压容限,是输出电压和输入电压的区别所在。RS-232的大电压波动导致一个比5V TTL逻辑宽得多的噪声容限。例如,即便一个RS-232驱动器的输出为最小的+5V,它也会在接受方削弱或者噪声峰值大到2V,并且仍旧是一个有效逻辑0。很多RS-232输出有更宽的电压波动:9V和 12V是很平常的事情。这些都导致更宽的噪声容限。最大允许的电压波动是 15V,尽管接受方必须不受任何损害地处理高达 25V的电压。使用的另外两个与RS-232有关的术语是Mark和Space。Space是逻辑0,而Mark是逻辑1。这两个术语是多年以前机械记录仪二进制数据的,他们分别代表物理标记和空白。TIA/EIA-232包括最小和最大计时规定。所有的RS-232接口芯片都符合这个规定。指定的旋转速度限制了接口的最大比特率。旋转率是当输出切换时电压变化的快慢的量度,并且描述了一个输出的电压变化的瞬间速度。一个RS-232驱动器的旋转速度必须是每毫秒30V或者更少。限制旋转速度的好处是它通过事实上消除由于电压偏转引发的问题来改进信号质量,电压偏移发生在传输有着快速上升和下降节拍的信号的长距离连线上。但是旋转速度也限制了一个连接的最大速度。在30V/us的速度下,一个输出需要0.3us从+5V切换到-5V。RS-232的规定的最大波特率为20kbps,这个速度转换成一个比特宽度为50us,或者在允许的最快旋转速度下为166倍的切换时间。事实上,因为UART在位的中间附近读取输入数据,并且还因为大多数的时间参考时钟是非常准确的,你可以安全的使用短到5到10倍的切换时间的位的宽度。考虑到这些,有的接口芯片允许115kbps或者更高的波特率,即使这违反了这个标准的建议。除了有一个最大的切换速度之外,RS-232 驱动器还必须符合最低标准以确保信号不在逻辑状态之间的未定义区域停留。对于控制信号和其他40bps和更低的信号,信号线必须花费不超过1ms的时间在有效的逻辑1和逻辑0之间的传送区域,对于其他数据和时间信号,这个限制是4%的位宽,或者在20bps下为2us。信号的上升和下降次数也要尽可能的接近相等。在5V逻辑和RS-232之间转换很多微控制器有异步串口,但是它们的输出和输入使用5V逻辑而不是使用RS-232电压。将5V落连接到一个RS-232端口需要转换到RS-232电平和从RS-232电平转换到5V逻辑。利用5V逻辑,我假定了TTL或者CMOS逻辑芯片使用的逻辑电平,这些芯片是由一个单一的+5V电源供电,信号电平以接地电平作为参考。对于TTL逻辑,一个逻辑低输入不高于0.8V。一个逻辑高输出必须至少为2.4V,而一个逻辑高输入必须至少为2V。利用这些逻辑电平,一个接口可以有0.4V的噪声信号而不至于产生错误。这些逻辑电平应用在初期的,标准的7400系列的TTL逻辑和他的派生系列,包括74LS74F和74ALS TTL。较早的利用NMOS技术制造的微控制器也使用这些逻辑电平。大多数的CMOS芯片定义了不同的逻辑电平,并且有更宽的噪声容限。一个逻辑低CMOS输出不高于0.1V,而一个逻辑低输入可以高达20%的电源电压,或者对于5V的电源输入可以达到1V。一个逻辑高输出至少为4.9V,而一个逻辑高输入必须至少达到电源电压的70%,或者对于5V电源输入而言达到3.5V。使用这样的逻辑电平的系列包括4000系列,74HC和74AC。3.3)传感器数据信息采集模块传感器数据信息采集模块主要是采集外部信息:温度传感器是用来感测外界温度,若超过温度限制,则会出现“有火灾”报警信息;光电传感器是用来感测是否有异物进入,若出现感应,则会出现“有人闯入”报警信息。再将这些信息传输到AT89S52单片机控制模块,以进行后面的报警操作7。该模块电路图如图3-3所示:图3-3 传感器(温度)采集模块电路原理图3.3.1温度传感器1、DS18B20特点(1)单线结构,只需一根信号线和CPU相连。(2)不需要外部元件,直接输出串行数据。(3) 可不需要外部电源,直接通过信号线供电,电源电压范围为3.3V5V。(4)测温精度高,测温范围为:一55+125,在-10+85范围内,精度为0.5。(5)测温分辨率高,当选用12位转换位数时,温度分辨率可达00625。(6)数字量的转换精度及转换时间可通过简单的编程来控制:9位精度的转换时间为9375 ms:10位精度的转换时间187.5ms:12位精度的转换时间750ms。(7)具有非易失性上、下限报警设定的功能,用户可方便地通过编程修改上、下限的数值。(8)可通过报警搜索命令识别哪片DS18B20采集的温度超越上、下限。2、DS18B20的测温原理 DS18B20的测温原理图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随着温度变化时其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。3、DS18B20的读写操作介绍(1)ROM操作命令:读命令(33H):通过该命令主机可以读出DS18B20的ROM中的8位系列产品代码、48位产品序列号和8位CRC校验码。该命令仅限于单个DS18B20在线的情况。选择定位命令(55H):当多片DS18B20在线时,主机发出该命令和一个64位数,DS18B20内部ROM与主机一致者,才响应命令。该命令也可用于单个DS18B20的情况。查询命令(0F0H):该命令可查询总线上DS18B20的数目及其64位序列号。跳过ROM序列号检测命令(OCCH):该命令允许主机跳过ROM序列号检测而直接对寄存器操作,该命令仅限于单个DS18B20在线的情况。报警查询命令(0ECH):只有报警标志置位后,DS18B20才相应该命令。(2)存储器操作命令: 写入命令(4EH):该命令可写入寄存器的第2、3、4字节,即高低温寄存器和配置寄存器。复位信号发出之前,三个字节必须写完。读出命令(0BEH):该命令可读出寄存器中的内容,复位命令可终止读出。开始转换命令(44H):该命令使DS18B20立即开始温度转换,当温度转换正在进行时,主机这时读总线将收到O;当温度转换结束时,主机这时读总线将收到1。若用信号线给DS18820供电,则主机发出转换命令后,必须提供至少相应于分辨率的温度转换时间的上拉电平。回调命令(088H):该命令把EEROM中的内容写到寄存器TH、TL 及配置寄存器中。DS18b20上电时能 自动写入。复制命令(48H):该命令把寄存器TH、TL及配置寄存器中的内容写到EEROM中。读电源标志命令(084H):主机 发出该命令后,DS18B20将进行响应, 发送电源标志,信号线供电发O,外接 电源发1。(3) DS18B20的复位及读写时序:复位:对DS18B20操作之前,首先要将它复位。复位时序为:(a)主机将信号线置为低电平,时间为480960 S。(b)主机将信号线置为高电平,时间为1560 S。(c)DS18B20发出60240S 的低电平作为应答信号。主机收到此信号后,才能对DS18B20作其它操作。写操作:主机将信号线从高电平拉至低电平,产生写起始信号。从信号线的下降沿开始,在1560 S的时 间内DS18B20对信号线检测,如信号 线为高电平,则写1,如信号线为O,则 写0,从而完成了一个写周期。在开始 另一个写周期前,必须有1 S以上的 高电平恢复期。读操作:主机将信号线从高电平 拉低至低电平1 S以上,再使数据线 升为高电平,产生读起始信号。从主机 将信号线从高电平拉低至低电平起1560 S的时间内,DS18B20将数据放到信号线上,供主机读取。从而完成了一个读周期。在开始另一个读周期前,必须有1 S以上的高电平恢复期。3.3.2光电传感器14图3-3-3 光电传感器的介绍光电传感器是一种小型电子设备,它可以检测出其接收到的光强的变化。早期的用来检测物体有无的光电传感器光电传感器是一种小的金属圆柱形设备,发射器带一个校准镜头,将光聚焦射向接收器,接收器出电缆将这套装置接到一个真空管放大器上。在金属圆筒内有一个小的白炽灯作为光源。这些小而坚固的白炽灯传感器就是今天光电传感器光电传感器的雏形。 1、 工作原理光电传感器是通过把光强度的变化转换成电信号的变化来实现控制的。光电传感器在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接收器有光电二极管、光电三极管、光电池组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号。此外,光电开关的结构元件中还有发射板和光导纤维。三角反射板是结构牢固的发射装置。它由很小的三角锥体反射材料组成,能够使光束准确地从反射板中返回,具有实用意义。它可以在与光轴0到25的范围改变发射角,使光束几乎是从一根发射线,经过反射后,还是从这根反射线返回。2、 分类和工作方式槽型光电传感器 把一个光发射器和一个接收器面对面地装在一个槽的两侧的是槽形光电。发光器能发出红外光或可见光,在无阻情况下光接收器能收到光。但当被检测物体从槽中通过时,光被遮挡,光电开关便动作。输出一个开关控制信号,切断或接通负载电流,从而完成一次控制动作。槽形开关的检测距离因为受整体结构的限制一般只有几厘米。对射型光电传感器若把发光器和收光器分离开,就可使检测距离加大。由一个发光器和一个收光器组成的光电开关就称为对射分离式光电开关,简称对射式光电开关。它的检测距离可达几米乃至几十米。使用时把发光器和收光器分别装在检测物通过路径的两侧,检测物通过时阻挡光路,收光器就输出一个开关控制信号。反光板型光电开关把发光器和收光器装入同一个装置内,在它的前方装一块反光板,利用反射原理完成光电控制作用的称为反光板反射式(或反射镜反射式)光电开关。正常情况下,发光器发出的光被反光板反射回来被收光器收到;一旦光路被检测物挡住,收光器检测不到光时,光电开关就动作,输出一个开关控制信号。扩散反射型光电开关它的检测头里也装有一个发光器和一个收光器,但前方没有反光板。正常情况下发光器发出的光收光器是找不到的。当检测物通过时挡住了光,并把光部分反射回来,收光器就收到光信号,输出一个开关信号。3、 电气连接图 10 图3-3-4 光电传感器电气连接图3.4)液晶显示模块3.4.1 方案1采用LED液晶显示屏 采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏.3.4.2 方案2采用点阵式数码管显示采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种显示.3.4.3 方案3采用1602液晶显示器LCD1602液晶模块主要实现时间显示,最大程度上的方便大家,使得该系统更加人性化。采用1602液晶显示器,微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,且在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。故采用1062液晶显示器。它与单片机的电路连接图如下:图3-4-1 单片机与液晶电路连接图根据显示的容量可以分为1行16个字、2行16个字、2行20个字等字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。1、主要功能:A、40通道点阵LCD 驱动; B、可选择当作行驱动或列驱动; C、输入/输出信号:输出,能产生202个LCD驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(V1V6); D、通过单片机控制将所测的频率信号读数显示出来。2、初始化方法用户所编的显示程序,开始必须进行初始化,否则模块无法正常显示,下面介绍两种初始化方法;(1)利用内部复位电路进行初始化:下面指令是在初始化过程中执行的。 清屏(DISPLAY CLEAR);功能设置(FUNCTION SET);DL = 1: 8Bit 接口数据;N = 0: 1行显示; F = 0:57dot字形;显示开/关控制(DISPLAY ON/OFF CONTROL) D = 0: 显示关; C = 0: 光标关; B = 0: 消隐关表输入方式设置(ENTRY MODE SET )I/D = 1:(增量): S = 0: 无移位:(2) 软件复位 如果电路电源不能满足复位电路的要求的话,那么初始化就要用软件来实现。 3.5 )报警模块 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作为发声器。简单易懂,好易用音乐作为其报警声音,所以我选择蜂鸣器作为本次设计的报警系统。3.5.1蜂鸣器的介绍1蜂鸣器的分类 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。2蜂鸣器的电路图形符号 蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。图3-5-1 报警电路原理图3.5.2蜂鸣器方案选择方案一:压电式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V直流工作电压),多谐振荡器起振,输出1.52.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。方案二:电磁式蜂鸣器电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性的振动发声。经过论证,方案二更易于实现,且原理易于掌握,所以用电磁式蜂鸣器作为报警系统,其驱动原理是:电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发生的,因此需要一定的电流才能驱动它,单片机I0引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路,最终选择通过三极管C8550来放大驱动蜂鸣器。将蜂鸣器正极接到VCC电源上,负极接到三极管的发射极E,三极管的基极B经过限流电阻10K后由单片机的P3.7引脚控制,当P3.7输出高电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当P3.7输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。程序中改变单片机引脚P3.7输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色音调的声音;另外改变P3.7输出高低电平的占空比,则可以控制蜂鸣器的声音大小。39基于GSM远程环境监控系统的设计 第四章 系统程序的设计该系统的软件设计采用C语言实现。分主程序与子程序,子程序中又主要包括传感器采集信息程序、单片机最系统控制程序、液晶显示程序、报警程序、GSM短消息程序等几个子程序模块。 4.1)监控现场主程序流程图单片机与GSM模块的通信程序按欧洲GSM的AT命令协议要求编写程序,AT指令使用方法参见前文。包括单片机系统数据的通信模块MC35的初始化、现场数据的定期采集、控制端口的数据输出、告警短信的发送、指令信息的接收及分析执行等,其中数据采集软件、短信发送及接收软件为关键部分。现场监控系统软件流程图如图4-1所示。 图4-1 主程序流程图4.2)中断子程序流程图4.2.1 温度传感器子程序 DS18B20 的操作中,延时分两种:短时间延时和较长时间延时。片机系统所用的晶振频率为12 MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写3个子程序:INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。图4-2-1 温度传感器程序流程图本设计中DS18B20的C语言程序如下:#include 18B20.h/*write 18b20*/void write_18b20(unsigned char write_data) unsigned char i,k; for(i=0;i=1; /*read 18b20*/void read_18b20(unsigned char *data_buffer) unsigned char i,k; for(i=0;i=1;IO_18B20=1;EA=0;IO_18B20=0;IO_18B20=1;/延时至少1us,但小于15usIO_18B20=1;if(IO_18B20) (*dat

温馨提示

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

评论

0/150

提交评论