基于单片机的温度采集系统设计毕业设计.doc
基于单片机的蔬菜大棚温度采集系统设计摘 要随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。本设计以AT89C51单片机为核心的温度采集系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度显示电路。单片机通过对信号进行相应处理,从而实现温度显示的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、温度信号处理程序、超温报警程序。温室大棚是如今植物栽培生产中必不可少的设施之一,不同种类蔬菜对温度及湿度等生长所需条件的要求也不尽相同,为它们提供一个更适宜其生长的封闭的、良好的生存环境,以提早或延迟花期,最终将会给我们带来巨大的经济效益。关键词:温度采集;AT89C51;DS18B20;Design of the Temperature Acquisition System Based on the SCM in the GreenhouseAbstractWith the rapid development of modern information technology, temperature acquisition system in industry, agriculture and people's daily life plays a more and more important role; it to people's life has a great influence, so the temperature gathering the design of control system and research have very important significance.This design as the core of the AT89C51 temperature control system of the working principle and design method. Temperature signal chipDS18B20collection by the temperature, and the way to digital signal transfer to the microcontroller. The paper introduces the hardware part of the control system, including: temperature detection circuit, temperature control circuit, temperature display circuit. SCM through to signal processed, so as to achieve the purpose of temperature control. This paper has mainly introduced the software design part, here the modularized structure, main module has: digital tube show program, keyboard scanning and key processing program, temperature signal processing program, relay control procedures, super temperature alarming program.Greenhouse canopy is now planting plant production of one of the indispensable facilities, different kinds of vegetables such as temperature and humidity conditions needed for growth of demand is endless also and same, provide them with a more suitable for the growth of the closed, good living environment, and to delay or early flowering, will eventually bring the huge economic benefits.Keywords: temperature acquisition ;AT89C51; DS18B20;目录引 言1第1章 绪论21.1 课题研究背景21.2 国内外研究现状21.3 该课题研究的主要内容3第二章 总体设计方案42.1 系统方案选择42.1.1 温度测量的选择52.1.2 显示电路的选择52.1.3 系统各模块的最终方案52.2 方案的总体设计电路图6第三章 硬件设计73.1 单片机AT89C5173.1.1 简介73.1.2 单片机最小系统103.2 温度传感器DS18B20113.2.1 简介113.2.2 DS18B20温度传感器与单片机的接口电路143.3 LED数码显示模块设计143.3.1 LED简介143.3.2 LED与单片机接口电路153.4 报警器的设计163.5 与上位机通信的接口电路173.5.1 RS232接口介绍183.5.2 MAX232资料简介18第四章 系统软件设计204.1 Keil软件概述204.2 主程序214.3 读出温度子程序214.4 温度转换命令子程序224.5 计算温度子程234.6 显示数据刷新子程序24第5章 调试与仿真255.1 Proteus 简介255.2 调试与仿真25第6章 结论与展望28致谢29参考文献30附录A :电路原理图绘制31附录B:一篇引用的英文文献及翻译32附录C:主要参考文献的题录及摘要40附录D:程序42插图清单图2-1 整体系统框图5图2-2 大棚内部采集系统结构5图2-3总体方案电路图7图3-1单片机AT89C2051引脚9图3-2 单片机最小系统11图3-3 DS18B20内部结构12图3-4 DS18B20 测温原理图14图3-5 DS18B20与单片机的接口电路15图3-6 LED与单片机的接口电路16图3-7蜂鸣器电路图18图3-8 MAX232芯片的引脚连线图20图3-9 与上位机通信的接口电路图20图4-1主程序流程图22图4-2读温度流程图23图4-3 温度转换流程图24图4-4计算温度流程图24图4-5显示数据刷新25图5-1温度低于15 的仿真图27图5-2温度高于15低于45时的仿真图27图5-3温度高于15低于50的仿真图28图5-4 温度高于50的仿真图28表格清单表3-1 DS18B20字节定义12表3-2 DS18B20温度转换时间表12表3-3一部分温度对应值表14引 言蔬菜的生长与温度息息相关,对于蔬菜大棚来说,最重要的一个管理因素是温度控制。温度太低,蔬菜就会被冻死或则停止生长,所以要将温度始终控制在适合蔬菜生长的范围内。如果仅靠人工控制既费时费力, 效率低,又容易发生差错,为此,在现代化的蔬菜大棚管理中通常有温度自动控制系统,来监控采集大棚内各个角落的温度变化情况,以控制蔬菜大棚温度,适应生产需要。要时刻对蔬菜大棚的温度进行测量,就离不开温度传感器。传统的继电器调温电路简单实用 ,但由于继电器动作频繁 ,可能会因触点不良而影响正常工作。控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。而采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。第1章 绪论1.1 课题研究背景中国农业的发展必须走现代化农业这条道路,随着国民经济的迅速增长,农业的研究和应用技术越来越受到重视,特别是温室大棚已经成为高效农业的一个重要组成部分。现代化农业生产中的重要一环就是对农业生产环境的一些重要参数进行检测和控制。例如:空气的温度、湿度、二氧化碳含量、土壤的含水量等。在农业种植问题中,温室环境与生物的生长、发育、能量交换密切相关,进行环境测控是实现温室生产管理自动化、科学化的基本保证,通过对监测数据的分析,结合作物生长发育规律,控制环境条件,使作物达到优质、高产、高效的栽培目的。以蔬菜大棚为代表的现代农业设施在现代化农业生产中发挥着巨大的作用。大棚内的温度、湿度与二氧化碳含量等参数,直接关系到蔬菜和水果的生长。国外的温室设施己经发展到比较完备的程度,并形成了一定的标准,但是价格非常昂贵,缺乏与我国气候特点相适应的测控软件。而当今大多数对大棚温度、湿度、二氧化碳含量的检测与控制都采用人工管理,这样不可避免的有测控精度低、劳动强度大及由于测控不及时等弊端,容易造成不可弥补的损失,结果不但大大增加了成本,浪费了人力资源,而且很难达到预期的效果。因此,为了实现高效农业生产的科学化并提高农业研究的准确性,推动我国农业的发展,必须大力发展农业设施与相应的农业工程,科学合理地调节大棚内温度、湿度以及二氧化碳的含量,使大棚内形成有利于蔬菜、水果生长的环境,是大棚蔬菜和水果早熟、优质、高效益的重要环节。目前,随着蔬菜大棚的迅速增多,人们对其性能要求也越来越高,特别是为了提高生产效率,对大棚的自动化程度要求也越来越高。由于单片机及各种电子器件性价比的迅速提高,使得这种要求变为可能。1.2 国内外研究现状温室是一种可以改变植物生长环境、为植物生长创造最佳条件、避免外界四季变化和恶劣气候对其影响的场所。它以采光覆盖材料作为全部或部分结构材料,可在冬季或其他不适宜露地植物生长的季节栽培植物。温室生产以达到调节产期,促进生长发育,防治病虫害及提高质量、产量等为目的。而温室设施的关键技术是环境控制,该技术的最终目标是提高控制与作业精度。国外对温室环境控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温室控制技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。 从国内外温室控制技术的发展状况来看,温室环境控制技术大致经历三个发展阶段:(1)手动控制。这是在温室技术发展初期所采取的控制手段,其时并没有真正意义上的控制系统及执行机构。生产一线的种植者既是温室环境的传感器,又是对温室作物进行管理的执行机构,他们是温室环境控制的核心。通过对温室内外的气候状况和对作物生长状况的观测,凭借长期积累的经验和直觉推测及判断,手动调节温室内环境。种植者采用手动控制方式,对于作物生长状况的反应是最直接、最迅速且是最有效的,它符合传统农业的生产规律。但这种控制方式的劳动生产率较低,不适合工厂化农业生产的需要,而且对种植者的素质要求较高。(2)自动控制。这种控制系统需要种植者输入温室作物生长所需环境的目标参数,计算机根据传感器的实际测量值与事先设定的目标值进行比较,以决定温室环境因子的控制过程,控制相应机构进行加热、降温和通风等动作。计算机自动控制的温室控制技术实现了生产自动化,适合规模化生产,劳动生产率得到提高。通过改变温室环境设定目标值,可以自动地进行温室内环境气候调节,但是这种控制方式对作物生长状况的改变难以及时做出反应,难以介入作物生长的内在规律。目前我国绝大部分自主开发的大型现代化温室及引进的国外设备都属于这种控制方式。(3)智能化控制。这是在温室自动控制技术和生产实践的基础上,通过总结、收集农业领域知识、技术和各种试验数据构建专家系统,以建立植物生长的数学模型为理论依据,研究开发出的一种适合不同作物生长的温室专家控制系统技术。温室控制技术沿着手动、自动、智能化控制的发展进程,向着越来越先进、功能越来越完备的方向发展。由此可见,温室环境控制朝着基于作物生长模型、温室综合环境因子分析模型和农业专家系统的温室信息自动采集及智能控制趋势发展。1.3 该课题研究的主要内容本设计以AT89C51单片机的温度测量和控制系统为核心来对蔬菜大棚温度进行实时巡检。单片机能独立完成各自功能,同时能根据主控机的指令对温度进行定时采集。测量结果不仅能在本地显示,而且可以利用单片机的串行口和总线通信协议能把温室中的温度参数及时上传至上位机,并与设定值进行比较,与设定值不符时采取相应的处理措施,以实现恒温环境。在设计的过程中充分考虑到性价比和精度,在选用低价格、通用元件的的基础上,尽量满足设计要求,并使系统具有高的精度。本控制系统以单片机的控制为核心,实时监测大棚环境的温度,并设定了这两个参数的上下限定值,并具有相应的报警系统,当超过设定的限定值时,单片机控制报警系统进行报警。当参数值恢复到设定值范围内时,控制又恢复检测状态。从而使环境的温度在一定的范围内得到控制。本设计主要内容包括以下几个方面:1选择适合的传感器,设计相应的信号采集和处理电路。2掌握AT89C51单片机的主要功能和特性,以其为核心设计控制系统。3设计简单的人机对话接口系统,如显示、报警等。4实现单片机与上位机的通信。第二章 总体设计方案2.1 系统方案选择整个系统采用模块化设计,硬件结构由传感器和单片机、LED数码管、蜂鸣器等装置组成,传感器将物理参量转换为电压并完成信号的调理,再送人模数转换器ADC0809 ,由下位单片机AT89C51读取,单片机将数据通过总线送给上位机,上位机设有显示功能,根据预先设置的参数决定要采取的措施,并将信息传给下位机,由键盘强制控制。蔬菜大棚温度采集系统的组成基于两个方面:单栋蔬菜大棚温度采集系统和集约化生产连栋蔬菜大棚温度采集系统。后者建立在前者的基础上,前者适于我国农村个体经营的现状。对于单栋蔬菜大棚温度采集系统,设置了独立的控制和显示等功能,并设置了RS-232 和 RS-485通讯接口,便于和上位机通信,实现集散控制系统,其模式如图下。另外,在设计过程中考虑到农生产的特点,每个系统的各部分接口都作了模块化设计,并增加备用接口和功能,便于大蔬菜棚生产重建和生产场地的变化,也增加了系统的通用性,扩大了适用范围。整个蔬菜大棚温度采集系统框图如下图2-1。图2-1 整体系统框图根据题目要求系统模块分可以划分为:键盘模块,温度测量模块,显示电路模块,报警模块。为实现各模块的功能,分别做了几种不同的方案并进行了论证。温度传感器单片机LED温湿度显示总线蜂鸣器图2-2 大棚内部采集系统结构由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。大棚内部采集系统结构图如下图2-2。2.1.1 温度测量的选择方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。方案二:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二2.1.2 显示电路的选择方案一:使用静态显示,此方法不用另加外界驱动直接与单片技术出口相连,不需要单独的程序来完成显示。但占用I/O口多。方案二:使用动态显示,节省了I/O输出口,但此方法需要加外加外部驱动以此增加输出电流来更好的驱动数码管显示,电路简单,成本稍高,需要特定的编程来完成动态刷新。本设计中使用的是动态显示,因为没有太多的输出口来完成静态显示,故选动态显示。2.1.3 系统各模块的最终方案根据以上分析,结合器件和设备等因素,确定如下方案:1采用AT89C51单片机作为控制器,分别对温度采集、数码管显示、蜂鸣器的控制。2温度测量模块采用数字温度传感器DS18B20。此器件经软件设置可以实现高分辨测量。3显示数码管显示实时温度值。4蜂鸣器对高于或低于上下限的温度进行报警。2.2 方案的总体设计电路图温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89C51,温度传感器采用DS18B20,用4位LED数码管以并口循环点亮来实现温度显示。其中,P1.0至P0.7口连四个数码管的abcdefg,dp口。P2.0至p2.3分别作为四个数码管的片选端P2.4口连温度传感器的串行数据口设计的电路主要有三部分组成:51单片机、LED数码管液晶显示模块、温度采集如下图 2-3。图2-3总体方案电路图第三章 硬件设计3.1 单片机AT89C513.1.1 简介 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 主要特性:·与MCS-51 兼容 ·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源 ·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路。·单片机AT89C2051的引脚图如图3-1 图3-1 单片机AT89C2051引脚管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流,当P1 口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。振荡特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦出:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 3.1.2 单片机最小系统单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XTAL2两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器C1和C2对振荡器频率有微调作用,通常取(30±10)pF石英晶体选择6MHz或12MHz都可以。单片机的RST管脚为主机提供了一个外部复位信号输入口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。单片机的复位方式可由手动复位方式完成。电阻、电容器的参考值R1=10k 、C1=10uF、C2=0.01uF。由时钟电路、复位开关和电源部分组成。如下图3-2。 图3-2 单片机最小系统3.2 温度传感器DS18B203.2.1 简介DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。技术性能描述:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以9或12位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作DS18B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如图3-3所示。C64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd I/O 图3-3 DS18B20内部结构64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图3-3所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如表3-1所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和0决定温度转换的精度位数,来设置分辨率。如下表3-1:表3-1DS18B20字节定义温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC 由表3-1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表是一部分温度值对应的二进制温度数据。如下表3-2表3-2 DS18B20温度转换时间表R1R0分辨率/位温度最大转向时间00993.750110187.5101137511 12750DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。DS18B20 的测温原理如图3-4 所示. 图中低温度系数晶振的振荡频率受温度的影响很小,用于产生的信号作为减法计数器1;高温度系数晶振随温度变化其振荡频率明显变,所以产生的信号作为减法计数器2 的脉冲输入。图中还隐含着计数门,当计数门打开时,DS18B20 对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器决定,每次测量前,首先将-55所对应的一个基数分别置入减法计数器1、温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。图3-4 DS18B20 测温原理图 减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。如下表3-3:另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。表3-3一部分温度对应值表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H3.2.2 DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图3-5 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。图3-5 DS18B20与单片机的接口电路3.3 LED数码显示模块设计3.3.1 LED简介LED数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等.,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD码二-十进位驱动器进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5×8=40根I/O埠来驱动,要知道一个89S51单片机可用的I/O口才32个呢。故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。 动态显示驱动:数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp "的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字形,没有选通的数码管就不会亮。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O总线,而且功耗更低。3.3.2 LED与单片机接口电路LED液晶显示电路采用4位七段共阳LED数码管构成,通过编程实现逐个点亮各个数码管,电