通信工程毕业设计(论文)单片机自动温控器的设计.doc
-
资源ID:3994419
资源大小:897.50KB
全文页数:68页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
通信工程毕业设计(论文)单片机自动温控器的设计.doc
本科毕业设计(论文)单片机自动温控器的设计2009年 6月 本科毕业设计(论文)单片机自动温控器的设计学院(系):里仁学院 专 业:通信工程 学生 姓名:王 学 号: 指导 教师: 答辩 日期: 毕业设计(论文)任务书学院:里仁学院 系级教学单位:电子工程系 学号0学生姓名专 业班 级05通信工程1班题目题目名称单片机自动温控器的设计题目性质1.理工类:工程设计 ( );工程技术实验研究型();理论研究型( );计算机软件型( );综合型( )2.管理类( );3.外语类( );4.艺术类( )题目类型1.毕业设计() 2.论文( )题目来源科研课题( ) 生产实际( )自选题目() 主要内容以单片机为核心,设计自动温控器,实现温度检测、报警,并且控制相应设计进行加热,降温。基本要求1、独立完成系统软硬件设计,并搭电路验证。2、独立完成控制软件的编写、调试。参考资料传感器与传感器技术何道清编著 科学出版社 2004MCS-51单片机应用设计 张毅刚等编 哈尔滨工业大学出版社 1992.4单片机原理及系统设计胡汉才编著 清华大学出版社 2002周 次第14周第58周第912周第1316周第1718周应完成的内容收集资料,熟悉课题内容,设计思路电路设计,程序设计程序设计,搭电路程序设计,搭电路论文书写,课题总结答辩指导教师:李刚职称:讲师 2009年2月20日系级教学单位审批: 年 月 日摘要在现代的各种工业生产中很多地方都需要用到温度控制系统。因为智能化的控制系统操作简单、功能强大、测量精度高、抗干扰能力强等优点,所以它将会在我们今后的生活中扮演重要的角色。本文首先介绍了温度传感器的背景、研究现状、发展趋势;然后介绍了AT89S52单片机和温度传感器DS18B20的相关的基础知识和技术问题;其次根据题目要求设计了硬件电路图。它主要由四部分组成:单片机,数码管,继电器,温度传感器组成。根据要求该控制器可以设定温度范围,当被测温度超出设定范围后控制器可以发出报警并对环境进行加热或制冷的处理。最后根据各部分元件的工作流程画出整体的软件流程图。关键词可调温度控制;DS18B20;数码管;继电器AbstractIn modern industrial production are needed in many places the temperature control system. Because the intelligent control system is simple, powerful, high measurement accuracy, the advantages of anti-interference ability, it will be in our future life, to play an important role. This paper first introduces the background of a temperature sensor to study the status quo and development trend; followed AT89S52 introduced single-chip and temperature sensor DS18B20 the basis of the relevant knowledge and technical problems; again under the title of the hardware circuit design. It is mainly composed of four parts: microprocessor, digital control, relay, temperature sensor. In accordance with the requirements of the controller can set the temperature range, when the measured temperature exceeded the set range of the controller may issue a warning after the environment and the handling of heating or cooling. Finally, according to the various parts of the workflow components of the software flow chart of the overall draw.KeywordsAdjustable temperature control;the DS18B20; Digital tube;Relay目 录摘要IAbstractII第1章 绪论11.1 课题背景11.1.1 传感器的发展21.2 温度控制器的发展现状和发展趋势31.2.1 温度控制器的发展状况31.2.2 温度控制器的发展趋势31.3 本文研究内容4第2章 芯片及元件介绍52.1 AT89S52单片机的基本结构52.1.1 AT89S52单片机的主要特征52.1.2 AT89S52单片机的存储器和I/O接口电路62.1.3 AT89S52单片机的引脚功能92.2 高精度的单线数字温度传感器DS18B20112.2.1 DS18B20的性能特点122.2.2 DS18B20的结构132.2.3 DS18B20的测温原理132.2.4 DS18B20的命令格式152.2.5 1-Wire总线信号时序172.3 本章小结18第3章 系统硬件设计193.1 方案设计193.2 控制与报警模块193.2.1 原理及性质介绍193.2.2 选择方法203.3 定时与复位模块223.3.1 时钟电路223.3.2 复位电路233.4 按键与温度显示模块243.4.1 输入设备243.4.2 温度显示253.5 本章小结28第4章 系统软件设计294.1 软件实现功能294.2 温度保持304.3 盘扫描流程图304.4 数据采集流程图314.5 总流程图324.6 本章小结32结论33参考文献34致谢36附录137附录242附录346附录460第1章 绪论1.1 课题背景温度是科学技术中最基本的物理量之一,物理化学生物等学科都离不开温度。随着现代工农业技术的发展及生活环境质量的提高,温度的监测与控制已成为生产和生活中必不可少的手段。例如大规模机械化生产车间,温度太高会导致控制系统元件寿命降低,并导致故障增多,严重的话会导致机械的电路板产生粘结,导致短路。在农业上,先进的工厂式育苗和种植、食用菌的培养与生产及水果的保险等;高质量的室内生活环境,需要保持一定的温度,不能过高也不能过低;这些都需要对温度进行检测和控制。1人类早300多年前利用了物质的热胀冷缩性质已经发明了煤油温度计、酒精温度计、水银温度计、等液体温度计。水银温度计至今仍然是各种温度测量的计量标准。可是它的缺点是只能近距离观测,而且水银有毒,玻璃管易碎。代替水银的有酒精温度计和金属弹簧片温度计,它们虽然没有毒性,但是测量精度很低,只能作为粗略的测量,只在居民住宅中满足要求。在工业生产和实验研究中为了提高测量精度,出现了很多种温度的检测方法,常用的有电阻式、热电偶式、PN结型、光纤式、辐射式等。它们都是基于温度变化引起的其物理参数的变化的原理,随着大规模集成电路工艺的提高,出现了集成的数字化温度传感器,温度检测的传统方法是使用模拟传感器,那么一个温度量要经过感温元件、测量电路、放大电路、模数转换电路之后才能得到相应的数字量,这样设计者须考虑的线路环节较多,相应测温装置中元器件数量降不下来,随之影响产品的可靠性和体积微缩化。而且模拟信号在长距离传输过程中,如何抗电磁干扰是一个难以解决的问题。对于多点温度检测的场合,各被测点到测试装置之间引线距离往往不同,还有各敏感元件参数的不一致性都是造成误差的原因。把被测温度这一非电模拟量转换成数字信号,将其处理过程的多个环节集成在单片IC器件内部,是解决传统温度检测方法弊病的理想途径。与模拟传感器相比,由于采取高集成度设计,使数字式传感器在可靠性、抗干扰能力以及器件微小化方面都有明显的优点,但受半导体器件本身限制,数字式传感器还存在一些不够理想的地方。比如实际应用时需加修正值,测温范围不宽,一般为-55度到+125度。虽然存在一些不足,但是充分利用微处理技术发展数字化、集成化和自动化的温度传感器仍是温度传感器的发展方向之一。DS18B20温度传感器就是其中一种。1.1.1 传感器的发展传感器是一种能将物理量、化学量、生物量等转换成电信号的器件。输出信号有不同形式,如电压、电流、频率、脉冲等,能满足信息传输、处理、记录、显示、控制要求,是自动检测系统和自动控制系统中不可缺少的元件。如果把计算机比作大脑,那么传感器则相当于五官,传感器能正确感受被测量并转换成相应输出量,对系统的质量起决定性作用。自动化程度越高,系统对传感器要求越高。在今天的信息时代里,信息产业包括信息采集、传输、处理三部分,即传感技术、通信技术、计算机技术。现代的计算机技术和通信技术由于超大规模集成电路的飞速发展,而已经充分发达后,不仅对传感器的精度、可靠性、响应速度、获取的信息量要求越来越高,还要求其成本低廉且使用方便。显然传统传感器因功能、特性、体积、成本等已难以满足而逐渐被淘汰。世界许多发达国家都在加快对传感器新技术的研究与开发,并且都已取得极大的突破。如今传感器新技术的发展,主要体现发展趋势是微机械加工化、集成化和智能化。半导体技术中的加工方法有氧化、光刻、扩散、沉积、平面电子工艺,各向导性腐蚀及蒸镀,溅射薄膜等,这些都已引进到传感器制造。因而产生了各种新型传感器,如利用半导体技术制造出硅微传感器,利用薄膜工艺制造出快速响应的气敏、湿敏传感器,利用溅射薄膜工艺制压力传感器等。集成传感器的优势是传统传感器无法达到的,它不仅仅是一个简单的传感器,其将辅助电路中的元件与传感元件同时集成在一块芯片上,使之具有校准、补偿、自诊断和网络通信的功能,它可降低成本、增加产量,美国LUCAS、NOVASENSOR公司开发的这种血压传感器,每星期能生产1万只。2智能化传感器是一种带微处理器的传感器,是微型计算机和传感器相结合的成果,它兼有检测、判断和信息处理功能,与传统传感器相比有很多优点。1.2 温度控制器的发展现状和发展趋势 温度控制对于小到人民的日常生活、大到钢铁等大型工业生产工程都具有广阔的应用前景,目前我国的温度控制主要以传统的控制方式为主。1.2.1 温度控制器的发展状况随着社会的发展社会的进步,在很多的电子产品中用到了温度监测和温度控制。随着温度控制器应用范围的日益广泛和多样性,各种适应于不同场合的温度控制器应运而生。现代的温控技术目前实现温控的方法有很多种,如:油浴恒温法、比例式、积分式及其组合的调节方法等等,其中有的方法达到热平衡需要的时间很长,但是温度控制精度很高,而有的是达到热平衡的时间短但是其温度控制精度却不够高。现在温度控制大多采用智能调节器,调节器有国产的也有国外的,国产调节器分辨率和精度较低,温度控制效果不是很理想,但价格便宜,国外调节器分辨率和精度较高,价格较贵。单片机温度控制技术涉及到传感器技术、信息采集技术和信息处理技术,近些年来人们采用了模糊传感器使温度控制技术得到了很大的提高,它以适应测量环境变化的能力强可以自我管理和调节等优点,将会在今后的发展中得到更广泛的应用,这也将成为温度控制的发展趋势。1.2.2 温度控制器的发展趋势随着科学技术的进步,单片机及相关电子技术飞速发展,应用领域不断拓展。利用单片机和传感器实现对温度的精确测量,提高了生产的自动化程度,成本低廉,应用十分广泛。它采用了冷端补偿、型滤波、低漂移高精度放大器、A/D转换技器及单片机控制技术。基于单片机模糊控制器是一种近来发展起来的新型控制器,其优点是不要求掌握被控制对象的精确模型,通过对温度进行控制,能得到够较好的动态响应特性,并且适应性强,上升时间快。因为在很多领域都要涉及到温度,工业和农业生产中的许多场合对温度有严格要求,所以温度控制器已经应用到很多领域,比如冶金工业、造纸行业、机械制造、温室、养殖场、冷冻室等。利用单片机控制温度给我们的生活带来了方便,如何使我们的生活更加美好,提高生产效率是我们今后研究的主要方向。温度控制器的发展方向是数字化、智能化、标准化。其中传感器和微处理器赋以智能的结合实现智能化(intelligent)将成为今后温度控制系统发展的主要趋势。它的主要表现形式就是功能强大,更人性化的设计:(1)自动自动校零、自动标定、自动校正功能。(2)自动采集数据,对数据进行预处理。(3)具有数据存储、记与信息处理功能。(4)具有判断、决策处理功能。(5)能够自动检测、自选量程、自寻故障。1.3 本文研究内容本文的主要工作目标是实现以AT89S52单片机、DS18B20、达林顿管驱动继电器为控制部分来实现的温度智能控制系统。在设计过程中主要工作是熟悉DS18B20,了解温控系统的工作过程。本文工作过程是:首先在绪论介绍了温度测量的发展现状,接着介绍了主要元器件的内部结构和工作原理,而后介绍系统的硬件设计过程和软件设计过程。第2章 芯片及元件介绍系统主要由AT89S52单片机DS18B20温度传感器,数码管显示模块构成。下面分别详细介绍一下各个模块的硬件结构。2.1 AT89S52单片机的基本结构单片机(Simple Chip Microcomputer)的全称为单片机微型计算机,是微型计算机中的一类是将CPU、存储器、总线、I/O接口电路集成在一块大规模集成电路芯片上。单片机具有体积小、功能全、价格低廉的突出优点同时其软件业也非常丰富,并可将这些软件嵌入到其他产品中,使其他产品具有丰富的功能。ATMEL公司是世界上高级半导体产品设计、制造和行销的领先者,产品包括了微处理器、可编程逻辑器件、非易失性存储器、安全芯片、混合信号及RF射频集成电路。ATMEL公司在AT89C系列单片机的基础上,推出了以MSC-51核心技术为其内核,采用该公司高性能、低功耗、非易失性存储器技术的AT89S系列单片机,包括AT89S51、AT89S52、AT89S53和AT89S8252。与AT89C系列相比,AT89S系列的运算速度有了很大的提高,在功能上新增加了双数据指针、定时监视器等,能更好地满足各种不同的应用需要。本节重点介绍AT89S52单片机的硬件组成结构及其引脚功能。2.1.1 AT89S52单片机的主要特征AT89S52单片机是AT89S系列中的增强产品,采用了ATMEL公司的技术领先的Flash存储器,是低功耗、高性能、采用了CMOS工艺制造的8位单片机。AT89S52单片机的主要特性如下:18位字长的CPU;2可在线ISP编程的8KB片内Flash存储器;3可编程的32根I/O口线(P0P3);40.55V电压操作范围;53个可编程16位定时器/计数器;6双数据指针DPTR0和DPTR1;7具有8个中断源、6个中断矢量、2级优先权的中断系统;8可在“空闲”和“掉电”两种低功耗方式运行;93级程序锁定位;10全双工的UART穿行通信口;11一个看门狗定时器WTD;12具有断电标志位POF;13振荡器和时钟电路的全静态工作频率030Hz;14与MCS-51单片机产品兼容。2.1.2 AT89S52单片机的存储器和I/O接口电路2.1.2.1 AT89S52单片机的存储器 T89S52单片机芯片内配置有8KB(0000H1FFFH)的Flash程序存储器和256B(00HFFH)的数据存储器RAM,根据需要可扩展到最大64KB的程序存储器和64KB的数据存储器,因此AT89S52的存储器结构可分为4部分:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。(1) 程序存储器程序存储器的结构如图2-1所示:图2-1 程序存储器结构由图2-1可以看到,AT89S52单片机的程序存储器没有采取分区的方法,64K的空间是统一使用的。在读取程序存储器中所存的程序时,是从芯片内的程序开始读取还是由芯片外的程序开始读取有引脚的信号电平来控制。当引脚=1(接通电源电压Vcc)时,CPU从芯片内部程序存储器的0000H单元开始读取指令代码,若外部有扩展程序存储器,且程序计数器PC的值超过了1FFFH,则CPU会自动到片外程序存储器的空间2000HFFFFH读取指令代码。引脚=0(接地)时,CPU只对外部存储器进行读取操作,由信号进行读选通。程序计数器PC是一个16位的独立计数器,其中存放着下一条将被读取的指令的代码在存储器中的地址,程序计数器PC中地址数据的变化轨迹决定了控制程序的执行流程。当开机或复位后,PC中的地址数据位0000H,因此开机或复位后总是从程序存储器的0000H单元开始读取指令代码。(2) 数据存储器 AT89S52单片机的数据存储器地址空间分为芯片内部和芯片外部两个部分,这是与程序存储器相同的地方。与程序存储器不同的地方是使用了不同的指令访问内部数据存储器和外部数据存储器,使用MOV指令访问内部数据存储器,使用MOVX类指令访问外部数据存储器。外部数据的存储空间最大为64KB,地址范围为0000HFFFFH。AT89S52内部数据存储容量为256B,地址为00HFFH,其内部数据存储空间分布情况如图2-2所示:7FH2FH1FH17H0FH08H00H07H特殊功能寄存器SFR工作寄存器组010H工作寄存器组218H工作寄存器320H工作寄存器组430H位寻址80H字节寻址区FFH字节寻址区图2-2 内部存储器空间分布结构从图2-2可以看到,整个256B的地址空间分为4个区域:工作寄存器区、可按位寻址的RAM区和特殊功能寄存器区。工作寄存器区共有4组工作寄存器,4组工作寄存器的地址分别为00H07H、08H0FH、10H17H、18H1FH,总共占据了32B的存储单元。每组工作寄存器对应8个工作寄存器,其名称为R0,R1,R2,R7。改变程序状态字寄存器PSW中的RS0和RS1的内容,便可以选择不同的工作寄存器组,作为CPU当前的工作寄存器组。若程序中不需要4组工作寄存器,其余的寄存器可作一般的RAM单元。工作寄存器组一般用于中断服务程序或子程序调用中,为了保护数据,进入中断服务程序后选用与主程序不同的工作寄存器组。工作寄存器组与RS1、RS0对应的关系如表2-1所示。表2-1 工作寄存器组与RS1、RS0的对应关系RS1RS0寄存器组片内RAM地址00000H07H01108H0FH10210H17H11318H1FH如当前工作寄存器组为作寄存器组0,则R0对应00H单元,R7对应07H单元;若前工作寄存器组为作寄存器组1则R0对应08单元,R7对应0F单元;依此类推。对R0R7工作的操作则是对当前寄存器的操作。复位后默认工作寄存器为0。内部数据存储器20H2FH共16B的存储空间可按位寻址的RAM区域。可以对这个空间按位寻址,即可对这个存储空间按位寻址,即可按位进行读/写操作,这为单片机应用系统的开发带来了极大的便利,用户可以利用这些按位读/写的RAM,将应用系统中表示设备运行状态的一些标放在这些存储单元中。对于可按位寻址的16BRAM存储空间。未被按位使用的存储单元仍然可以作为一般按字节寻址的RAM使用,充分的利用了有限的数据存储RAM空间。32.1.2.2 I/O接口电路 CPU的数据处理速度要远高于外围设备,同时各外围设备的数据处理速度也不尽相同因此在CPU与外围设备进行信息交换时要解决处理速度的匹配问题,以有效的提高CPU的工作效率;与此同时还要对外围设备进行驱动,I/O接口正式为满足上述要而求设计的。CPU和外围设备进行信息交换都要通过接口电路实现。AT89S52单片机内部集成4个可编程的并行I/O口(P0P3),每个接口电路都有锁存器和驱动器,输入接口电路都具有三态门控制。P0P3口同RAM统一编址,可以当做特殊功能寄存器SFR寻址。2.1.3 AT89S52单片机的引脚功能AT89S52主要有PDIP封装、PLCC封装和TQFP封装。虽然封装形式不同但是各引脚的功能相同。接下来详细的介绍PDIP封装的AT89S52单片机引脚排列如图2-3所示。图2-3 PDIP封装2.1.3.1 复位、控制和选通引脚 共有4个控制信号线,RST、/VPP、ALE/和。(1) RST 该引脚为复位信号输入端,高电平有效。在振荡器稳定工作的情况,该引脚置成高电平并保持2机器周期以上时,系统复位。当定时监视器WDT溢出时,该引脚置成高电平并持续96个振荡周期。(2) /VPP 为访问芯片内部和芯片外部程序存储器的选择信号。为低电平时,对程序存储器的操作限定在外部程序存储器进行,地址为0000HFFFFH。为高电平(接电源电压Vcc)时,CPU首先从芯片内程序存储器(0000H1FFFH)的0000H单元开始读取所存储的指令代码;若芯片外部有扩展的程序存储器,则CPU在执行完芯片内部程序存储器中的程序后,自动转向去执行外部程序存储器中的程序。VPP为片内Flash存储器的编程电压。对片内Flash存储器进行编程时,该引脚接接编程电压VPP(5V或12V);对程序进行校验时,该引脚接电源VCC。(3) ALE/ 低字节地址所存允许信号/编程脉冲输入端。ALE为低字节地址所存信号,当系统扩展是ALE的下降沿将P0口输出的低8为地址所存器中,以实现低字节地址和数据的分时复用,ALE连续输出1/6振荡频率的脉冲,可作为外部计数或时钟信号。读取外部程序存储器(4) 为外部程序存储器读选通信号,低电平有效。CPU读取外部程序存储器中的指令代码时,被读取的指令代码被送至P0口;读写片外数据存储器RAM时,无效。2.1.3.2 多功能I/O口引脚P0P3口 接下来分别介绍各个接口:(1) P0口 8位并行、双向、开漏输出的I/O口,作为输出时可驱动8个TTL负载。该口内无上拉电阻,由两个MOS管串接,既可断开漏极输出又可处于高阻状态,因此成为双向、漏极开路I/O口。对片外存储器和数据存储器进行访问时,该口作为低8位地址线和数据线复用。对片内Flash存储器编程时,该口接收指令的字节代码,而对程序进行校检时该口输出指令的字节代码,程序校检时需外接10K的上拉电阻。该口作为通用的I/O口使用时,需要外接上拉电阻。作为输入口使用时,需对每个引脚写入1成为高阻抗输入口,这时该口为准双向I/O口。(2) P1口 具有内部上拉电阻的8位准双向I/O,可驱动4个TTL负载,当编程和校验程序时定义为低8位的地址线。作为输入时需要先将每个引脚置成1。引脚P1.0同时还是定时/计数器T2的外部计数输入,引脚P1.1同时还是定时/计数器T2捕捉重装操作的控制信号。(3) P2口 具有内部上拉电阻的8位准双向I/O,可驱动4个TTL负载。访问片外16位地址的程序存储器和数据存储器时。该口作为高8位地址线。而当只需要8位地址线时,该口将输出特殊功能寄存器P2中的内容。编程和校验程序时,该口接收高字节地址和一些控制信号。(4) P3口 具有内部上拉电阻的8位准双向I/O,可驱动4个TTL负载。做为普通I/O口的输入使用时,应该先将该口的的引脚置1。除此之外P3口还提供了一些第二功能,如表2-2所示:表2-2 AT89S52单片机P3口的第二功能引脚第二功能说明P0RXD串行数据接收P1TXD串行数据发送P2外部中断0请求P3外部中断1请求P4T0定时器0外部事件计数输入P5T1定时器1外部事件计数输入P6外部RAM写选通P7外部RAM读选通2.1.3.2 外部晶振引脚 XTAL1:芯片内振荡器反相放大器和时钟发生的输入端。XTAL2:芯片内振荡器反相放大器的输出端。32.2 高精度的单线数字温度传感器DS18B20智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。目前智能温度传感器已经成为集成温度传感器中最具活力和发展的一种新产品。智能温度传感器内部都包含温度传感器、A/D转换器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存储器(RAM)和只读存储器(ROM)。按照串行总线来划分,有单线总线(1-Wire)、二线总线(含I2C、SMBus总线)和三线总线(含SPI总线)几种类型。单线总线智能温度传感器的输出为913位的二进制数据,分辨力可达0.5度0.625度,典型产品有DS1820、DS18B20、DS18S20。2.2.1 DS18B20的性能特点DS18B20是美国Dallas半导体公司应用单总线技术的一种改进型智能温度传感器,可广泛的用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中,例如多路温度测控仪、中央空调、大型冷库、恒温装置等。下面是它的主要技术特性:1支持多节点,使分布式的测温系统的线路结构设计大为简便,硬件开销大为减少。2采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)。3可以通过数据线供电,具有超低功耗工作方式。4测温范围为-55度到+125度,测温精度为正负0.5度。5温度转换精度912位可变,能够直接将温度转换成16位二进制数的方式串行输出,12位精度转换时间最大为750ms。6具有独特的单线接口方式,即微处理器与其接口时仅需要占用一位I/O端口。7具有电源反保护电路。当电源电压的极性接反时,能保护DS18B20不会因发热而烧毁,但此时芯片无法正常工作。8供电电压范围为3.0V5.5V。当UDD=3.0V5.5V时,在10度+85度范围内,可确保测量误差不超过0.5度,在-55度+125度范围内,最大测量误差也不超过2。9适配各种单片机或系统机。因为它是数字形式的输出,而且只占用一个I/O端口,所以它特别适合于微处理器控制的各种温度测控系统,避免了模拟温度传感器与微处理器接口时需要的A/D转换和较复杂的外围电路.缩小了系统的体积,提高了系统的可靠性。DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通信距离可达150m。42.2.2 DS18B20的结构每片DS18B20都含有一个唯一的64位ROM编码,头八位是产品系列码,接着的是48位产品序列号,最后8位是循环冗余校验码。所以DS18B20能够连接在同一数据线上而不会造成混乱。这为温度的测量带来了极大的方便。温度传感器的转换结果以16位二进制补码的形式存放在暂存存储中,如果测量的温度值高于温度报警器TH或低于TL中的值则DS18B20内部的报警标志位就被置位。表示测量温度超出了DS18B20的温度转换位数,可以选择9到12位,分别对应的测温分辨率为0.5,0.25,0.0125,0.0625。不过温度转换的位数越大转换的时间也越长。12位精度的最大转换时间为750ms。温度转换位数的改变是通过设置寄存器的值来实现的。温度报警触发器和设置寄存器都由非易失性电可擦写存储器组成,设置值可以通过相应命令写入,一旦写入后不会因为掉电而丢失4。2.2.3 DS18B20的测温原理DS18B20采用三脚封装或8脚封装。本文选用的三脚封装。封装图如图2-4所示。I/O为数据输入/输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后常态下成高电平。VCC是可供选用的外部+5V电源端,不用时需接地。GND为地。内部主要由7部分组成:(1)寄生电源;(2)温度传感器;(3)64位激光(laser)ROM与单线接口;(4)告诉暂存器,即便笺式RAM,用于存放中间数据;(5)TH触发寄存器,分别用来存储用户设定的温度上、下限tH、tL值;(6)存储与控制逻辑;(7)8位循环冗余效验码(CRC)发生器。图2-4 DS18B20三脚封装图DS18B20内部测温电路框图如图2-5所示。图2-5 内部测温电路框图低温度系数振荡器用于产生稳定的频率f0,高温度系数振荡器则相当于T/f转换器,能将被测温度t转换成频率信号f0图中还隐含着技术门,当技术门打开时,DS18B20就对低温度系数振荡器产生的脉冲f0进行计数,进而完成温度测量。技术门的开启有时间由高温度系数振荡器来决定。每次测量前,首先将-55度所对应的技术分别置入减法计数器、温度寄存器中。在技术门关闭之前若计数器已减至零,温度寄存器中的数值就增加0.5度。然后,计数器依斜率累加器的状态进入置入新的数值,再对时钟计数,然后减至零,温度寄存器值又增加0.5度。只要技术门仍未关闭,就重复上述过程,直至温度寄存值达到被测温度值。2.2.4 DS18B20的命令格式DS18B20的命令是靠严格的通信协议来支撑的。为了保证数据可靠的传送,同一时刻单总线上只能有一个控制信号或数据。进行数据通信时一定要符合单总线协议。主机对某一测控对象操作时,一般有以下几个过程:初始化信号、发ROM命令、发RAM命令、数据发送。1初始化。基于1-Wire总线上的所有传输过程都是以初始化开始的,主机发出复位脉冲,从机响应应答脉冲。应答脉冲使主机知道,总线上有从机设备,且准备就绪。2ROM命令。在主机检测到应答脉冲之后,就可以发出ROM命令。这些命令与各个从机设备的唯一64位ROM代码相关,允许主机在1-Wire总线上连接多个从机设备,指定操作某个从机设备。这些命令还允许主机能够检测到总线上有多少个从机设备及其设备类型,或者有没有从机设备处于报警状态。共有五种ROM命令,它们分别是:读ROM,搜索ROM,匹配ROM,跳过ROM,报警搜索。对于只有一个温度传感器的单点系统,跳过ROM(SKIP ROM)命令特别有用,主机不必发送64位序列号,从而节约了大量时间。对于1-Wire总线的多点系统,通常先把每一个温度传感器DS18B20的64位序列号测出,要访问某一个从属节点时,发送匹配ROM命令(MATCH ROM),然后发送64位序列号,这时可以对指定的从属节点进行操作。3DS18B20功能命令主机发出ROM命令,以访问某个指定的DS18B20后,接着就可以发出DS18B20支持的某个功能命令。这些命令允许主机写入或读出DS18B20的暂存器,启动温度转换以及判断从机的供电方式。DS18B20的功能命令有:温度转换,写暂存器,读暂存器,拷贝暂存器,读电源供电方式。主机发出温度转换命令后,DS18B20采集温度并进行A/D转换,结果保存在暂存器的字节0和字节1。写暂存器命令,主机把3个字节的数据按照从LSB到MSB的顺序写入到暂存器的TH,TL和匹配寄存器中。拷贝暂存器命令将暂存器中的TH,TL和匹配寄存器的值保存到EPROM中。读寄存器命令将读取暂存器中的9个字节的数值,其中最后一个字节是循环冗余校验CRC,用于检验读取数据的有效性。其工作流程图见图2-6。主机对DS18B20发送ROM和RAM命令前,必须先对其进行初始化,因为只有当DS18B20温度传感器应答准备好以后,主机才能可以发操作命令进行操作。ROM命令代码及其含义:ReadROM(33H):如果只有一片DS18B20,可以用此命令读出其序列号,若在线DS18B20多于一个,将发生冲突。Match ROM(55H):多个DS18B20在线时,用此命令匹配一个给定序列号的DS18B20,此后的ROM命令就针对该DS18B20。Skip ROM(CCH):此命令执行后的RAM命令将针对所有在线的DS18B20。Search ROM(F0H):用此命令读出所有在线的DS18B20的序列号。Alarm Search(ECH):当有温度报警时用以读出报警DS18B20的序列号。RAM命令代码及其含义:Write Scratchpad(4EH):写报警温度和设置寄存器的内容到便笺式存储器中。Read Scratchpad(BEH):读取便笺式存储器中的内容。Copy scratchpad(48H):将存储器中报警温度和设置寄存器的内容拷贝到EEPROM中去。Convert T(44H):启动在线的DS18B20进行温度转换。Recall E2(B8H):将EEPROM中的内容拷贝到便笺式存储器中Read Power Supply(B4H):在此命令发送后的每一个读数间隙,指出电源模式。图2-6 DS18B20的工作流程2.2.5