




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)摘 要机房自动温度监控系统的设计,是通过单片机控制系统实现机房温度的智能化监控,根据室内外环境温度的变化,自动调节空调和通风系统设备。本课题开发的温度控制系统分为四个部分,即温度采集模块、温度控制模块、显示模块、键盘模块。温度采集模块负责采集温度;温度控制模块负责控制空调和通风系统来调节温度;显示模块负责显示用户设定的温度上、下限和室内温度,并对用户在键盘上的操作进行同步显示;键盘模块负责输入用户所需要的温度上、下限。各部分相互独立,同时又构成统一的整体。本系统结构完整,功能完备,是对温度控制系统设计的一次有益尝试。关键词: 单片机;液晶;键盘;温度传感器;温度控制系统ABSTRACTThrough design of SCM control system, automatic temperature control system in the computer room can intelligently control the temperature of the computer room. With the changes of indoor and outdoor temperature, this system can automatically adjust air-conditioning and ventilation system equipments. The temperature control system this thesis present is made up of four parts, namely, the temperature-collecting module, the temperature-controlling module, show module and keyboard module. The function of the temperature-collecting module is to collect temperature.The function of the temperature-controlling module is to control air-conditioning and ventilation system to adjust temperature. The funcion of show module is not only to show ceiling,limiting and indoor temperatures users have setted up, but also to synchronously display operations on the keyboard. And the function of keyboard module is to imput ceiling and limiting temperatures that users need. These parts, independent with each other, form a unified integrity. Owing to the integrated strructure and the complete function of this system, the design of temperature control system in this thesis is a very benificial attempt.Keyword: Single Chip Microcmputer; LCD; keyboard; Temperature sensor ; Temperature Control System II 目 录摘 要IABSTRACTII第一章 绪 论11.1 温度控制系统的发展及应用现状11.2 课题的意义及系统的优点11.3 论文各章节的安排2第二章 系统硬件的设计32.1 总体设计框架32.2 温度采集模块32.2.1 单片机的选择32.2.2 温度传感器的选择42.2.3 温度采集模块的设计52.3 温度控制模块62.4 键盘和显示模块设计72.4.1 LCD的选择72.4.2 显示模块设计72.4.3 键盘设计8第三章 系统软件的设计93.1 温度控制流程93.2 系统软件结构93.3 数据输入模块103.4 数据输出模块103.5 执行控制模块11第四章 系统调试与测试124.1 硬件安装与调试124.2 软件调试124.3 系统调试12第五章 总结15参考文献16致 谢17附 录18附录1 数据输入模块程序18附录2 温度控制系统总电路图28第一章 绪 论温度是工业生产中常见的和最基本的参数之一,在生产过程中常需对温度进行检测和监控,采用微型机进行温度检测、数字显示、信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用。考虑到许多工业环境中对多点温度进行监控,一般需要测量几十个点以上。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。1.1温度控制系统的发展及应用现状20世纪80年代末,铂热电阻温控系统刚出现时,为普通电子电路,非智能型结构,功能上也较单一,只有显示和热保护功能。随后为实现温度信号的远传显示和控制,在温度控制系统上添加了420mA电流输出,使温控系统具备温度变送器功能,在测温同时同步输出温度信号。在90年代初,电子仪器产品大都采用微电子技术进行升级换代,其技术特征是在丰富仪表功能的同时,大幅度提高产品的可靠性。许多温控器生产厂家开发出了单片机智能型温度控制系统。为进一步提高系统的运行管理水平,又出现了带有计算机通讯接口的温度控制系统,使温控系统可与外部监控系统进行通讯。随着通讯技术的发展,先是采用RS-232接口向数据处理系统输出信息,但是受到一些条件的限制,后逐步被结构简单,实现方便,便于维护的RS-485接口所取代。随着应用领域的不断扩展,温度控制系统继续采用RS-485有线通讯方式,在很多情况下都很难满足要求。通讯的网络化、智能化、集成化、标准化是当代的发展趋势。面向不同的应用,温度采集和控制控系统也应改进通讯结构,尽量具有多样性的、使用标准协议的通讯方式。1.2 课题的意义及系统的优点在现代社会中,单片机、传感器等电子元件的应用越来越广泛。利用单片机和传感器等电子元件结合C语言编程,来实现温度智能控制,已经是现代一个普遍的研究课题。机房环境自动温度控制系统,是以机房为环境,自动控制机房温度的单片机系统。目前,国内外许多公司都开发了许多种类的温度控制系统。他们的设计原理、使用环境各不相同,但这些公司所开发的自动温度控制系统多用于工业场合,因此价格比较昂贵,且使用太过于复杂,而且对于机房环境不太适合。本文设计的自动温度控制系统,是专门针对机房环境来设计的,它造价低廉,操作简单,在有效的控制机房温度的前提下,有效的降低了成本,是一个物美价廉的系统。1.3 论文各章节的安排第一章叙述了温度控制系统的发展与应用,温度传感技术的发展与应用现状,本课题的意义及系统的优点。第二章介绍了温度控制系统硬件的设计,包括总体设计框架,温度采集模块,温度控制模块,键盘和显示模块设计。第三章是系统的软件设计,包括了温度控制流程,系统软件结构,数据输入模块,数据输出模块,执行控制模块。第四章为总结,介绍了本论文实现的功能,阐述本课题的现实意义。第二章 系统硬件的设计2.1 总体设计框架本设计主要采用DS18B20数字传感器、AT89S52单片机、继电器、LCD、键盘构成的单片机温度智能采集控制系统。系统的总设计框架如图2.1所示。键盘控制通风设备的继电器室外DS18B20AT89S52控制空调的继电器室内DS18B20LCD图2. 1温度智能控制系统总体设计图系统工作流程:由负责采集室内和室外温度的两个DS18B20将采集到存储在AT89S52的RAM中,用户在键盘上手动设定温度上、下限同样存储于AT89S52的RAM中。显示模块显示室内外温度和用户设定温度,根据采集到的室内、外温度与设定温度上、下限比较后根据程序设计来控制两个继电器,来实现控制温度的目的。2.2 温度采集模块2.2.1 单片机的选择在单片机选择上,选择了AT89S52。AT89S52是一个低功耗、高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S52具有以下标准功能:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。2.2.2 温度传感器的选择温度传感器的类型有:1、传统的分立式温度传感器(热电偶传感器)热电偶传感器是工业测量中应用最广泛的一种温度传感器,它与被测对象直接接触,不受中间介质的影响,具有较高的精确度;测量范围广,可从-501600进行连续测量,特殊的热电偶如金铁-镍铬,最低可测到-269,钨-铼最高可达2800。热电偶传感器主要按照热电效应来工作。将两种不同的导体A和B 连接起来,组成一个闭合回路,即构成感温元件。当导体A和B的两个接点1和2之间存在温差时,两者之间便产生电动势,因而在回路中形成一定大小的电流,这种现象即称为热电效应,也叫温差电效应,热电偶就是利用这一效应进行工作的。2、模拟集成温度传感器 集成传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器或单片集成温度传感器。模拟集成温度传感器是在20世纪80年代问世的,它是将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC。模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控测,不需要进行非线性校准,外围电路简单。3、智能温度传感器智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。目前,国际上已开发出多种智能温度传感器系列产品。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(cpu)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。在选择温度传感器时,应考虑的主要因素有温度测量范围、精度、响应时间、稳定性、线性度和灵敏度。从多方面考虑选择了DS18B20这款传感器。2.2.3 温度采集模块的设计温度采集模块主要由AT89S52单片机和DS18B20传感器构成。DS18B20温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。既可用它组成单路温度测量装置,也可用它组成多路温度测量装置,这里我们使用的是双通路温度测量装置。一个用于测量机房室内温度,另一个用于测量室外温度。DS18B20的GND口接地VCC口接电源,I/O口连上一个4.7K的上拉电阻,再接上电源然后与AT89S52单片机的T0和T1口相连,输出脚I/O直接与单片机相连,R1和R3为上拉电阻,传感器采用外部电源供电。AT89S52是整个装置的控制核心,对由DS18B20所测到的温度进行处理。系统开始工作时,温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节)传送到AT89S52并存储在AT89S52的RAM中。 基于DS18B20的温度测量装置电路图如图2.2所示。图2. 2温度采集部分电路图2.3 温度控制模块系统是对空调和通风设备进行控制来实现对环境温度控制目的的,当DS18B20将采集到的温度传送到AT89S52中后,AT89S52将采集到的温度数据与用户设定的数据进行比对,根据不同的情况,控制两个空调和通风设备的继电器,来开启或关闭通风设备和空调。根据用户在键盘上设定的温度,可以有效的将机房的温度维持在用户所要求的范围以内。两个继电器一端与AT89S52的P20和P21脚相连,另一端分别与电扇和空调相连,控制电扇和空调的运行。当需要通风设备工作时,P20发出一个高电平信号,三极管导通,开关闭合,通风设备导通,开始工作;当需要空调工作时,P21发出一个高电平信号,三极管导通,开关闭合,空调开始工作。温度控制电路如图2.3所示。图2. 3图2.3.1 温度控制部分电路图温度控制部分电路2.4 键盘和显示模块设计2.4.1 LCD的选择12864液晶显示模块是12864点阵型液晶显示模块,可显示各种字符及图形,可与CPU直接接口,具有8位标准数据总线、6条控制线及电源线,是采用KS0107控制IC。 外观尺寸:1136511mm(ocm12864-1)视域尺寸:73.438.8mm (ocm12864-1)补充说明:外观尺寸可根据用户的要求进行适度调整。另有12864-2, ocm12864-3选择。12684-1外观尺寸最大,12864-2其次,12864-3最小。2.4.2 显示模块设计显示模块部分是系统的输出部分,负责将室内外温度和用户设定的温度显示在液晶面板上,在键盘上设定温度时也要通过LCD才能显示。它与AT89S52单片机的P00-P07,P20-P27口相连接,利用一个滑动电阻调节对比度。当用户设置好温度后,设置好的数据传送至AT89S52单片机,并将数据保存在AT89S52的RAM中。LCD工作时,调用RAM内的数据,包括DS18B20采集到的温度数据和用户设置的规定温度数据,将这些数据显示在LCD上。用户设定温度时,用户的操作也由AT89S52处理后反馈到显示模块,由LCD显示,便于用户的操作。显示模块部分电路如图2.4所示。图2. 4 LCD部分电路图2.4.3 键盘设计键盘是系统中的输入装置,它主要功能是联系用户与系统,用户通过键盘设定好温度的上、下限,这些数值保存在AT89S52的RAM中。键盘内有6个键,分别是S1、S2、S3、S4、S5和S0:S1键与VCC连接,其作用为电源开关。S2和S3分别是加、减键,负责设置温度,每按一次温度上升或下降1。S4键是设置键,按下后进入温度设置。S5是返回键,进入设置后按下S5返回显示界面。S0为复位键,用于数据复位。键盘部分电路如图2.5所示。图2. 5键盘部分电路图第三章 系统软件的设计3.1 温度控制流程1、设定控制温度的上、下限。2、根据采集到的室内、外温度与设定温度下、下限比较后作以下控制:1) 室外温度高于或等于温度上限或者室内温度高于或等于温度上限时,启动空调关闭风机。2) 室外温度低于温度上限且室内温度低于温度上限、高于或等于温度下限时,启动风机关闭空调。3) 室内温度低于温度下限时,关闭风机和空调。考虑到室内外温度在设定温度上限临界点附近时,会造成频繁在空调和风机之间切换,影响设备寿命,因此要求:温度控制器在每作出一次控制输出改变风机或空调的工作状态后,连续10分钟内不进行室内外温度采样和比较,维持风机与空调的工作状态10分钟后再继续工作。3.2 系统软件结构系统软件结构如图3.1所示。主控模块全面负责其他功能模块的调用,对整体运行状态进行管理,进行过程控制和中断管理等。输入模块:输入模块包括数据采集输入和专用键盘输入两部分:数据采集输入对受控现场进行温度采样,对采样信号进行标度转换,把数值存入AT89D52的RAM中。专用键盘输入由拥护在专用键盘上设定所需要的温度上、下限,把数值存入AT89S52的RAM中。输出模块:输出模块包括现即时温度显示、设定温度显示以及报警输出:即时温度显示负责显示DS18B20采集到的即时温度。设定温度显示则是显示用户在键盘上设定的温度上,下限。报警输出是当没能够检测到温度时,或者是当程序发生异常情况时,系统控制蜂鸣器发出报警信号。执行模块:执行模块包括空调控制部分和风扇控制部分:室外温度高于或等于温度上限或者室内温度高于或等于温度上限时,启动空调关闭风机。室外温度低于温度上限且室内温度低于温度上限、高于或等于温度下限时,启动风机关闭空调。为了提高数据采集的可靠性,采用多次采样和软件滤波等方法,以减小随即干扰引起的误差。主控模块数据输入模块数据输出模块控制执行模块数据采集输入专用键盘输入显示即时温度显示设定温度报警输出通风设备开关空调开关图3. 1系统结构图3.3 数据输入模块数据输入模块是将DS18B20采集到的温度和键盘用户设定温度发送到AT89S52,存储在RAM中。(其相应程序见附录1)3.4 数据输出模块根据设计要求,利用12864的图形点阵液晶显示模块,设计出一套中文显示功能,液晶的显示分两种形式:汉字显示和西文字符显示,汉字显示是1616的点阵,而西文字显示是168的点阵。室内,室外温度和设定温度上、下限都需要中文菜单。LCD显示界面如图3.2所示。1. 室内温度: 202. 室外温度: 223. 下限: 204. 上限: 25图3. 2 LCD显示界面LCD显示界面功能说明:1. 显示室内温度2. 显示室外温度3. 显示用户设定温度下限4. 显示用户设定温度上限3.5 执行控制模块执行控制模块主要是控制通风设备和空调开关,来实现温度控制的一个模块。执行控制模块流程图如图3.3所示。开始数据比对开启风扇关闭空调关闭风扇关闭空调NONONOYESYESYES延时低于温度上限高于温度下限低于温度下限高于温度上限关闭风扇开启空调结束图3.3 执行控制模块流程图第四章 系统调试与测试4.1 硬件安装与调试本系统硬件按功能分成四个模块温度采集模块、温度控制模块、键盘和显示模块,分模块进行调试。硬件首先进行静态调试。在组装和通电之前先对各模块进行明显的硬件故障排除。集成电路器件未插入电路板之前,先用万用表仔细检查线路,查看连线是否正常,防止电源短路,并重点检查系统地址总线,数据总线和控制总线是否存在相互之间的短路或是与其他信号线的短路。在排除所有的错误后,接上电源,并用万用表测量加在各集成电路芯片插座上的电压,极性是否正确,特别要注意单片机插座的各点电位,若电压过高,将会损坏器件。插入集成电路芯片的操作必须在断电情况下进行,特别要注意芯片的方向,不要插反。通电后如果发现某器件太热或者冒烟,必须马上断电,重新检查。为了慎重起见可以分批的插入器件,避免大面积的损坏器件。通电后,可以用万用表查看工作状态。如果发现异常情况,应该重新检查线路情况,等完全符合要求,才算完成了静态调试。静态调试只是对系统的硬件进行初步的调试,只是排除了一些明显的静态故障。系统硬件与用户程序紧密相关,对于用户程序的调试必须在连机后才能进行,在线调试必须要借助一些工具,这里使用的是Cygnal单片机开发工具来开发相应软件,对硬件电路进行诊断、调试,及时的发现和排除故障。4.2 软件调试对于软件程序,采用自下而上的方法,先调试各个功能模块,再调试整个系统。DS18S20芯片和AT89S52单片机芯片全部管脚外留,可以自由扩展,这样就比较灵活了,板载LED发光二极管,方便程序调试,提高了工作效率。当软件和硬件的基本功能分别调试好了以后,进行软硬结合的调试,即使发现和解决问题,对系统软件与硬件进一步优化,使系统软件和硬件更好的结合。4.3 系统调试测试1测试仪器:温度计测试方法:系统安装好后,利用温度计测量温度,与系统所测得温度对比,观察结果是否基本相同。测试结果如表4.1所示。表4.1 系统测试结果LCD显示温度温度计测得温度22.522.623.423.625.025.426.526.8注:单位为测试结果存在少许误差,在允许范围之内,是由于肉眼观察温度计所造成的误差,测试基本合格。测试2测试仪器:空调,通风扇,温度计测试方法:将系统完成好静态调试和软件调试后,把系统与空调、通风扇开关相连,启动系统,设置好温度上、下限,系统开始工作后,观察系统软,硬件是否正常工作,是否正常控制空调与通风扇工作。观察通过温度计观察温度变化,对比室内、室外温度,观察是否达到预期的效果。测试结果如表4.2所示。表4.2 系统测试结果设置温度室内温度室外温度系统运行后所测得温度空调工作情况通风扇工作情况上限下限202518.516.318.5未开启未开启202522.524.622.1未开启正常工作202524.125.321.3正常工作未开启202526.328.121.6正常工作未开启注:单位为当室内外温度都低于设定温度下限时,空调、通风设备都关闭。当室内外温度在设定范围之内时,空调关闭,通风设备开启。当室外温度高于设定温度上限时,空调开启,通风设备关闭。当室内室外温度高于设定温度上限时,空调开启,通风设备关闭。测试结果表明,本系统基本合格,能较好的调节机房的室内温度。测试3测试仪器境:空调,通风扇,电热炉 测试方法:测量室内温度,将温度设定为这个值,快速改变温度,观察空调与通风扇的工作情况,观察系统自我保护功能是否启动。测试结果:经过快速的改变温度,温度控制器在每作出一次控制输出改变风机或空调的工作状态后,连续10分钟内不进行室内外温度采样和比较,维持风机与空调的工作状态10分钟后再继续工作。测试结果合格结论:经过测试1,测试2,测试3的测试,本系统基本能正常的显示温度,在各种环境下都能良好的控制温度,并有一定的自我保护功能。第五章 总结该系统是利用AT89S52单片机、DS18B20数字温度传感器、键盘等电子部件采用C语言编程,实现了自动温度监控,完成了设计要求,现总结如下:1. 采用DS18B20数字温度传感器,不用A/D转换装置,简化了系统。2. 实现了温度采集与显示,显示精确度为0.1。3. 利用键盘来实现人机互动,用户可通过键盘设置温度上、下限。4. 利用AT89S52控制继电器,达到控制空调与通风系统,达到控制温度的目的。该系统能有效地让温度保持在一定范围之内,且有布线简练、精度高、性能稳定、价格便宜等多方面优点,然而它还有很多方面的缺陷和不足:DS18B20数字温度传感器虽然使用简单,性能稳定,但是它在传输距离、传输速度方面还有所不足,无法应付要求远距离和高速度的数据传输。总之,这次毕业设计给了我很大的收获,通过这次设计,我不仅仅学到了很多书本上知识,最重要的是我学会了将书本上的知识运用到工作中去,理论与实践相结合。当然,该系统还有很多的不足,所以我需要更加努力改进,使它更完善,也使我自身更加完善。参考文献1 何立民.单片机应用系统设计系统配置与接口技术M.北京:北京航空航天大学,1990.2 李晓荃.单片机原理与应用M. 北京:电子工业出版社,2000.3 徐爱钧.单片机高级语言 C51 应用程序设计M. 北京:电子工业出版社,2002.4 谢自美.电子线路设计.实验.测试(第二版) M.武汉:华中科技大学出版社,2000. 5 江国强.现代数字逻辑电路.北京:电子工业出版社,2002 .6 张勇.PROTEL 99SE 电路设计技术入门与应用(第一版).北京:电子工业出版社,2002 .7 万福君,潘松峰单片微机原理系统设计与应用M合肥:中国科技大学出版社,20018 康华光,等电子技术基础M北京:高等教育出版社,1999260-2709 王福瑞.单片微机测控系统设计大全M.北京:北京航空航天大学出版社,1998,282-283.10 王大海. 新型温湿度自动控制系统的设计与应用J.电子工程师, 2002,28(3):33-36.11 李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,199812 李广弟.单片机基础M.北京:北京航空航天大学出版社,199413 阎石.数字电子技术基础(第三版). 北京:高等教育出版社,198914 廖常初.现场总线概述J.电工技术,1999.15 颜重光.新型实用传感器应用指南M电子工业出版社1998年4月16 高鹏、安涛.电路设计与制作版PROTEL99M,人民邮电出版社2000年2月 17 武庆生、仇梅.单片机原理与应用M,电子科技大学出版社1998年12月18 Richard c.Dorf.modern conctrol systermM.BEIJING:Science Publishing House,2002.19 Donald A. Neamen. Electronic circuit analysis and designM.Tsinghua University Press and Springer Verlag.2002.20 Keith Jack. Video Demystified: a handbook for the digital engineer,3rd Edition.2001. 致 谢本论文是在刘翔老师的悉心指导和热情关怀下完成的。在我的设计制作期间,刘翔老师给了我很多的帮助,我要特别的感谢刘翔老师,在我遇到难题的时候,刘翔老师总是热情地帮助我,使我顺利的完成了毕业设计。在本科学习的四年中,我与同学建立了深厚的友谊,他们在我遇到困难时无私地伸出援助之手,对他们的帮助我特别感谢。最后,对关心、支持我的亲人和老师致以最衷心的感谢。附 录附录1 数据输入模块程序unsigned char Init_DS18B20(void) unsigned char x=0,i; DQ = 1; delay(8); DQ = 0; delay( 500 ); DQ = 1; delay( 40 ); for ( i = 16; i 1; i- ) x = P35; if( !x ) break; return ( x ); delay( 200 );unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-)DQ = 0; dat=1;DQ = 1; if(DQ)dat|=0x80;delay(4);return(dat);void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1; int ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned int T=0;Init_DS18B20();WriteOneChar(0xCC); WriteOneChar(0x44); Init_DS18B20( );WriteOneChar(0xCC); WriteOneChar(0xBE); a=ReadOneChar();b=ReadOneChar();T=a+b*256;if (T=0xffff) return 0xffff;if (T0x8000) T=-T;return (0x8000+T*5/8);elsereturn (T*5/8);unsigned char Init_1DS18B20(void) unsigned char x=0,i; DQ1 = 1; delay(8); DQ1 = 0; delay( 500 ); DQ1 = 1; delay( 40 ); for ( i = 16; i 1; i- ) x = P34; if( !x ) break; return ( x ); delay( 200 );unsigned char ReadOneChar1(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ1 = 0; dat=1; DQ1 = 1; if(DQ1) dat|=0x80; delay(4); return(dat);void WriteOneChar1(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ1 = 0; DQ1 = dat&0x01; delay(5); DQ1 = 1; dat=1; int ReadTemperature1(void)unsigned char a=0;unsigned char b=0;unsigned int T=0;Init_1DS18B20();WriteOneChar1(0xCC); / 跳过读序号列号的操作WriteOneChar1(0x44); / 启动温度转换Init_1DS18B20( );WriteOneChar1(0xCC); /跳过读序号列号的操作WriteOneChar1(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar1();b=ReadOneChar1();T=a+b*256;if (T=0xffff) return 0xffff;if (T0x8000) T=-T;return (0x8000+T*5/8);elsereturn (T*5/8);#endif /All rights reserved.#include #ifndef _DS18B20_C_#define _DS18B20_C_sbit DQ = P35;/室内单总线sbit DQ1 = P34;/室外单总线/*sbit DQ = P12;sbit speaker = P14;sbit key_led = P20;sbit key1 = P10;sbit key2 = P11;sbit key_int = P32;*/void delay(unsigned int i) while( i- );/室内温度读取unsigned char Init_DS18B20(void) unsigned char x=0,i; DQ = 1; /DQ复位 delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay( 500 ); /精确延时 大于 480us DQ = 1; /拉高总线 delay( 40 ); for ( i = 16; i 1; i- ) x = P35; /稍做延时后,如果x=0则初始化成功;x=1则初始化失败if( !x ) break; return ( x ); delay( 200 );/读一个字节unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-)DQ = 0; / 给脉冲信号dat=1;DQ = 1; / 给脉冲信号if(DQ)dat|=0x80;delay(4);return(dat);/写一个字节void WriteOneChar(unsigned char dat) u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快递站点抵押合同范本
- 钢结构签合同范本
- 染料销售合同范本
- 监理合同范本 酬金
- 开公司 投资 合同范本
- 办公座椅购买合同范本
- 施工企业施工合同范本
- 员工集资合同范本
- 面地板装修合同范本
- 联合中标epc合同范本
- GB/T 9871-2008硫化橡胶或热塑性橡胶老化性能的测定拉伸应力松弛试验
- GB/T 26480-2011阀门的检验和试验
- GB/T 19861-2005丙烯酸系阴离子交换树脂强碱基团、弱碱基团和弱酸基团交换容量测定方法
- GB/T 11085-1989散装液态石油产品损耗
- GB 30000.3-2013化学品分类和标签规范第3部分:易燃气体
- 《材料力学》说课-课件
- (完整版)沪教牛津版小学一至六年级英语单词汇总(最新)
- JJF 1587-2016 数字多用表校准规范-(高清现行)
- 完整课件-西方经济学下册(第二版)
- 机械制图教学通用课件(全套)
- 天星择日的基本原理
评论
0/150
提交评论