毕业设计论文温度测量与语音播报系统设计.doc
编号: 本科毕业设计(论文)题目:(中文)温度测量与语音播报系统设计 (英文)Temperature measurement and voice broadcast system分 院 理工分院 专 业 电气工程与自动化 班 级 06自动化(1)班 学 号 姓名 指导教师 职称副教授 完成日期 2010年5月15日 宁波大学科学技术学院本科毕业设计(论文)诚 信 承 诺我谨在此承诺:本人所写的毕业论文温度测量与语音播报系统设计均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名): 顾开凯 2010年4月15日摘要【摘要】温度测量技术在工农业生产和科学研究中应用广泛。本文设计了一个基于51单片机的温度测量和语音播报系统。该系统利用数字式温度传感器DS18B20测量环境温度,将测量到的温度值显示,并通过APR9600语音芯片将温度值播报。该系统温度测量准确,系统结构简单、且抗干扰能力强。【关键词】单片机;温度测量;语音播报;DS18B20;APR9600; Temperature measurement and voice broadcast systemAbstract【ABSTRACT】Temperature measurement in industrial and agricultural production and is widely used in scientific research. This article is designed based on 51 single-chip temperature measurement and voice broadcast system. The system uses digital temperature sensor measuring ambient temperature DS18B20, The measured temperature display, by APR9600 broadcast voice chip temperature. The system temperature measurement accuracy, the system is simple, and anti-jamming capability.【KEYWORDS】SCM; temperature measurement; voice broadcast; DS18B20; APR9600目录摘要IIAbstractIII目录IV1绪论11.1引言11.2温度测量技术现状及发展趋势11.2.1温度测量技术现状11.2.2温度测量技术的发展趋势21.3温度传感器的发展史31.4单片机41.4.1单片机的发展史41.4.2单片机的特点51.4.3单片机的应用51.5小结62方案论证72.1温度传传感器部分72.1.1方案一:采用模拟输出温度传感器72.1.2方案二:采用逻辑输出温度传感器72.1.3方案三:采用二极管传感器72.1.4方案四:采用数字式温度传感器DS18B2072.2主控部分82.2.1方案一:采用PC机82.2.2方案二:采用DSP或ARM芯片82.2.3方案三:采用51单片机82.3语音芯片部分102.3.1方案一:采用OTP语音芯片102.3.2方案二:采用WT588语音芯片102.3.3方案三:采用APR9600语音芯片102.4小结103硬件电路设计113.1系统框图113.2单片机的时钟电路和复位电路设计113.3DS18B20温度测量电路设计123.3.1单总线123.3.2DS18B20的单总线命令123.3.3DS18B20的概述143.3.4DS18B20的内部结构153.3.5DS18B20的测温原理183.3.6DS18B20与单片机的接口设计193.4APR9600语音录放电路设计203.4.1APR9600语音芯片的介绍203.4.2APR9600录音电路213.4.3由单片机控制的放音电路223.5LED数码显示电路223.6系统整体电路233.7小结234软件设计244.1主程序流程图244.2DS18B20温度测量程序244.2.1DS18B20的时序244.2.2DS18B20的复位程序254.2.3DS18B20启动温度转换程序254.2.4DS18B20读温度程序264.3数码管显示程序264.4语音播报程序274.5小结285数据测试及分析295.1温度数据测量295.2语音模块测试305.3小结306设计总结317参考文献32致谢33附录一:程序34附录二:硬件电路40391 绪论1.1 引言温度是一个基本物理量。温度的宏观概念是冷热程度的表示,或者说,互为热平衡的两物体,其温度相等。温度的微观概念是大量分子运动平均强度的表示。分子运动愈激烈其温度表现越高。自然界中几乎所有的物理化学过程都与温度紧密相关,因此温度是工农业生产,科学试验以及日常生活中需要普遍进行测量和控制的一个重要物理量。温度测量是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用。因此,能够确保快速、准确地测量温度的技术及其装置普遍受到各国的重视。近年来,利用数字式温度传感器以实现温度信息的在线检测已成为温度检测技术的一种发展趋势10。随着电子技术的发展,将组成CPU的部件集成在一块半导体芯片上,这个具有CPU功能的大规模集成电路芯片就称之为微处理器。把微处理器部件像其他集成电路一样嵌入到电子系统中,使电子系统具有可编程序的智能化特点,开辟了计算机技术在电子技术领域应用的广阔大地。将微处理器、存储器、I/O电路集成到一块半导体芯片的技术再次推动了这种嵌入式技术的发展,单片机是这种设计技术中的一个典型代表。单片机适用于测量和控制领域,它以芯片形式嵌入到电子产品或系统中起到“电脑”作用。本设计主要采用单片机AT89S52为控制核心,通过DS18B20数字式温度传感器实现温度测量,温度显示在数码管上,并控制语音芯片实现温度的播报。1.2 温度测量技术现状及发展趋势1.2.1 温度测量技术现状随着国内外工业的日益发展,温度检测技术也有了不断的进步,目前的温度检测使用的温度计种类繁多,应用范围也较广泛。按照所用方法之不同,温度测量分为接触式和非接触式两大类9。一:接触式温度测量技术接触式测温法的特点是测温元件直接与被测对象相接触,两者之间进行充分的热交换,最后达到热平衡,这时感温元件的某一物理参数的量值就代表了被测对象的温度值。(1)利用物体热胀冷缩原理制成的温度计。膨胀式测温是一种比较传统的温度测量方法,它主要利用物质的热胀冷缩原理即根据物体体积或几何形变与温度的关系进行温度测量。膨胀式温度计结构简单,价格低廉,可直接读数,使用方便,并且由于是非电量测量方式,适用于防爆场合。但准确度比较低,不易实现自动化,而且容易损坏。膨胀式温度计主要包括玻璃液体温度计、双金属膨胀式温度计和压力式温度计。(2)利用热电效应技术制成的热电式温度计,此技术制成的温度检测元件主要是热电偶。热电偶的原理是两种不同材料的金属焊接在一起,当参考端和测量端有温差时,就会产生热电势,根据该热电势与温度值关系就可以测量温度。热电偶发展较早,比较成熟,至今仍为应用最广泛检测元件之一。(3) 利用热阻效应技术制成的热电阻温度计。热电阻是根据材料的电阻和温度的关系来进行测量的,导体的电阻值随温度的变化而变化,通过测量其电阻值推算出被测量物体的温度,主要用于-200-500温度范围内的温度测量。(4) 利用石英晶体测温。石英温度传感器是以石英晶体的固有频率随温度而变化的特性来测量温度的。石英晶体温度传感器稳定性很好,可用于高精度和高分辨率的测量场合。 (5) 集成芯片式测温。随着电子技术的发展,可以将感温元件和相关电子线路集成在一个小芯片上,构成一个小型化、一体化及多功能化的专用集成电路芯片,输出信号可以是电压、频率,或者是总线数字信号,使用非常方便,适用于便携式设备。二:非接触式温度测量技术非接触式测温方法不需要与被测对象接触,因而不会干扰被测温度场的状态,测量仪器本身也不会受温度场的损伤,动态响应特性一般也很好,但是会受到测量介质物性参数的影响。非接触式温度计又可分为全辐射高温计、亮度式高温计和比色式高温计,由于它们都是以光辐射为基础,故也称为辐射温度计。1.2.2 温度测量技术的发展趋势随着工业生产效率的不断提高,自动化水平与范围也不断扩大,因而对温度测量技术的要求也越来越高,对于温度测量技术的发展趋势可以归纳以下几方面11。(1) 数字化:传统温度传感器输出的都是电压、电阻等模拟量,测量精度低。传感器与电子技术相结合,可以实现模拟量转换为数字量输出,其最大优点是直观、分辨率高、测量误差小。 (2) 智能化:传统温度传感器的概念已从单纯的测量温度用的敏感元件发展为以温度传感器为基础的测量系统,在集成化的基础上,具有信号测量、处理、存储、误差与自诊断能力,扩大了应用范围,增强抗干扰能力,便于与计算机通讯。(3) 高精度化:由于自动化程度的不断提高,对测量灵敏度高、精度高、响应速度快的温度传感器需求较多。(4) 扩大测量范围:现在工业上通用的温度检测范围为-20030000,而今后温度计要求能测量超高温与超低温,尤其是极低温度的检测。(5) 扩大测温对象:温度检测技术将会由点测温发展到点、线、面,甚至立体的测量。应用范围己经从工业领域延伸到环境保护、家用电器、汽车工业及航天工业等领域。1.3 温度传感器的发展史温度传感器使用范围广,种类多,大致经历了以下3个阶段8:(1)分立式温度传感器主要是能够进行非电量和电量之间转换。传统的分立式温度传感器热电偶传感器。热电偶传感器是工业测量中应用广泛的一种温度传感器,它与被测对象直接接触,不受中间介质的影响,具有较高的精度,测量范围广,可从-501600进行连续测量。 (2)模拟集成温度传感器模拟集成温度传感器是采用硅半导体集成工艺制成的,它将温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出等功能。模拟集成温度传感器的主要特点是功能单一、测温误差小、价格低、响应速度快、体积小、功耗低等。(3)数字温度传感器数字温度传感器是微电子技术、计算机技术和自动检测技术的结晶,目前已开发出多种数字温度传感器系列产品。数字温度传感器内部包含温度传感器、A/D传感器、信号处理器、存储器和接口电路,有的产品还带多路选择器、中央控制器、随机存储器和只读存储器。数字温度传感器能输出温度数据及相关的温度控制量,适配于各种微控制器,并且可通过软件来实现测试功能,其智能化取决于软件的开发水平。社会的发展使人们对传感器的要求也越来越高,现在的温度传感器正在基于单片机的基础上从模拟式向数字式,从集成化向智能化、网络化,并朝着高精度、多功能、总线标准化、高可靠性及安全性等方向迅速发展。1.4 单片机1.4.1 单片机的发展史计算机的发展经历了从电子管到大规模集成电路等几个发展阶段,随着大规模集成电路技术的发展,使计算机向性能可靠化、微型化、廉价化方向发展,从而出现了单片机。单片机可以定义为:一种把微处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出(I/O)接口电路、定时器/计数器、串行通信接口及中断系统等部件集成在同一块芯片上的,具有完整功能的微型计算机。虽然单片机只有一块芯片,但从其组成和功能上来说,已具有了微型计算机系统的特性。若给单片机配上适当的外围设备和软件,便可构成一个单片机的应用系统。随着单片机位数的提高,功能的增强,由其构成的计算机应用系统的功能也日益增强,它一样可以配用显示器、打印机、绘图仪等外围设备,一样可以联网,从而使单片机应用系统的应用范围更加广泛,它不仅可用于家用电器中,还适用于信息与通信系统、实时控制、智能仪表、自动机床控制等领域。1974年12月,美国著名的仙童公司推出了世界上第一台单片机F8。该机由两块集成电路芯片组成,结构新颖,并具有与众不同的指令系统,深受民用电器和仪器仪表领域的欢迎和重视。从此单片机开始迅速发展,应用范围也在不断扩大,现已成为微型计算机的重要分支。单片机的发展大致经历了外围集成、总线完善、功能集成、全方位发展等技术发展阶段,至今已走过了四个阶段7。1第一阶段(19741976)单片机的初级阶段,以仙童公司的F8为代表。该时期生产的单片机的点是:字长为4位,内部结构简单,制造工艺落后,集成度低。2第二阶段(19761980)单片机的技术成熟阶段。8位单片机已经出现,以Intel公司的MCS48为代表。该系列的单片机在片内已经集成了8位CPU、并行I/O接口、8位定时器/计数器、RAM和ROM等功能部件,但无串行I/O接口,寻址范围不大于4KB。它性能低、品种少,应用范围也不广。3第三阶段(19801983)单片机的推广阶段,8位单片机技术走向成熟。其技术特点是完善了外部总线,确立了单片机的基本控制功能,以Intel公司的MCS5l为代表。该阶段的单片机均带有串行I/O口,且具有多级中断处理系统。定时器/计数器为16位,片内的RAM和ROM容量相对较大,寻址范围可达64KB。这一代单片机结束了计算机单片集成的简单形式,真正开创了单片机作为微控制器的发展道路。4第四阶段(1983至今)这是8位高性能单片机和16位单片机并行发展的阶段。16位单片机除了CPU为16位以外,片内的RAM和ROM容量进一步增大。以Intel公司的MCS96系列为代表,且片内集成有高速I/O部件、多通道10位A/D转换器等,网络通信能力也大大提高,且可用于高速的控制系统。当前,单片机正朝着高性能和多品种方向发展。将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方向发展。1.4.2 单片机的特点单片机有以下几个特点:(1)集成度高、体积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性与抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。(2)控制功能强。为了满足工业控制要求,一般单片机的指令系统中有极丰富的转移指令、I/O口的逻辑操作以及位处理功能,其逻辑控制功能及运行速度均高于同一档次微型计算机。(3)低功耗、低电压,便于生产便携式产品。单片机大量应用于携带式产品和家用消费类产品,低电压和低功耗的特性尤为重要。许多单片机已可在2.2 V 的电压下运行,有的已能在1.2 V或0.9 V下工作。 (4)单片机规格的系列化。属于同一个产品系列、不同型号的单片机,通常具有相同的内核、相同或兼容的指令系统。其主要的差别仅在片内配置了一些不同或不同数量的功能部件,以适用不同的被控对象。(5)单片机的硬件功能具有广泛的通用性。同一种单片机可以在不同的控制系统中,只是其中所配置的软件不同而已。也就是说,给单片机固化上不同的软件,便可形成用途不同的专用智能芯片。1.4.3 单片机的应用单片机的应用范围很广,可以说覆盖了所有领域。其主要在智能仪器和控制中的应用。(1)单片机在智能仪表中的应用单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性价比。 (2)单片机在机电一体化中的应用机电一体化是机械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。(3)单片机在实时控制中的应用单片机广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。(4)单片机在分布式系统中的应用 在比较复杂的系统中,常采用分布式系统。分布式系统一般由若干个功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。(5)单片机在人类生活中的应用自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。单片机将使人类生活更加方便、舒适、丰富多彩。综合所述,单片机已成为计算机发展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于:从根本上改变了传统的控制系统设计思想和设计方法,以前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。1.5 小结本章节主要介绍了温度测量技术的现状及发展趋势,传感器的发展和单片机的应用。温度测量技术可以分为接触式测量和非接触式测量,两种方式各有优点,可以用在不同的场合下使用。温度传感器发展经历了三个阶段,并朝着高精度、多功能、总线标准化、高可靠性及安全性等方向迅速发展。单片机以集成度高、体积小、控制功能强等优点被广泛使用,如在智能仪表、机电一体化、分布式系统中的应用。2 方案论证 温度测量与语音播报系统的设计主要是在温度传感器的选择、语音芯片的选择和主控单元的设计。2.1 温度传传感器部分2.1.1 方案一:采用模拟输出温度传感器若采用模拟温度温度传感器,比如AD590,LM35等,模拟温度传感器采集温度信号,则需要设计信号调理电路、A/D 转换电路及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理,这样电路就相对复杂,还要考虑模拟电路的抗干扰问题。 2.1.2 方案二:采用逻辑输出温度传感器在某些场合,不需要严格测量温度值,只关心温度是否超出了一个设定范围,一旦温度超出了所规定的范围,则发出报警信号,启动或关闭设备,此时可以选择逻辑输出式温度传感器,如LM56。在本设计中,需要测量具体的环境温度值,要得到具体温度的数字量,所以不能使用此类传感器。2.1.3 方案三:采用二极管传感器半导体材料和器件的许多性能参数,如电阻率,PN结的反向漏电流和正向电压等,都与温度有着密切的关系。一般电路中,温度会影响电路的稳定工作,所以尽量克服和避免。但半导体温度传感器恰好利用半导体器件的某些性能参数与温度的关系,实现了对温度的检测、控制和补偿。二极管温度传感器就是利用二极管的PN结的结电压随温度变化的原理工作的。这类传感器具有较好的线性度、尺寸小、响应快、灵敏度高,主要用在计算机和移动设备内。但价格就相对比较高,用单片机控制起来也不方便。2.1.4 方案四:采用数字式温度传感器DS18B20采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号,便于单片机处理及控制,节省硬件电路。DS18B20可以通过数据线供电,也可以通过外部电源供电,工作电压范围为3.05.5V,适用于几乎所有的单片机。DS18B20的最大特点之一就是采用了单总线的数据传输方式,用一个线就能实现从机和主机之间的数据交换,操作较为方便。且可以将多个DS18B20并联在一条总线上,这样实现了多点温度的测量。综上所述,为了使电路尽量简单,控制尽量方便,测量出的温度值尽量准确,本设计温度传感器采用DS18B20。2.2 主控部分2.2.1 方案一:采用PC机PC机可在线编程、可在线仿真,这让调试变得方便。CUP的计算速度比单片机快,而且有良好的人机交互界面,但是PC机输出信号不能直接与DS18B20通信,需要通过RS232电平转换兼容,需要的硬件多,较为繁琐,很不简便。而且在一些环境比较恶劣的场合,PC机的体积大、价格贵、携带安装不方便、性能不稳定,给工程带来很多麻烦。2.2.2 方案二:采用DSP或ARM芯片单片机叫MCU,微控制器,ARM叫嵌入式微处理器,DSP叫数字信号处理器,是专为高速度的海量离散数字信号处理而发展的芯片。他们的发展需求不同导致了他们的内部系统资源和结构的不同。比如,51单片机是8位的,晶振最多24M,ROM有4K,可用RAM少于128字节,软件主要通过自己来编写;对于信号的处理,如对信号做FFT,则选择DSP;ARM是32位的,主频一般在几百M,内存一般是以G为单位,现在的趋势是用于商业上的开发ARM+LINUX。51单片机,ARM,DSP都是嵌入式系统的核心芯片的选择,要根据控制对象来选择芯片。其中要考虑项目的规模,效率的要求,当然最主要的还是设计成本,DSP和ARM价格相对比较高。本设计中,主控芯片只需控制温度传感器和语音芯片,电路规模比较小,不需要大量的信号进行处理,程序也较为简单,如使用DSP或ARM做主控芯片会大大增加成本和电路的复杂度。2.2.3 方案三:采用51单片机本设计主控部分采用AT89S52八位单片机,它兼容标准8051指令系统及引脚,可烧写,可擦处,可在线编程。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。Atmel公司的AT89S52单片机,基本结构如下16:(1) 一个8位算术逻辑单元(CPU)。(2) 4组,共32个I/O口,每个引脚有专用指令,可以单独进行读/写操作。(3) 三个16位定时/计数器。(4) 全双工串行通信口。(5) 6个中断源,两级中断结构。(6) 256字节内置RAM。(7) 8K在线可编程Flash存储器。AT89S52单片机的引脚排列如图2-1。芯片共有40个引脚,各引脚功能如下:1、 主电源引脚(2根)VCC(40脚):电源输入,接+5V电源GND(20脚):接地线2、 外部晶振引脚(2根)XTAL1(19脚):片内震荡电路的输入端XTAL2(20脚):片内震荡电路的输出端3、 控制引脚(4根)RST/VPP(9脚):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(30脚):地址锁存允许信号。PSEN(29脚):外部存储器读选通信号。EA/VPP(31脚):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。4、 可编程输入/输出引脚(32根)AT89S52单片机有4组8位的可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。每一根引脚都可以编程,比如用来控制电机、交通灯、霓虹灯等,开发产品时就是利用这些可编程引脚来实现我们想要的功能。本设计需要用到15个I/O口:1根用来控制温度传感器,8根用来控制LED数码管的段选,3根用来控制位选,还有3根来语音芯片。图2-1 AT89S52单片机的引脚排列2.3 语音芯片部分2.3.1 方案一:采用OTP语音芯片OTP是指一次性可编程语音芯片,语音只能烧写一次,不能擦除,适合应用在不需要修改语音、语音长度短的场合。OTP语音芯片的特点是单芯片方案、价格便宜,适合中小型批量生产。主要应用在中低端玩具、电子琴、电动车等产品上。2.3.2 方案二:采用WT588语音芯片WT588系类语音芯片是广州创维科技有限公司和台湾华邦共同研发出来的集单片机与语音电路与一体的可编程语音芯片,它有多种控制模式,包括按键控制模式,并口控制模式和串口控制模式。WT588缺点是不能现场录音,只能通过与电脑连接擦除和改写语音内容,本设计中需要通过外部现场采集语音信息,所以不予采用。2.3.3 方案三:采用APR9600语音芯片APR9600是继美国ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕掉电、可反复录放的新型语音芯片,单片电路可录放60秒,串行控制时可分256段以上,并行控制时最大可分8段。它较ISD系列语音芯片易于控制且价格也较便宜,电路更为简单,能实现现场录音和可擦除语音,所以采用ARR9600作为语音播报的芯片。2.4 小结本章中确定了系统的设计总方案,包括温度传感器,主控部分和语音部分的方案论证。传感器部分采用数字式温度传感器DS18B20,它是以单总线方式来传送数据的,控制方便且电路简单。主控部分采用AT89S52单片机,不需要处理大量的数据,从成本上考虑采用单片机控制。语音部分采用ARP9600语音芯片,它的特点只需外围连接若干个电容和电阻就能组成一个语音录放电路,并能现场录音。3 硬件电路设计3.1 系统框图系统的主要功能包括:现场温度的采集,实时显示温度信息,实时语音播放。硬件设计主要包括主控模块,温度测量模块,显示模块和语音播报模块。系统框图如图3-1所示。图3-1系统框图3.2 单片机的时钟电路和复位电路设计单片机工作的时间基准是有时钟电路提供的。在单片机的XTAL1和XTAL2两个管脚,接一个晶振及两只电容就构成了单片机的时钟电路。电路中,电容器C1和C2对振荡频率有微调作用,通常的取值范围为(2040)PF。石英晶体选择6MHz或12MHz都可以,结果只是机器周期时间不同,影响计数器的计数初值。本设计时钟电路晶振用12M,电容用两个20P的。单片机的RST管脚为主机提供一个外部复位信号输入端口,复位信号是高电平有效,高电平有效的持续时间应为2个机器周期以上,复位以后,单片机内各部件恢复到初始状态。电阻电容的参考值R=10KW,C=10mA,RET按键选择轻触开关。电路如图3-2所示。图3-2 时钟电路和复位电路3.3 DS18B20温度测量电路设计3.3.1 单总线目前常用的微机与外设之间进行数据传输的串行总线主要有I2C总线、SPI总线和SCI总线。其中I2C总线以同步串行2线方式进行通信(一条时钟线,一条数据线),SPI总线则以同步串行3线方式进行通信(一条时钟线,一条数据输入线,一条数据输出线),而SCI总线是以异步方式进行通信(一条数据输入线,一条数据输出线)的。这些总线至少需要两条或两条以上的信号线。单总线(1-Wire)是Dallas公司的一项专有技术,与目前多数标准串行数据通信方式不同,它采用单根信号线,即传输时钟,又传输数据,而且数据传输是双向的。它具有节省I/O口资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。单总线采用简单的通信协议,通过一条公共数据线实现主控制器与一个或多个从机之间的半双工、双向通信。3.3.2 DS18B20的单总线命令根据DS18B20的通讯协议,单片机控制DS18B20完成温度转换必须经过三个步骤:第一步:主机先发一个复位脉冲,使总线上的所有DS18B20都被复位。第二步:发送ROM操作指令,使序列号编码匹配的DS18B20被激活,准备接受下面的RAM访问指令。第三步:RAM访问指令控制选中的DS18B20工作状态,完成整个温度转换,读取等工作。在ROM命令发送之前,RAM命令不起作用。一:初始化基于单总线上的所有传输过程是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道总线上有从机设备,且准备就绪。二:ROM命令15在主机检测到应答脉冲后,就可以发出ROM命令,这些命令与各个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。这些命令还允许主机能够检测到总线上有多少个从机设备以及其设备类型,或者有没有设备处于报警状态。从机设备可能支持5种ROM命令,每种命令长度为8位。主机在发出功能命令之前,必须送出合适的ROM命令。DS18B20有5条ROM命令:(1)搜索ROMF0h。当系统初始上电时,主机必须找出总线上所有从机设备的ROM代码,这样主机就能够判断出从机的数目和类型。主机通过重复执行搜索ROM循环以找出总线上所有的从机设备。如果总线只有一个从机设备,则可以采用读ROM命令来替代搜索ROM命令。在每次执行完搜索ROM循环后,主机必须返回至命令序列的第一步进行初始化。(2)读ROM33h。该命令仅使适用于总线上只有一个从机设备。它允许主机直接读出从机的64位ROM代码,而无须执行搜索ROM过程。如果该命令用于多个节点系统,则必然发生数据冲突,因为每个从机设备都会响应该命令。(3)匹配ROM55h。匹配ROM命令跟随64位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备。当从机完全匹配64位ROM代码时,才会响应主机随后发出的功能命令。其它设备将处于等待复位脉冲状态。(4)跳跃ROMCCh。主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何ROM代码信息。例如, 主机通过在发出跳越ROM命令后跟随转换温度命令44h,就可以同时命令总线上所有的DS18B20 开始转换温度,这样大大节省了主机的时间。值得注意,如果跳越ROM命令跟随的是读暂存器BEh的命令(包括其它读操作命令),则该命令只能应用于单节点系统,否则将由于多个节点都响应该命令而引起数据冲突。(5)报警搜索ECh。除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM命令。该命令允许主机设备判断那些从机设备发生了报警,如测量温度过高或过低等。同搜索ROM命令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步进行初始化。 三:RAM操作命令DS18B20有6条操作指令:(1)写RAM命令(4EH)。写入开始地址位TH,随后是TL和配置字节,所有写入操作必须在DS18B20复位之前完成。(2)读RAM命令(BEH)。该命令从字节0开始,一直读完所有字节。(3)复制暂存器命令(48H)。将暂存器内容复制到片内E2PROM中。(4)启动温度转换命令(44H)。启动总线上的DS18B20进行温度转换。(5)读E2PROM命令(B8H)。将E2PROM内的数据回读RAM。(6)读供电模式命令(B4H)。若是寄生电源,返回0;若是外部电源,返回1。3.3.3 DS18B20的概述DS18B20是美国DALLAS半导体公司推出的一款智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.7750ms内完成912位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根线读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无须额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。它在测温精度、转换时间、传输距离、分辨率等方面都给用户的使用带来了方便,效果也令人满意15。单总线数字温度传感器DS18B20的特点如下:(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通信。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围:+3.0+5.5V。(4)测温范围-55125。测温分辨率为0.5。(5)通过编程可实现912位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。DS18B20的外形及管脚排列如图3-3所示。图3-3 DS18B20的外形及管脚排列DS18B20的引脚定义:(1) DQ为数字信号输入/输出端。(2) GND为电源地。(3) VDD为外接供电电源输入端(在寄生电源接线方式时接地)。3.3.4 DS18B20的内部结构DS18B20内部结构主要由64位ROM、温度灵敏元件、内部存储器和配置寄存器四部分组成,如图3-4所示。图3-4 DS18B20 内部结构(1)64位ROM64位光刻ROM结构如下:8位CRC校验码48位序列号8位产品代码64位ROM的内容是64位序列号,是出厂前被光刻好的,它可以被看做是该DS18B20的地址序列码,其作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。这一点很像每一个网卡芯片都有一个各不相同的MAC地址。这64位ROM的排列是:开始8位是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。(2)温度灵敏元件温度灵敏元件完成对温度的测量,测量后的结果存储在两个字节的温度寄存器中,温度存储器高位的前5位是符号位,当温度大于零时,这5位为0,而当温度小于零时,这5位为1。高位剩下的3位和低位的前4位是温度的整数位,低位的后4位是温度的小数位,当温度大于零时它们以原码的形式存储,而当温度小于零时以二进制的补码形式存储。当转换位数为12位时,温度的精度为0.0625,当转换位数为11位时,温度的精度为0.125,依此类推。DS18B20的装换精度为812位可选,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为