《基于单片机的温度报警控制系统设计与实现》10000字(论文)_第1页
《基于单片机的温度报警控制系统设计与实现》10000字(论文)_第2页
《基于单片机的温度报警控制系统设计与实现》10000字(论文)_第3页
《基于单片机的温度报警控制系统设计与实现》10000字(论文)_第4页
《基于单片机的温度报警控制系统设计与实现》10000字(论文)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的温度报警控制系统设计与实现摘要设计一种当温度超出或低于设定范围值时发出警报并伴有警示灯提示的控制系统。系统的硬件由单片机STC89C52、温度传感器、液晶显示器、按键、LED、蜂鸣器等组成。温度测量采用DS18B20传感器,将采集的数字信号直接传送给单片机进行处理。软件设计由温度信号处理程序、温度报警程序、LCD1602显示程序、按键扫描处理程序等构成。温度的测量和报警功能应用十分地广泛,涉及到很多领域,有较高的市场应用价值。关键词:单片机温度报警控制系统目录301821绪论 绪论当今时代,电子以及计算机技术的发展很是迅速,并且广泛应用。温度测量也涉及生活中的各个方面,尤其是工业生产过程使用情况比较多。1.1研究背景及意义1.1.1研究背景现在这个时代科技正在迅猛发展,单片机早就已经遍布我们的生活中,你甚至可以发现,基本上每个领域都有它的存在。“温度”遍布我们生活,对人们来说,温度的测量和控制是很重要的。温度报警器的应用还是比较广泛的,比如说:在程序内部设定的温度报警上限。温度报警器的使用价值还是较为高的,以及它拥有广泛的前景。自然界中的许多事物都与气候和温度息息相关。比方说我们在企业进行整个工业生产的整个过程中,对于空气温度的准确衡量和安全管理就有可能会直接性地影响着达到安全的工业生产,提高了工业生产线的效率,保障了它的产品质量以及环保节能。控制电路能够根据情况的不同和所需要求,在特定性能指标上是有一定不同的。在生产过程中,如何才能提高温度控制的性能这一问题,是控制人员和技术人员需要努力克服的。所以,选择什么样的温度控制方法是非常重要的。1.1.2研究意义温度是用来表征一个物体的冷热变化程度的物理测量,而这种温度的测量也可以说成为在生产的整个过程中最重要和最基本的一个测量参数。温度的计算和测量以及其控制都有着巨大的意义和作用,关乎到企业的产品质量和生产安全,可以大大提高企业的生产效率并且为企业节省能源,同时还可以促进国民经济。由于对于温度的测量在我们日常生活中较为普遍,所以显而易见,温度传感器的使用人群和数量也在各类传感器中都位居第一。伴随着现代信息科技和工业生产的发展,温度传感器的品种也正更新换代,以此方式来实现和满足人们在生产和日常生活中所有的需要。基于单片机的温度计测量和控制系统中最为关键的问题是什么?它就是如何测量温度以及如何控制温度。1.2课题研究的现状我国对于温度控制这方面的研究和应用起步较晚,不过经过后续的努力发展很快,在各个领域产生了显著效果。目前,我国在温度等控制仪表业与国外相比存在着的问题有:(1)仪表控制方面的研究较国外滞后。(2)智能型的仪表少。要求高的温度控制系统用的基本上都是进口仪表。(3)由于企业的规模较小又比较分散,所以科学和技术的力量并没有得到充分的集中,导致其研发实践能力较弱。1.3课题研究的内容研究课题为基于单片机的温度报警控制系统设计。最后的结果应该是实现了对温度的测量并在液晶显示屏上进行温度,设置了一个温度的门限,当温度超出了所设定的门限值,会启动温度报警。以单片机作为测量主机,让温度传感器经由一根口线直接与单片机相互地连接,以此方式来实现对温度的测量和控制。本文共包括五章内容:第一章的绪论,简单地介绍了课题的研究背景以及意义。第二章为了进行温度报警控制系统设计背景和其方案的介绍,简单地讲述了传统的温度测量技术,详细地说明了传统的红外测温系统工作原理和其方法,还有对传统的红外测温系统设计和其方案的介绍。第三章是温度报警控制系统的主要软硬件设计,包含了系统的整体方案设计、最小温度报警模块、这章还重点介绍了红外测温模块。第四章主要内容为介绍阐述了室内温度监测报警控制系统的主要应用软件设计,主要的软件模块内容包括:温度主控制管理程序系统模块的软件设计、测温温度控制管理程序软件模块、报警温度控制管理程序软件模块、显示报警控制软件程序等。第五章为温度报警系统的功能测试,从测温功能测试,报警功能测试,显示功能测试这三个功能来呈现温度报警系统的功能,最后再进行整体性能评估总结。

2系统方案介绍温度报警系统设计的主要原理就是红外线测温,以下简述了温度测量技术,以及对红外测温原理和方法进行了着重介绍。2.1温度测量技术概述温度计的测量指通过使用一种测温方法来进行定量地测量一个物体内部的温度。对于温度物理学中一个数量的测定,其实也就是一个物体在某种范围内的一定数目,它会随着这个物体在某种范围内的温度变化而单调地发生变化。人们历来都在探索自己应该如何测量气体的温度。直到伽利略的出现,他才被认为是最早开始使用这种仪器方法来进行测量温度的,1592年,伽利略成功地发明了第一个可以测量温度的仪器。而在1624年,第一次正式地出现在历史文献里"温度计"。2.2红外测温原理及方法2.2.1红外测温原理红外光学测温监控技术系统组成主要部分包括红外光学测温系统,信号图像放大器,光电信号检测器以及红外信号图像处理等。光学检测系统主要专门负责实时接收和检测分析视场内所存在需要的红外视场辐射源和能量,而用于检测红外视场的主体尺寸与范围大小主要是由光学检测仪和测温计的各个主要光学传感元件及其主体所在处的地点情况来进行决定的。红外线的发射能量通常首先会通过汇聚并放在一个高频光电信号检测器上,再紧接着通过转移来形成一个信号相应的高频无线电滤波信号。整个自然界基本上都是黑体,想要深入地了解到红外线辐射分布状况如何,就需要我们在进行理论探索的过程中去选择恰当的模型。以上所描述的内容可以推出普朗克黑体辐射定律,黑体光谱辐射程度可以用波长来表示。2.2.2红外测温方法温度测量有两种方式:一个为接触型测温,另一个为非接触型测温。什么是接触型测温?就是通过传感器和物体之间处于相同的热平衡状态,从而实现使得传感器和物体之间保持相同的温度检测方法。比方来说,我们所使用的测量人体体温的水银式温度计也就是接触型测温。接触型测温的温度计相对而言比较简单而且它的测量准确性和精度比较高,但是由于测温的器件都必须和受测介质完全进行热交换,要想使其达到热平衡状态就需要一段时间,所以接触式测温会有一定的滞后现象。这样的测温技术无法广泛地应用于非常高的气温测量。什么是非接触型测温?就是根据传热物质的流体热辐射学工作原理,测温器系统中的传热元件并不是没有必要直接用热接触检测到被我们检测到的介质。比如说像是红外热象仪,还有辐射温度计这种。2.3红外测温方案介绍2.3.1设计要求1)通过温度传感器DS18B20测量温度。2)1602液晶显示屏来显示出温度。3)按键设定好上下门限值的报警范围。4)当温度超过/低于正常值,蜂鸣器就会发出报警音。5)有相应的指示灯指示是哪个数据超出了温度范围。2.3.2方案介绍本次的最高温度误差报警信号控制处理系统是在设计中分别选择了两个DS18B20温度传感器,它们所进行测量所得到的最高温度误差范围:-55℃-125℃,-10℃-85℃,误差±0.5%,最高温度测量到的精度也就是可以一直保持最低到0.0625℃,可以说是具有较高的测试范围和准确的精度。采用了LCD系列液晶电视显示,该系列液晶电视显示屏的数字显示技术特点主要是可视功能性比较好,能够在一个屏幕上同时显示大量图形文字以及各种立体图形等,显示也都通常是清晰可见的,界面直观明了价格实惠。所以这次我的毕业设计中我们所需要采用的方式是:LCD1602液晶电视显示屏是用来直接做一个液晶显示屏的模块。

3硬件设计温度报警器的硬件有单片机、温度传感器、显示屏、蜂鸣器、按键等器件构成的,单片机是其中最重要的,必须熟知单片机的每个引脚功能才能更好地运用。3.1整体方案设计温度报警控制系统设计中最为重要的器件是STC89C52单片机,通过兼容电阻器和电容晶振等互相之间的配合,才得以完成在单片机的基础上对温度进行自动报警系统控制的最小化系统。其它几个模块也是用这个方法完成,通过围绕一个单片机的最小化系统而不断进行。传感器的输入(本次设计采用DS18B20温度传感器)负责对温度进行采集,再将其中的一个数据送到单片机。按键中所使用的是最为普遍的一种轻触式按键,它是以输入信号为基础进行设定的模块。显示部分采用LCD1602液晶屏。而在报警部分则是采用蜂鸣器报警以及LED警示灯信号提示。其中电源和容量是采用USB5v来提供。图3-1系统框图3.2最小系统模块3.2.1STC89C52单片机1.简介STC89C52芯片采用的是美国STC公司所研发和生产的8位CMOS数据处理单片机,它的缺点是功耗低并且运行速度高。采用的主要核心设计为mcs-51,但在51的基础上进行了许多改进,所以52单片机相对于51单片机来说,主要功能会更多一些。STC89C52给大多数使用者提供了一个更加灵活和有效的途径。STC89C52的主要特性:(1)8K字节程序存储空间(2)512字节数据存储空间4K字节的EEPROM存储空间(4)通过串行端口直接下载图3-2STC89C52实物图图3-3STC89C52引脚图2.引脚功能1)电源引脚Vcc(40脚):5V工作电压。GND(20脚):接地。2)时钟电路的引脚STC89C52在单片机的两个芯片中分别同时设置了两个不同反相振荡放大器,其主要设计作用之一就是为了防止传递反相信号号的产生。由于一台单片式电机内部采用的模式是自激振荡的两种主要不同工作频率模式,而内部连接xtal1和外部xtal2外部连接的都同样是12MHZ的小型石英晶体振荡器,所以内部的自激振荡器系统能够随着每个石英晶体振荡器的不同工作频率和振荡时间长度来自动进行自激振荡,以此方式来判断控制电机产生的各个时钟控制信号。如下表图3-4所示。图3-4时钟信号电路图3)复位RST(9脚)当一个引入振荡器连续发生振动作用时,若这个引入两脚上分别连续设置了两个位于单片上电机器件每周期(24个振荡周期以上)的一个高电平信号输入则当信号连续出现时,单片机就可能会连续停止进行复位,若这个引脚一直连续处于一个高电平,那么它们也就有可会变成是一个连续循环而且不断地连续停止进行复位。当一个程序进行复位后的两个p0~p3口都不知是否地处于一个高电平,程序复位计数器和其它具有特殊复位功能的程序寄存器就可能会被显示清0。复位电路如图3-5所示。图3-5单片机复位电路图4)输入输出口(I/O口)引脚a.P0端口也就是I/O端口。P0端口的输出电平可以驱动8个lsttl负载。b.P1端口是一个8位的一个通用双向I/O控制接口,P1端口只是具备了一种特殊的接口功能。P1端口可以同时直接驱动4个lslsttl口的负载;该口可直接同时驱动一个发光二极管,不必外部直接加上任何上拉电阻。c.P2端口是一个8位双向稳压I/O控制端口,内部有一个8位上压下拉稳压电阻,能够同时用来驱动4个ttlsttls的负载。d.P3端口同P2端口一样,也用于特殊的辅助功能。当两个P3端口连接作为一个具有通用功能I/O口时,第二个通用功能信号输出的总线通常是一个高电平。P3端口电压设置为1时,内部的上或下拉稳压电阻通常会将该输入端口电压下拉至一个高电平,作为一个新的输入输出端口,在对内部位于flash应用程序中的存储器端口进行程序编程时,此输入端口通常会提供连接一个输入控制器的信息。P3口的第二个接口功能,如下图表3-1所示。表3-1P3口第二功能表3.3.2最小系统单片机最小系统就是其它可扩展性系统中最基本的技术依据,单片机最小系统就是泛指一个具有最小功率的配置器系统。对于STC89C52,该芯片中本身有程序存储器,所以当外部的时钟电路和内部的复位电路接起来后,就可以直接构成整个单片机的最小控制系统。单片机最小化系统结构如图3-6所示。图3-6单片机最小系统原理图3.3DS18B20传感器3.3.1概述DS18B20传感器的主要技术特点之一是它的网络体积小、精确性好,并且它抵抗外界干扰能力较强,软硬件的连接开销比较少,并且它们还具备了特殊的一种单线视频连接传输方式。由于DS18B20温度传感器使用方便,所以在多种不同应用场合都有可能用得到。DS18B20的功能电路管脚外形和功能管脚如下图所示。管脚1:GND为接地端;管脚2:接数据端;管脚3:连接电源端。图3-7DS18B20管脚图3.3.2主要特性DS18B20数字温度传感器具有如下的独特优点:(1)不需要外围的元件。(2)测量的范围较广,精度较高。(3)采用单总线接口与MPU相连接从而实现双向通信。由于单总线的抗干扰能力较高,所以特别适宜在恶劣条件下的现场进行温度计的测量,而且操作简单。(4)多点连接式网络连接系统。(5)供电方式灵活。电力变压器直流供电控制方法灵活。DS18B20可以由内部的一个寄生控制电路向两个数据线两端提供交流电。所以,当一个专用数据线上的输入电流和输出时序都已经达到了一定的性能要求后,无须再与外部设备直接相连。(6)可对DS18B20配置,设定9~12位的程序。(7)具有负压特点的电源与极性相反接触时,温度计就无法正常运行,但是它并没有因为太阳光的发热而被烧毁。(8)自动掉电报警保护内置DS18B20传感器,内置有deeprom,用于保证控制供电系统在发生掉电后仍然能够保持一定的温度分辨率及对掉电报警器的温度范围进行自动设定。选择DS18B20的好处总结下来就是:体积小,电压范围宽,价格便宜,封装方式小,适合构建单一的测温系统。3.3.3内部结构DS18B20的主要内部结构如下图所示:图3-8DS18B20内部结构图3.3.4工作原理DS18B20的工作读取和控制测温温度时序及其位数传感器的基本工作控制原理与前的DS1820相同,不过每次测量后所能得到的随机温度分辨值及其位数转换会随着温度分辨率值的变化而发生变化,温度位数转换的持续时间从2s逐渐缓慢减少至750ms。下图3-9所示的是测温电路图,通过P1.0口与单片机相连,实现数据的传递。图3-9测温电路图减法计数器1与温度寄存器一开始设置的值是和-55℃相对应的温度基数。计数器1减掉低温度系数产生的脉冲信号,这个时候的减法计数器1的温度设定值降为0,温度寄存器原先所设定的值也就会随之开始增加1,再接着,减法计数器1又重新开始计算因为较低温度系数的晶体振荡从而产生的脉冲信号。当一个温度循环测量达到计数器2为0的范围时,温度寄存器的初始值就会自行停止,这时这个温度寄存器的初始值便是所要继续测量和达到的循环温度。下图中的斜率累加器,就是可以进行补充并同时校正在温度预设检测过程中的非线性,计数器1被直接送入以用于校正温度预设值。图3-10DS18B20工作原理框图3.4液晶显示电路3.4.11602液晶显示屏液晶电子显示器是一种新型的液晶显示装置,具有产品整体外观结构小、功耗低、厚度薄、可以直接适用于各种类型大规模的应用集成电路直接进行驱动、方便于同时展示全屏和彩色等多大优势,被当今社会人们广泛应用在便携式的消费电子产品中。设计系统的显示采用了普遍认可和使用最频繁的液晶模块1602,该液晶显示可以同时自动显示两行(每行16个字节),其他的文字和常用符号显示也会很方便。LCD液晶显示的工作原理是通过一定电压控制对要显示的位置进行控制,通电就会显示出内容。该系统可以分为很多种,不过一般情况下采用段式、字符型、点阵式这三种。而且液晶显示按色彩分类的话,不仅有黑白显示,还有许多颜色灰度彩色显示。如果按照驱动的方式分类,我们可以将其划分为三种:静态驱动,单纯矩阵驱动以及主机矩阵驱动。LCD1602的液晶显示方式可以分为是否带有背光还是不带有背光的两种,带有背光的时候要比是否带有背光的厚,是否带有背光在实际使用时候并没有太大的差别。图3-11LCD1602连接模块图3.4.2主要技术参数表3-2主要技术参数3.4.3液晶引脚说明表3-31602液晶引脚说明3.4.4指令集表3-4LCD1602控制指令3.5按键输入电路按键是处理当前单片机状态的主要器件,如果仅仅通过扫描一下键盘就能读当前状态是不够的。单片机使用最为广泛的主要有两个,就是独立键盘和矩阵键盘。独立键盘的优点之一就是电路很简单易懂,所以设计时通常用在简单电路。而矩阵键盘和前者又有什么不同呢?矩阵式的键盘虽然来说在硬件电路中,要比传统的独立式键盘需要更加地板和简单一些,但从应用程序的计算器和技术上角度来看,会麻烦很多,不过在能够节省端口和网络资源这一点上还是有着很大的劣势。接下来要做的就是如何去除按钮中"毛刺"。此处所使用的扫描方法为"延迟-重复扫描"。"毛刺"脉冲通常可以持续的电平时间很短,大概只有几毫秒,而我们按下脉冲之后的时间必然要比几毫秒长,所以当MCU检测到脉冲之后可以再继续延时很长一段时间,这样我们就已经可以准确地判断该脉冲电平还是不能保持到原来的状态了,如果保持原状态,那么它就是一个有效的按键,否则无效。系统设计中只用了3个按键,功能分别是“设置”、“+”、“-”,所以按键选用的是独立键盘。按键如下图:图3-12按键实物图3.6蜂鸣器电路蜂鸣器系统是一种供电集成型的高频电子发声信号控制发射器,供电控制模式所需要采用的信号频率一般为直流信号电压,在电子计算机、报警器、汽车检测装置、定时器等多种类型计算机和其他电子产品应用中都经常可以用到作为一种高频发声控制器件,应用广泛。由于装在单片硅电机接口处输出管脚的直流充电灌注比输出电源容量大,所以该控制电路的主要设计特点是在采用低电平进行输入时会有蜂鸣器嗡嗡作响,高电平则自动跳闸关闭。当PNP3.7脚短路输出一个较大低电平时,PNP型三极集线管8550导线接通,有集线器电极的一个较大电流短路进入,蜂鸣器就会发起较大声音。当一个P3.7脚开始输出一个新的高电平时,三极晶闸管被自动截止,蜂鸣器也被停用。下图为蜂鸣器模块的电路图:图3-13蜂鸣器模块电路图3.7LED显示电路LED为一种新型半导体发光二极管。它主要由诸如砷(ga)、砒霜(as)、磷(p)、氮(n)等的有机化合物共同构成。所以当一个电子和空穴相互复合后就有可能从其中辐射出一个可见光,因为这样的原因所以我们可以把它用来做LED。在这个电路中我们可以直接充作一个指示灯,或者还有些可以直接构成一个文字和数码表来进行显示。LED几乎可以把旧的电能直接由光转化而成为新的光能。发光二极管只有一个PN结,具有单向导电特性。不同类型半导体电子材料在其中的固态电子和不同空穴材料中的电子能量流动状况各不相同。图3-14LED实物图

4软件设计一个完整的温度报警系统的软件设计就是由测温程序模块、控制程序模块、显示程序模块来组成的,由温度传感器采集数据,发送给单片机从而达到温度控制的作用。4.1主程序根据温度控制器系统的硬件而编写的软件流程,实际上是对整体系统的管理流程和控制流程进行了一个设计。设计的温度控制软件主要功能就是直接完成对温度数据的采集,然后将采集到的数据通过串口通信的方式传送到上位机,同时也会接受上位机发出的命令,达到温度控制的作用。该软件总体程序流程图所示如下:图4-1总体程序流程图主函数程序:voidmain(){KM1=0; KM2=0; while(1){Ok_Menu(); do {Read_Temperature();//读取温度Disp_Temperature();//显示温度 juged();}while(!presence);Error_Menu();do {Init_DS18B20();beep();}while(presence);}}4.2测温程序模块先初始化DS18B20传感器判断是否存在,存在就执行ROM操作命令以及存储操作命令,然后通过温度传感器来读取温度值。若不存在则返回。测温程序流程如下:图4-2测温程序流程图读取温度程序:Read_Temperature(void){Init_DS18B20();WriteOneChar(0xCC);//跳过读序号列号的操作WriteOneChar(0x44);//启动温度转换Init_DS18B20();WriteOneChar(0xCC);//跳过读序号列号的操作WriteOneChar(0xBE);//读取温度寄存器temp_data[0]=ReadOneChar(); //温度低8位temp_data[1]=ReadOneChar(); //温度高8位}4.3控制程序模块控制信号过程就是对所有受控的相关过程控制信号数据进行控制采样、数据处理,根据所有的相关控制过程计算机和方法应用来准确进行过程信号的控制计算和数据输入。图4-3控制部分流程图4.4显示程序模块液晶模块会先确认好一个之后要显示的地方,然后再显示数据。在坐标定位完成后就会显示内容了,若显示没完成就重新定位行列坐标。需要注意的是液晶在显示的时候,是一位一位进行工作的。举例说明,比如数字“123”,就是先显示百位的“1”,再是十位的“2”,最后是个位的“3”。每次液晶屏显示的时候,不需要重复定位,第一次定位过后,液晶就会自动跳到下一个位置的,所以是不需要对每个字符都定位一次的。图4-41602程序流程图

5温度报警系统的功能测试完成硬件以及软件以后,最关键的一步就是硬件的调试,就是要对系统功能进行多次测试以及调整,以下描述的就是调试过程中对系统每一个功能模块的测试。5.1测温功能测试温度传感器DS18B20,可以通过在此传感器连接出来的金属棒(图5-1),来传递采集的温度,然后在显示屏LCD1602上通过数字的形式显示出温度。图5-1金属棒图图5-2测量温度上图可以看出,安全的温度范围在23~28℃,当前温度是25℃在这个范围内,所以报警器不会鸣叫,也不会有报警灯亮起警示。5.2报警功能测试首先可以通过按键,最先设置好一个温度的最小值,再设置一个温度的最高值,若当前温度低于最低温度,第一个报警器的灯亮同时发出警报,加热片也会进行加热。下图所示的例子,当前的温度值为21℃,低于最低温度23℃,所以发出警报并伴有第一个警示灯的提示,直到温度在安全的温度范围内,报警器才会停止鸣叫同时灯灭。图5-3低于最小温度报警图如下图,最高温度值设置的是28℃,当前温度是29℃,所以超过了最高值,第二个报警器发出警报,即蜂鸣器开始鸣叫,同时报警器的灯亮。直到温度低于最高值且在安全范围内,报警器才会停止鸣叫同时灯灭。图5-4超过最高温度报警图5.3显示功能测试1602显示屏上连接了一个电位器,可以通过转动该电位器来调整对比度,看显示的字符清不清楚。电位器的中间脚和左右任意一脚接VL,另一个则接地。通电后,按下开关,显示屏应正常显示。第一行所显示的是当前温度,第二行显示的是最低温度和最高温度。如下图所示:当前温度最低温度最高温度当前温度最低温度最高温度图5-51602显示屏示意图5.4整体性能评估自行设置一个最低的温度,看到超出最高值的情况时候会不会发出一个警报声,也可以通过传感器DS18B20连接的金属棒,握住金属棒测出被测量者的体温,然后在显示屏上显示出来。若超出温度,则警报器发出警报,灯亮。若低于最低温度,报警器也会发出警报提示。该温度报警器还拥有断电存储数据的功能,断电后再重新启动时,会保留上一次的温度数据。

结论这次的毕业设计,虽然累但是也让我从中收获了许多,就比如通过这次的毕业设计,让我变得更加的仔细而且有耐心了。因为在设计操作的过程中,要时刻注意着每个环节的检查测试,总体的过程是一个很考验耐心且必须很细心的过程,要反复检查,直到找到原因为止。对我来说这次充分让我得到了锻炼,动手能力也得到了提高。在绘制原理图还有安装和调试的过程中,在所难免遇到了很多的问题,如果慌乱就更加容易出错了,所以我只能让自己保持冷静,然后仔细查找错误的原因或者寻求百度如何解决,如果自己不能解决问题所在,那么就可以寻求指导老师的帮助。最后通过不懈的努力,我才完成了整个毕业设计。从最初一开始的确定课题,再到自己去网上查找与课题相关的材料和内容,然后通过编写程序寻找出问题和错误的修改,最后进行了过程中的调试和测试在这一次又一次的实践过程中,有了面对困难应该怎么克服的心态。直到完成了毕设我才明白了它的意义,我相信每一个真正认真去完成的人肯定会和我一样会有同样的感想吧。经过了大学四年时间的实践和积累,在已经基本掌握了相关的专业技术方面的知识和其它多方面的知识后,我认真严肃地完成了自己的毕业设计。

参考文献郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009.李晓荃.单片机原理与应用[M].北京:电子工业出版社,2000.[3]徐爱钧.单片机高级语言C51应用程序设计[M].北京:电子工业出版社,2002.[4]刘建清.轻松玩转51单片机C语言[M].北京:航空航天大学出版社,2011.[5]何立民.单片机应用系统设计系统配置与接口技术[M].北京:北京航空航天大学,1990.[6]江国强.现代数字逻辑电路.北京:电子工业出版社,2002.[7]张绪光,刘在娥.电路与模拟电子技术[M].北京:北京大学出版社,2010.[8]徐晓光.数字逻辑与数字电路[M].北京:机械工业出版社,2008.[9]黄智伟.印刷电路板设计技术与实践[M].北京:电子工业出版社,2013.[10]樊昌信.通信原理(第五版)[M].北京:国防工业出版社,2001.[11]谢自美.电子线路设计.实验.测试(第二版)[M].武汉:华中科技大学出版社,2000.[12]张俊谟.单片机中级教程[M].北京:北京航天航空大学出版社,2006.[13]谢维成.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2009.[14]赵健,吴顺伟.基于单片机的温湿度测量系统的研究与设计[M].电子技术

[15]张艳丽,杨仁弟.数字温湿度传感器及其应用[J].工矿自动化,2007.6第3期[16]刘和平.单片机原理及应用[M].重庆:重庆大学出版社,2002.[17]张勇.PROTEL99SE电路设计技术入门与应用(第一版).北京:电子工业出版社,2002.[18]刘笃仁,韩保君,传感器原理及应用技术西安电子科技大学出版社,2008[19]梅丽凤,王艳秋,汪毓铎,张军,单片机原理及接口技术清华大学出版社,2006.[20]Richardc.Dorf.modernconctrolsysterm[M].BEIJING:SciencePublishingHouse,2002.[21]DonaldA.Neamen.Electroniccircuitanalysisanddesign[M].TsinghuaUniversityPressandSpringerVerlag.2002.[22]DallasSemiconductor,ProgrammableResolution1-WIREDigitalThermometerDS18B20DATESHEET.

附录附录一元件清单附录二程序代码/*LCD初始化设定*//*******************************************************************/voidlcd_init(){delay1(15);lcd_wcmd(0x01);//清除LCD的显示内容lcd_wcmd(0x38);//16*2显示,5*7点阵,8位数据delay1(5);lcd_wcmd(0x38);delay1(5);lcd_wcmd(0x38);delay1(5);lcd_wcmd(0x0c);//显示开,关光标delay1(5);lcd_wcmd(0x06);//移动光标delay1(5);lcd_wcmd(0x01);//清除LCD的显示内容delay1(5);}/*设定显示位置*//*******************************************************************/voidlcd_pos(ucharpos){lcd_wcmd(pos|0x80);//数据指针=80+地址变量}/*自定义字符写入CGRAM*//*******************************************************************/voidwritetab(){unsignedchari;lcd_wcmd(0x40);//写CGRAMfor(i=0;i<8;i++)lcd_wdat(mytab[i]);}/*us级延时函数*//*******************************************************************/voidDelay(unsignedintnum){while(--num);}/*初始化DS18B20*//*******************************************************************/Init_DS18B20(void){DQ=1;//DQ复位Delay(8);//稍做延时DQ=0;//单片机将DQ拉低Delay(90);//精确延时大于480usDQ=1;//拉高总线Delay(8);presence=DQ;//如果=0则初始化成功=1则初始化失败Delay(100);DQ=1;return(presence);//返回信号,0=presence,1=nopresence}/*读一个字节*//*******************************************************************/ReadOneChar(void){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){DQ=0;//给脉冲信号dat>>=1;DQ=1;//给脉冲信号if(DQ)dat|=0x80;Delay(4);}return(dat);}/*写一个字节*//*******************************************************************/WriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;Delay(5);DQ=1;dat>>=1;}}/*读取温度*//*******************************************************************/Read_Temperature(void){Init_DS18B20();WriteOneChar(0xCC);//跳过读序号列号的操作WriteOneChar(0x44);//启动温度转换Init_DS18B20();WriteOneChar(0xCC);//跳过读序号列号的操作WriteOneChar(0xBE);//读取温度寄存器temp_data[0]=ReadOneChar();//温度低8位temp_data[1]=ReadOneChar();//温度高8位}/*数据转换与温度显示*//*******************************************************************/Disp_Temperature(){display[4]=temp_data[0]&0x0f;display[0]=ditab[display[4]]+0x30;//查表得小数位的值display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);display[3]=display[4]/100+0x30;display[1]=display[4]%100;display[2]=display[1]/10+0x30;display[1]=display[1]%10+0x30;if(display[3]==0x30)//高位为0,不显示{display[3]=0x20;if(display[2]==0x30)//次高位为0,不显示display[2]=0x20;}lcd_pos(0x48);lcd_wdat(display[3]);//百位数显示lcd_pos(0x49);lcd_wdat(display[2]);//十位数显示lcd_pos(0x4a);lcd_wdat(display[1]);//个位数显示lcd_pos(0x4c);lcd_wdat(display[0]);//小数位数显示}/*******************************************************************//*蜂鸣器响一声*//*******************************************************************/voidbeep(){unsignedchary;for(y=0;y<100;y++){Delay(60);BEEP=!BEEP;//BEEP取反}BEEP=1;//关闭蜂鸣器Delay(40000);}/*DS18B20OK显示菜单

温馨提示

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

评论

0/150

提交评论