《基于物联网的温度控制系统.docx》由会员分享,可在线阅读,更多相关《基于物联网的温度控制系统.docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京理工大学珠海学院2020届本科生毕业设计基于物联网的温度控制系统摘 要温度控制系统的智能化发展拥有巨大化幅度和规模,可以用来提高温度控制技术的水平和精度,这样使得产品的品质获得了巨大的质量提升与创新,所以,智能化的温度控制系统技术被生产生活中广泛的应用开来,我采用了常见的数码管显示器,使得操作应用更为直观,我所研究的课题将对花房,大棚等农副产品领域应用,并对温度进行智能化的监测和控制。 关键词:物联网;服务网观;wsn;Zigbee:嵌入式系统英文题目AbstractMassively improve the technical level and accuracy of temperat
2、ure control, which makes the quality of products obtain huge quality improvement and innovation. Therefore, the intelligent temperature control system technology is widely used in production and life, and I have adopted The digital tube display makes the operation and application more intuitive. My
3、research topic will be applied to the fields of flower house, greenhouse and other agricultural and sideline products, and the temperature will be monitored and controlled intelligently. Keywords: The Internet of Things; service gateway Wireless sensornetworks ;ZigBee; Embedded system目 录1 前言11.1温度控制
4、系统的研究与意义11.2 本设计在国内外的发展概况及存在的问题11.3论文的内容与结构12本设计基本概念22.1系统总体设计方案22.1.1设计的基本要求22.1.2功能的模块组成33主要元器件的介绍33.1 STC89C52单片机介绍43.2 LCD1602液晶显示屏的介绍53.3 HC-05蓝牙模块的介绍63.4 DS18B20W温度传感器的介绍54系统的硬件设计24.1系统的使用说明及功能介绍24.2复位电路的设计24.3显示电路的设计24.4温度检测电路的设计24.5蓝牙通信电路的设计25系统的软件件设计25,1读出温度的设计25,2温度控制的程序设计26系统调试2参考文献谢辞附录1
5、前言随着科技的巨大进步,社会的飞速发展,物联网技术的发展已成为国家战略议程,设计温度控制系统,拥有广阔的应用前景和实际的意义。具体可以应用于环境保护,交通,家居,农业等。我们值得关注的是,在有些相对风险较高的地区,智能化的温度控制有着更重要的实际价值,尤其对于特殊情况,比如突发性灾害事故的道路,危险区域,环境监测,救灾预警,防火。所以鉴于实际情况,温度控制系统有着巨大的前景,各种合适不同场合的温度控制系统随着时代的发展迈向我们。 1.1本设计的目的、意义及应达到的技术要求我所创作的设计是基于物联网的温度控制系统,监测和控制的对象是温度,温度和我们的生活和生产密切相关,在日常生活中的应用十分的广
6、泛,智能化显著提高人民的生活水平,所以我们越来越关注自身生存环境。但是以前的温度控制都是人为的,难免有误差,而且人们对此不够重视,重要的是现在很多场所都需要温度的24小时监测和控制,以免发生意外,于是针对这个问题,我决定设计出一款,简单操作,方便快捷,应用广泛,功能强大,小巧便捷,又价格亲民且实用的温度控制系统。 1.2本设计在国内外的发展概况及存在的问题温度控制系统,控制对象是温度,温度控制的影响越来越大,关于温度控制的智能化领域的应用也在不断的扩大,目前的众多国家都投入了巨额的资金在其中,对于物联网的应用是这中最为重要的一环,在我们日常生活众用相当广泛,比如温室、卧室、空调房、电源等场所。
7、在智能化的温控系统出现之前,温度控制一直需要人工来完成,尤其现在很多场所都需要实时的监控温度以免发生意外。对此,我研究这个课题,来完成这个系统,我设计这个系统是为了可以24小时实时监测并控制温度,想必它的应用范围会特别的广泛,这个课题对生活质量有着十分重要的意义 。 1.3本设计应解决的主要问题物联网是趋势,智能化是新时代的重要组成部分,为了方便人们的生活,明确我做的课题,我需要要确定几点。第一.这套系统.其是否具有感应网络的能力。第二.是否可以完成数据之间的转换,是否具有通讯功能,是否能准确的传递信号里的功能并作出相应的反馈。3.是否具有自动规划和检测的能力,自动检测其中的问题,并自动化且智
8、能化的运作,出现问题自我调整。对此我主要的工作内容如下:第一.明确课题论文的内容与整体流程。第二.关于系统的设计和完成相关的技术分析,分析系统的功能,满足的条件,对总体框架进行设计,研究它的技术,介绍他的处理器和相关的技术。2基于物联网的温度控制系统的基本概念它是新一代的物联网的计算机中的一个重要组成部分,物联网的定义是“的物与物连接的互联网功能,具有重要的成分的意义。是一个综合性的技术和系统,以及其实际应用还仅限于内部,对此,我们所做的东西是智能化的。 2.1方案选择对于我的理解来说,物联网就是把实际的应用和互联网,无线信号相结合起来。所以这对于实物来说有了较高的智能要求。因此,各方面的协作
9、能力也应该是很强的。此外,网关应始终保持在移动过程中与网络连接,所以网关的流动性也应该是很强的。我的大概思路是做一个温度检测的传感器,能够利用单片机控制采集数据并及时反馈,尝试用一种方式将数据传输到远端,这时考虑发送它的具体形式,比如wifi,射频,蓝牙等等,这是针对温度的检测,还有温度的控制,需要有温度调控,温度的升温和降温功能,这是考虑我所做的温度控制系统要适用于哪个工作环境,我个人选择与智能家居的温度监控,大概的工作模式是这样,首先恒定一个温度,比如室温25度,当室温低于这个数值时自动检测并升温,当室温低于这个值时及时降温,由于地域的特殊性,具体的工作模式还需商议,暂定选用半导体模块负责
10、升温降温,对于针对室内温度,需要设计控制空调的开关2.2.1分析问题物联网网关是广域网和外部网络之间的节点。作为一个入口节点,它必须能够接受来自客户的远程访问,那就是,支持TCP / IP协议,并提供YEB服务。在另一方面,从用户体验的角度来看,用户需要能够控制通过远程计算机整个网络(通常来说,智能家居)。在本文网关的设计,硬件平台是ARMI微处理器。它连接以太网到公共网络的外部,并且内部连接无线传感器节点,以形成一个无线传感器网络。通俗地说,网关不仅应该有自己的功能,但也有一台服务器的功能,最重要的是智慧,需要自带监控系统 。硬件功能如何实现,软件功能如何实现,加在一起需要满足什么样的功能,
11、整体的构架,我们需要确定我们所做的东西,实现什么功能,几个模块,等等,用什么可以更直观的模拟,比如灯,温度计等等,实现这个想法等, 2.2.2设计过程我觉得设计物联网的温度控制系统首先要明确它的总体构架,需要能连接互联网,能智能的反馈信息,它是在物联网的体系结构的汇聚层,并且两个端部连接到一个公用传输网和一个公共传感器网络。在这个设计中,我将使用WiFi或蓝牙作为解决问题的一种方便,快捷的方式,实现对传感器网络的通信,要明确我们所做的东西,它的硬件功能,它的软件功能,他所需要的模块,我们该用什么来更直观的模拟,我们该如何实现这个想法等等,针对于我选择的课题,我的元器件有,以及主要元器件选择的原
12、因万用板9x15cm1单片机STC89C521单片机底座40P1晶振11.0592M1瓷片电容22PF2电解电容10UF1电阻1K5电阻10K2电阻2K1按键按键4开关自锁开关1电源座电源接口1电源线匹配电源座1温度传感器DS18B201蓝牙模块HC-051显示屏LCD16021排针16P1排母16P1铜柱1cm2螺丝1cm2三极管S90123蜂鸣器有源蜂鸣器1LED灯绿色1LED灯红色1继电器5V黄色2接线端子2P2蓝牙HC-051导线连接线1M焊锡丝焊锡1M3.主要元器件的介绍3.1 STC89C52单片机的介绍STC89C52RC引脚图 3.2 LCD1602液晶显示屏的介绍 液晶显示屏
13、具有以下的特点,其中是:1.显示质量高由于液晶显示器每一个点在收到信号后就会一直保持那种色彩和亮度,需求是恒定发光,而且不像阴极射线管显示器那样,对此需要不断刷新亮点。所以液晶显示器画质高并且不会闪烁。2.数字式接口由于液晶显示器都是数字式的,且单片机系统的接口更加简单可靠,所以操作起来相对更加方便。3.体积小、重量轻液晶显示器通过控制显示屏上的电极液晶分子状态来达到我们所需要的显示功能,所以在重量上比相同显示面积的传统显示器要轻许多。4.功耗低根据现有资料的显示,液晶显示器的能量消耗主要在其内部的电极和驱动上,所以它的耗电量比其它显示器要少很多。1081 液晶显示简介1602LCD尺寸图16
14、02LCD主要技术参数:显示屏的显示容量为:162个字符显示屏的芯片工作电压为:4.55.5V显示屏工作电流为:2.0mA(5.0V)显示屏模块最佳工作电压为:5.0V字符尺寸为:2.954.35(WH)mm1. 3.3 HC-05蓝牙模块的介绍蓝牙介绍 图7-1 产品实物图 图7-2 HC-05蓝牙模块的特点:1.首先采用CSR主流蓝牙芯片,具有蓝牙V2.0的标准;2.允许的输入电压为:3.6V6.5V,禁止超过7V;3.工作的波特率为1200,2400,4800,9600,19200,38400模块使用的注意事项:注意.交叉连接蓝牙模块USB转TTL模块 RXDTXD TXDRXDVCC5
15、VGNDGND设置步骤1.工作中进入AT指令模式(所有AT指令都必须换行)2.设置串口波特率为9600,没有校验位,没有停止位3.规定修改蓝牙名称、密码4.具体的设置蓝牙的主从模式(1主1从)5.完整实现主从模块的绑定(两个模块实现透传)3,4 DS18B20温度传感器的介绍 温度传感器有很多种类型,在众多的温度传感器中,我选择了这个,它具有高精度,可靠性高等特点,在实际应用中使用DS18B20温度传感器,我个人是非常能接受的。他本身有着超小的体积,超低的硬件需求,和强大的防干扰功能,而且精确度极高,还有功能强大的附加功能,所以DS18B20的普及率十分的高。针对电子设备爱好者,它是非常适合学
16、习和研究微控制器技术的温度产品。对于我们可以了解操作和应用,使用中可以拓宽我们的思维,给我们分析温度更宽广的角度,让我们更有远见和建设性的思维以及逻辑思考的能力。DS18B20工作原理及应用:温度检测和数字数据输出DS18B20都将集成到单个芯片中,使得防干扰的功能增强,使得操作更加得心应手,操作周期可分为具体的两个部分。关键的存储器,用于存储DS18B20ID代码,它针对的是第18位单线串行代码和最后48位,所以用户根本不生产由于时间变化所产生的数据。对于RAM数据的临时存储器。操作将用于内部计算和数据访问,电源关闭后数据将会丢失(所以应用过程要小心)。 针对DS18B20,在第三和第四字节
17、之后的数据值信息,其中第二个字节是用户EEPROM的镜像,它的值是在上电复位上刷新。它的第五字节是第三EEPROM的用户的镜像。元件已经被设计成更高的温度分辨率,也可用于内部温度转换和计算的临时存储单元。所以用户操作它是可以很容易。由于他的特殊性,它的硬件功能简单,所以给生产的成本的省了一大笔,减少了中间的多余损耗.(4)控制器对18B20操作流程:复位:1.首先需要重置芯片的功能,由于复位这是其中的一个特征2.当18B20接收这个复位信号时,这会把芯片存在脉冲及时的返回并反馈。应答脉冲:1.当我们的复位电平操作结束后,使用控制器必须制定计划。2.到目前为止,双方的通信功能已经达成一致,下面是
18、控制器和芯片之间的数据通信传输转换。如果没有足够的时间,低电平复位或单一的总线的电路断开,它也就不会有脉冲,因此要注意应对设计意外情况。控制器所发送一个存储器操作指令:会经过信号的转换,其ROM指令被发送到存储器中,操作的指令被立即发送。操作指令也是我们所指的8位,其中一共有六个,工作模式的RAM报警值据切换。内存操作指令的作用会告诉芯片做什么工作,这是它的关键的芯片控制。3.执行或数据读出以及关键点写入:内存的操作指令将要完成时,将会根据存储操作指令,会把进行的执行或数据读出和写入指令。如果在执行温度转换指令时,控制器是会具有等待18B20执行该指令的时候,通用的转换时间是500US。当执行
19、读取指令和写入数据,所以我们需要应该严格按照的元器件18B20的读取和写入的顺序进行操作。所以在工作流程中,要求我们读取温度数据,运行2个甚至更多的运动周期,并进行反复,这是全部的流程。4.系统的硬件设计4.1使用说明及功能介绍功能介绍:1、 系统可检测当前环境的温度,并采用液晶屏显示;所以我将运用手机APP,通过蓝牙功能与系统进行连接操作,所做的系统可一通过蓝牙将温度数据发送至手机上,在手机APP上显示。2、 我可以通过按键和APP来设置温度报警值的上下限;3、 而且系统带有断电记忆功能,所以下次启动时,记忆上次设置的温度上下限值,无需再次设置;4、 当温度超过上限报警值时,红灯亮,相应继电
20、器开关吸合(可接散热风扇);5、 当温度低于下限报警值时,绿灯亮,相应继电器开关吸合(可接加热片);注意:继电器端子只相当于是个开关,继电器闭合时,两端相连,否者断开,无供电部分。若需要加风扇,还需要加风扇相应的电源,此电源和系统电源无关。使用说明:1、 首先插上电源线(可用手机充电器或电脑USB口供电);2、 按下电源开关;3、 按下“设置”键进入温度设置的上限与下限的状态,按“加”和“减”来设置数值大小;4、 这之后进入设置,设置温度下限与上限的状态,按“加”和“减”键来设置数值大小;5、 经过上面的操作,再按一下“设置”键就可以恢复正常状态;6、 最后按“复位”键就可以初始化系统。蓝牙功
21、能:7、 手机安装相应APP;8、 给系统上电,手机打开蓝牙功能,扫描周围蓝牙(系统蓝牙模块名字为HC-05),连接并配对(配对密码1234);9、 打开手机APP,点击连接模块蓝牙;10、 液晶显示屏和APP可同步显示温度值。11、 设置温度下限发送TL:XX.X+回车 然后点击发送 12、 设置温度上限发送TH:XX.X+回车 4.2复位电路的设计 显然,复位电路的作用是复位。MCU连接到电源后,如果功率过低,则复位MCU存储器,所述参数是所述初始位置,即以便成为标准程序状态在电源接通时,由于某种原因,干扰程序和消除。对于我们来实现单片微型的计算机的复位电路,在其中如果有一个上电复位电路和
22、一个按钮复位电路。如果我们使用电容充电,将会实现了复位 电复位电路。当我们使用电源开启时,切记不要将电容的电压迅速改变。 RST引脚为高电平时,将开始重启。电容器C被连续地加入,在整个电阻器R上的电压降逐渐减小。当电容器C被充满电时,所以可以在端部对应于开路与相关复位电路。时间补充相关的充电时间。如果复位时间足够长,充电时间较长。此操作将增加复位电容和电阻的时间。功能复兴电路复位按钮是相同的.所以在复位电路中,而且还可以通过按键被复位。按压该按钮开关后,当中的两个电阻划分的电压,以产生一高电平到RST端。图4.1 复位电路4.3显示电路的设计在本次设计采用了最常用的液晶显示屏LCD1602。其
23、中液晶显示屏共有16个引脚,在其中第一和第二引脚为显示屏的电源正极和电源负极,系统的整体设计,在第十五引脚和第十六引脚为显示屏背光的正极和负极,第三引脚为调节显示屏显示的字符的对比度的引脚,次引脚通过一个滑动10K变阻器与液晶显示屏的第一引脚及显示屏的负极相连,通过调节10K电位器来进行显示字符亮暗对比度的调节。 图4.3 液晶显示电路图4.4温度检测电路的设计我们可以在某隧道窑烟道温度控制系统中,在温度检测部分我们采用了上文所提到的芯片,它的硬件电路比较简单,所以,我放出了它的接口电路,如图: 温度传感器的电路引脚图根据这个图片我们可以看到,,这个温度传感器只有3个引脚,所以在性能上会十分的
24、简单,它的第一引脚是电源GND,第二引脚为数据传输引脚,对此,根据我对这个芯片的功能了解,为了增大芯片的数据传输能力,,我最后决定在引脚上加了一个10k电阻,如上图中所示,在这个而且对于其中的第三引脚为电源VCC,所以在最后我们只需要连接它的电源正极即可完成任务需求。4.5 蓝牙通讯电路的设计数据上传采用了蓝牙通信方式,在本设计中蓝牙通信电路的比较简单,由于采用的是集成的蓝牙模块,因此设计电路中没有一些电容电阻等外围器件,因此蓝牙通信电路简单明了。首先蓝牙模块共有6个引脚,其中第一引脚EN和第六引脚STALE作为使能引脚,本电路中作为空闲引脚,不连接。然后是蓝牙模块的电源引脚VCC和GND,只
25、需连接在系统的正向电压和负极即可。最后有蓝牙通信采用的是串口通信的方式,因此具有TX和RX两个引脚,有一点需要特别注意一下就是,模块的TX要和单片机的RX连接,这样才能起到相互通信的效果,其电路图如图所示。图4.5蓝牙通信电路原理图5.系统的软件设计在系统软件设计中最重要的事情是窑烟气温度系统涉及,为了完成这个通过调用每个子程序的每个程序控制的主程序。在其中,它主要包括子程序诸如系统初始化程序,定时中断程序,温度检测程序,LCD显示程序,密钥设定程序等。整个主程序形成闭环,并且每次调用子程序也执行相应的功能的一部分。首先是系统上电后对系统进行初始化。存在要被执行的各种初始子程序,包括定时器中断
26、定时器程序。在时间到期时,在定时器中断程序必须执行。一键扫描子程序被放置,以便当按下键时,键能快速响应。这里,窑烟道温度控制系统的上部和下部的温度限制可设定。其次,除了在中断函数的执行,计时时间达到之前,在死循环功能必须执行。在该循环中,窑烟道的温度必须首先检测。如果温度超过上述上限值,冷却装置被启动。降温,当温度比上限下停止;如果温度低于该下限,启动加热装置,当温度低于下限更高加热该体系,并停止。在这一点上,一个周期的端部,然后再启动之初,继续检测的温度,控制它,等等,该系统主程序流程图图示。主程序流程图5.1 读出温度的设计温度控制系统中,我运用上文中提到的传感器进行温度检测,在温度检测过
27、程中,读取关于温度的子程序十分的重要且特别,针对于温度的读取,主要目的就是对传感器的读取数据将数据提取出来并处理,对于数据的提取过程,容不得马虎,对这个问题我严肃的对待,在时间顺序上按照时序表反复的对照并处理,为了顺利的读取数据,我们要将传感器复位,因为整个实验,我使用了一个传感器,所以我不需要对序列号进行反复校对和匹配,下一步,下达指令,对传感器下达命令,命令的内容是读取数据,在收到命令后,对上文的单片机传导字节,传输的方式是由高位到低位,其中一共有12个字节,最后将信号处理,把数据传导在液晶显示屏上,温度读取的流程如下图所示.读出温度程序5.2温度控制的程序设计对于温度控制的问题,我使用两
28、个继电器冷却温度。第一步,通过显示屏来获取当前的温度值。如果现在温度值比之前我们预先设定的温度报警的上限高,用以驱动风扇继电器继续被接通,将要启动所述风扇的旋转。否则,当下面的系统预先设定报警温度值的上限温度设定值时,继电器驱动控制风扇被关闭时,风扇的旋转停止。类似地,如果比温度报警温度值的下限值时预先设定,继电器驱动和控制所述加热芯片被接通时,加热头的加热开始。相反,当比预先设定的温度的报警温度值的下限值以上,关闭继电器驱动控制风扇,示出了图中的温度控制子程序的流程图停止加热器的加热。 温度控制子程序流程图6. 系统调试硬件调试在我的设计中,为了简便,温度控制系统我没有使用散热风扇和加热片,
29、相应的我用了两个继电器做演示,它的工作模式如下,我通过按键设置了温度上下限的报警值,系统可以检测当前的温度,当温度超过上限时,红灯亮起,相应的继电器开关吸和(这里应该接散热风扇),当温度低于下限时,绿灯亮,相应的继电器开关吸和(这里应该接加热片),电源方面我选择了充电宝 实物如下图:第一步:监视阶段,当电源被接通。观察成品,是否有烧焦气味,是否有不良反应,我用手触摸了集成电路,没有发现发烫等异常的情况(第一次接通电源后,始终没有反应,因为焊接问题导致断路)。 第二步:静态调试阶段。我使用万用表测量了电路中的各点位,对照判断了电路是否正常工作,插上充电宝(由于上一步的失误,我更换了几个元器件,将
30、电阻进行了更换,让整个电路的工作状态符合要求)。第三步:动态调试阶段。动态调试,就是我在原有的静态调试基础下给电路端输入信号,检测了各点的输出信号信息(在这一步中,我反复的排查故障,又进行了调试,很幸运,没有发现较大的问题) 软件调试调试软件进入组织到实际操作的程序,它可以正确的语法和逻辑错误的之前做手工或编译的程序进行初步测试。这也是确保单片机能正常运行的非常必要的一步。之后,我们一起把微控制器的程序,我们必须向单片机进行测试。我把软件调试过程分为两个步骤:第一步是用软件来调试程序。我们可以编译和链接编辑汇编语言程序,它可以消除基本的语法错误,然后使用软件调试工具本身执行规定的工作程序调试。
31、第二个步骤是由程序的实际运行接触以调试程序。这一步骤主要是为了消除在程序逻辑错误,当我们编辑程序,有可能是在逻辑思维间隙,这将在程序的操作引起错误。通过这种方式,逻辑错误,可以通过实际操作发现,和编程的程序将继续变化,最后操作的各个步骤和指定的显示格式将在各方面都得到满足,满足课题所需要的功能,反复检查,有特殊问题及时更改等等。 系统联调系统的硬件调试和软件调试都完成后,下一步进行的就是系统的整体调试。我要对整体的实物进行测试,先把LCD1602液晶显示程序烧录到单片机中,看看液晶显示器是否能正常显示文字,若能证明液晶显示模块焊接无问题,若不能显示则需要检查电路焊接问题并排除故障。然后用同样的
32、方法来验证温度模块是否能正常工作,若能正确检测温度值且显示正常,则这个实物已经能完成温度检测和显示功能,然后是控制的调试,直到完成演示,整体功能实现并可以运作,这个课题就完成了。 操作步骤这是一款带有蓝牙传输功能的温度控制系统,可以检测当前环境温度,通过蓝牙模块将数据传输到手机app,工作我把手放在温度传感器上,温度控制系统我没有使用散热风扇和加热片,相应的我用了两个继电器做演示,它的工作模式如下,我通过按键设置了温度上下限的报警值,系统可以检测当前的温度,当温度超过上限时,红灯亮起,相应的继电器开关吸和(这里应该接散热风扇),当温度低于下限时,绿灯亮,相应的继电器开关吸和(这里应该接加热片)
33、,然后打开手机,下载蓝牙传播软件,打开软件,里面有连接,我已经配对完成,显示当前的温度值,和液晶屏显示同步,可以用手机修改温度上下限。参考文献1 高锋编.单片微型计算机原理与接口技术M.科学出版社2007.77822 刘爱华、满宝元编.传感器原理与应用技术M.人民邮电出版社2010.1031153 陈永甫编.红外探测与控制电路M.人民邮电出版社2003.1101174 沈任元、吴勇编.常用电子元器件简明手册J.机械工业出版社2006.23345 周良权、傅恩锡、期世馨编.模拟电子技术基础第二版M高等教育出版社2004.79926 李东生、张勇、许四毛编.Protel 99SE电路设计技术入门与
34、应用M.电子工业出版社2004.56767 王卫平、陈栗宋编.电子产品制造工艺高等教育出版社J.电子工业出版社2007.36428 蔡发魁编.具有单片机功能的红外读写器第一章:红外光的介绍J.中国现代教育网2005.57689 黄继昌、徐巧鱼等编.传感器工作元理及应用实例M人民邮电出版社2007.9510610 王大飞编.被动红外探测器在安防工程中的应用M.人民邮电出版社2006.768311 王安敏、张凯.基于AT89C52单片机的超声波测距系统J.仪表技与传感器,2006.4449.12 沈红卫.单片机应用系统设计实例与分析M.北京航空航天大学出版社,2001(7):29831213 张毅
35、刚.单片机原理及应用M.北京:高等教育出版社,2001 .39740714 杨恢先,黄辉先.单片机原理及应用M.上海:复旦大学出版社, 2002.365215 徐淑华,程退安,姚万生.单片机微型机原理及应用M.哈尔滨:哈尔滨工业大学出版社,1994.85谢辞在这次的毕业设计中,首先要感谢我的指导老师对我的教导。在论文的开题报告、资料搜集等方面给予了我很多帮助。老师教与我的学习方法和处理问题技巧让我受益匪浅 。真心感谢在这次毕业设计中帮助我的老师,还有几个给了我不少建议的同学,真心谢谢。这个毕业设计中,有我自己的劳动成果,也有他们的功劳。附录#include#includesfr ISP_DAT
36、A = 0xe2;/ 数据寄存器sfr ISP_ADDRH = 0xe3;/ 地址寄存器高八位sfr ISP_ADDRL = 0xe4;/ 地址寄存器低八位sfr ISP_CMD = 0xe5;/ 命令寄存器sfr ISP_TRIG = 0xe6;/ 命令触发寄存器sfr ISP_CONTR = 0xe7;/ 命令寄存器/*LanYa串口接收数据缓存*/unsigned char idata LanYa_receive10;/*LY串口接收计数器*/unsigned char LanYa_DATA_count;unsigned int T_baojing = 250; /温度下限unsigne
37、d int H_baojing = 380; /温度上限unsigned char TB1; /温度下限十位unsigned char TB2; /温度下限个位unsigned char TB3; /温度下限小数点后一位unsigned char HB1; /温度上限十位unsigned char HB2; /温度上限个位unsigned char HB3; /温度上限小数点后一位unsigned char T_buff5; /报警缓存unsigned char H_buff5;unsigned char str_wd5;/温度缓冲区unsigned char moshi=0;sbit she
38、zhi = P37;sbit jia = P36;sbit jian = P35;sbit BUZZER = P34;/ 蜂鸣器报警功能sbit LED_R = P33;/ 红sbit LED_G = P32;/ 绿unsigned char IntToString(unsigned char *str, int dat);extern bit Start18B20();extern bit Get18B20Temp(int *temp);extern void InitLcd1602();extern void LcdShowStr(unsigned char x, unsigned cha
39、r y, unsigned char *str);extern void LcdWriteCmd(unsigned char cmd);unsigned int wendu;unsigned char T0RH = 0;unsigned char T0RL = 0; bit lanya = 0 ; /蓝牙发送标志void ConfigTimer0(unsigned int ms)unsigned long tmp;tmp = 11059200/12;tmp = (tmp * ms)/1000;tmp = 65536 - tmp;tmp = tmp + 18;EA = 1;T0RH = (uns
40、igned char)(tmp 8);T0RL = (unsigned char)tmp;TMOD &= 0xF0;TMOD |= 0x01;TH0 = T0RH;TL0 = T0RL;ET0 = 1;TR0 = 1;/* 串口配置函数,baud-通信波特率 */void ConfigUART(unsigned int baud) SCON = 0x50; /配置串口为模式1 TMOD &= 0x0F; /清零T1的控制位 TMOD |= 0x20; /配置T1为模式2 TH1 = 256 - (11059200/12/32)/baud; /计算T1重载值 TL1 = TH1; /初值等于重载
41、值 ET1 = 0; /禁止T1中断 TR1 = 1; /启动T1EA=1;ES=1;/向串口发送一个字符 void send_char_com(unsigned char ch) SBUF=ch; while(TI=0); TI=0; /向串口发送一个字符串,strlen为该字符串长度 void send_string_com(unsigned char *str,unsigned int strlen)unsigned int k=0; do send_char_com(*(str + k); k+; while(k strlen);/*延迟函数/*/void Delay_Ms (unsigned int a)unsigned int i;while( a- != 0)for(i = 0; i 600; i+);/*/ 单片机内部EEPROM不使能/*/void ISP_Disable()ISP_CONTR = 0;ISP_ADDRH = 0;ISP_ADDRL = 0;/*/ 从单片机内部EEPROM读一个字节,从0x2000地址开始/*
限制150内