基于DS18B20的多点温度测量系统的设计与制作.doc
《基于DS18B20的多点温度测量系统的设计与制作.doc》由会员分享,可在线阅读,更多相关《基于DS18B20的多点温度测量系统的设计与制作.doc(63页珍藏版)》请在三一办公上搜索。
1、基于DS18B20的多点温度测量系统的设计与制作学 院:专 业:姓 名:指导老师:信息学院测控技术与仪器刘慧灵学 号:职 称:080107011039安玉磊助教中国珠海二一二年五月诚信承诺书本人郑重承诺:本人承诺呈交的毕业设计基于DS18B20的多点温度测量系统的设计与制作是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名: 日期: 年 月 日基于DS18B20的多点温度测量系统的设计与制作摘 要本文介绍了基于DS18B20和STC89C52RC的多点温度测量的方法和原理,利用DSI8B20单总线温度传感器和单
2、片机与其它外围设备结合在一起实现温度的测量和显示。该设计主要分为以下三大部分:硬件设计、软件设计和整个系统的调试与实现。其中硬件设计主要是由Protel99SE软件进行电路的设计和PCB板的绘制;软件设计采用C语言编写实现。采用该解决方案,实现了基于DS18B20进行的各项软硬件的设计、调试和处理,实现了多点温度测量和显示。关键词:温度测量;硬件;软件;温度传感器DS18B20Design and Fabrication of Multi-point Temperature Measuring System Based on DS18B20AbstractThis article descri
3、bes the multi-point temperature measurement method and principle based on DS18B20 and STC89C52RC,the measurement and display of the temperatures are achieved by making use of the combination of the 1-wire temperature sensor DS18B20 and the MCU and other peripheralsThe design is mainly divided into t
4、he three parts as follows:the hardware design,the software design and the debugging and implementation of the entire systemAmong the design,the hardware design mainly is of circuits designing and PCB drawing by means of Protel99SE software and the software design is realized by using C language prog
5、rammingThe DS18B20 based design,debugging and dispose of the all software and hardware items and even the multi-point temperature measuring and displaying have been realized by adopting the solutionKeywords: Temperature Measurement; Hardware; Software; Temperature sensor DS18B20目 录1绪论11.1概述11.1.2 DS
6、18B20温度传感器简介11.1.3 STC89C52RC单片机简介31.1.4 LCD1602液晶显示屏简介41.1.5 KEIL编程软件简介51.2系统方案设计51.3预期结果62 DS18B20温度传感器概述72.1 DS18B20接口电路72.2 DS18B20工作原理72.3 DS18B20工作时序103硬件电路设计143.1单片机驱动电路设计143.2温度显示模块电路设计153.3温度测量模块电路设计163.4温度报警电路设计173.5系统硬件电路设计183.6小结204软件程序设计及调试214.1系统软件程序设计214.2系统软件程序调试224.2.1 LCD1602的显示程序调
7、试224.2.2 DS18B20的测量温度程序调试244.2.3 声响及视觉报警信号程序调试284.3多点温度测量系统总程序调试304.4小结415结论42参考文献43谢 辞44附 录45附录145附录246附录358附录4591绪论 本章主要讨论本课题研究的现状及意义,设计选用的主要元器件简介及系统的设计及实现方案。1.1概述 简述温度测量选用的传感器、单片机、显示元件及仿真软件。1.1.1课题研究的现状及意义在实际工业生产及日常生活中,为了避免局部的温度过高或过低,需要对某个空间内多个点的温度进行监测,如在粮库测温系统、智能建筑自控系统、冷库测温系统、中央空调系统等多种系统中都需要多点温度
8、测量。为了改善监测人员的工作条件,监测人员一般需要远离监测对象。因此,多点温度远程监测在实际生产中具有重要的应用价值。1.1.2 DS18B20温度传感器简介DS18B20是Dallas半导体公司的数字化温度传感器,DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条连接线(加上地线)。它的测温范围为-55125,并且在-1085精度为0.5。除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。每个DS18B20都有一个独特的64 位序列号,从而允许多只DS18B20同时连在一根单线总线上;因此,很简单就可以用一个微控制器去控制很
9、多覆盖在一大片区域的DS18B20。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。图1.1是DS18B20的引脚排列,表1.1是DS18B20的引脚说明,图 1.2是DS18B20 的方框图。64 位只读存储器储存器件的唯一片序列号。高速暂存器含有两个字节的温度寄存器,这两个寄存器用来存储温度传感器输出的数据。除此之外,高速暂存器提供一个直接的温度报警值寄存器(TH和TL),和一个字节的的配置寄存器。配置寄存器允许用户将温度的精度设定为9,10,11 或12 位。TH,TL 和配置寄存器是非易失性的可擦除程序寄存器(EEPROM),所以存储的数据在器
10、件掉电时不会消失。因为DALLAS公司生产的温度传感器DS18B20具有单总线传输、接线简单、精度高、价格低等优点,所以本设计决定选用数支温度传感器DS18B20实现多点温度的测量。图1.1 温度传感器DS18B20引脚排列表1.1 温度传感器DS18B20引脚说明表DS18B20引脚详细说明8引脚SOIC封装*T0-92封装符号说明51GND接地。42DQ数据输入/输出引脚。对于单线操作:漏极开路。当工作在寄生电源模式时用来提供电源。33VDD可选的VDD 引脚。工作于寄生电源模式时VDD必须接地。*所有表中未提及的脚均都无连接。图1.2 温度传感器DS18B20方框图1.1.3 STC89
11、C52RC单片机简介STC公司生产的RC/RD+系列单片机内部Flash 擦写次数为100,000 次以上,STC89C51RC/RD+ 系列单片机出厂时就已完全加密,无法解密。用户程序是用ISP/IAP 机制写入,一边校验一边写,无读出命令,彻底无法解密。有DIP-40,PLCC-44,PQFP-44 三种封装(PLCC、QFP 有P4 口)。STC89C52RC/RD+ 系列单片机是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
12、具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35Mhz,6T/12T可选。因此本设计选用STC公司的DIP-40封装的89C52单片机,它最大的优点是焊接方便、价格便宜
13、,同时也有足够的存储空间。图1.2 本设计选用的STC89C52单片机管脚图1.1.4 LCD1602液晶显示屏简介工业字符型液晶LCD1602,能够同时显示1602即32个字符(16列2行)。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个57或者511等点阵字符位组成,每个点阵字符位都可以显示一个字符。LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),两者的控制原理完全一样,其接口及引脚说明请看附录3。因此,本设计决定采用16脚的LCD1602作为温度显示的显
14、示装置,它相对LED数码管来说,接线不算太复杂,多点温度显示时还能显示每个点的英文名称,而且它的显示程序相对数码管来说并不复杂,能让系统的显示模块有很大的发展空间。1.1.5 KEIL编程软件简介Keil Vison系列是美国Keil Software公司推出的51系列兼容单片机软件开发系统。Vison3是集成的可视化Windows操作界面,其提供了丰富的库函数和各种编译工具,能够对51系列单片机以及和51系列兼容的绝大部分类型的单片机进行设计。Keil Vison系列可以支持单片机C51程序设计语言,也可以直接进行汇编语言的设计与编译。Keil Vison系列是一个非常优秀的编译器,受到广大
15、单片机设计者的广泛使用。其主要特点如下:(1)支持汇编语言、C51语言等多种单片机设计语言;(2)可视化的文件管理,界面友好;(3)支持丰富的产品线,除了51及其兼容内核的单片机外,还新增加了对ARM内核产品的支持;(4)具有完善的编译连接工具;(5)具备丰富的仿真调试功能,可以仿真串口、并口、A/D、D/A、定时器/计数器以及中断等资源,同时也可以和外部仿真器联合进行在线调试;(6)内嵌RTX-51实时多任务操作系统;(7)支持在一个工作空间中进行多项目的程序设计。(8)支持多级代码优化。因此,本设计决定利用Keil Vison2编写软件程序,采用C语言编写。1.2系统方案设计以单片机接口原
16、理, DS18B20芯片功能与接口设计,LCD1602液晶屏接口设计等理论知识为基础,设计出完整的系统原理图。根据原理图,将硬件系统资源焊接成PCB板。根据系统功能,设计编写固件程序,下载后进行调试,通过DS18B20及LCD1602正常工作实现系统的多点温度测量。本课题涉及的理论知识主要是DS18B20多点温度测量原理及LCD1602显示原理,重点在于硬件设计,难点在于编程和整机的调试。经过论证,在实现设计要求的前提下,控制器选取STC89C52RC;而且这款单片机支持在线编程,通过串口下载程序,这给程序的下载和使用带来方便。电路设计采用Protel99SE,程序设计采用C语言进行编程,软件
17、仿真采用Keil Vison2。系统的组成框图如下图所示。它主要由四部分组成:多点温度测量温度显示单片机驱动温度报警图1.3 系统的组成框图1.3预期结果通过硬件电路的设计和软件程序的编写实现以下功能:1、完成硬件电路的设计,让整个系统供电正常;2、完成软件程序的编写,单片机能独立控制电路板上元件工作;3、通过系统硬件与软件的调试,所有DS18B20能正常测量环境温度,LCD1602能正确显示各点温度,温度报警功能正常运作;4、利用C语言编程实现对单片机硬件的操作,培养在此方面工程开发的能力。2 DS18B20温度传感器概述 主要讨论温度传感器DS18B20的接口电路、工作原理及工作时序。2.
18、1 DS18B20接口电路DS18B20通过独有的单总线协议依靠一个单线端口通讯。当全部器件经由一个3态端口或者漏极开路端口(DQ引脚在DS18B20上的情况下)与总线连接的时候,控制线需要连接一个弱上拉电阻。在这个总线系统中,微控制器(主器件)依靠每个器件独有的64位片序列号辨认总线上的器件和记录总线上的器件地址。由于每个装置有一个独特的片序列码,总线可以连接的器件数目事实上是无限的。DS18B20可以通过从VDD引脚接入一个外部电源供电,或者可以工作于寄生电源模式,该模式允许DS18B20工作于无外部电源需求状态。对DS18B20供电的一种典型接法是从VDD引脚接入一个外部电源,见图2.1
19、。这样做的好处是单总线上不需要强上拉。而且总线不用在温度转换期间总保持高电平。图2.1 DS18B20典型接口电路 本设计的温度测量模块决定根据DS18B20的典型接口电路,选择外部电源作为它的供电方式。详细电路图将在第3章硬件电路设计中讨论。2.2 DS18B20工作原理DS18B20的核心功能是它的直接读数字的温度传感器。温度传感器的精度为用户可编程的9,10,11或12位,分别以0.5,0.25,0.125和0.0625增量递增。在上电状态下默认的精度为12位。DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控制器必须发出44h命令。在那之后,产生的温度数据以
20、两个字节的形式被存储到高速暂存器的温度寄存器中,DS18B20继续保持等待状态。当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”,DS18B20正在温度转换中返回0,转换结束返回1。单总线系统包括一个总线控制器和一个或多个从机。DS18B20总是充当从机。当只有一只从机挂在总线上时,系统被称为“单点”系统;如果由多只从机挂在总线上,系统被称为“多点”。所有的数据和指令的传递都是从最低有效位开始通过单总线。通过单线总线端口访问DS18B20的协议如下:步骤1. 初始化。通过单总线的所有执行操作处理都从一个初始化序列开始。初始化序列包括一个由总线控制器发出的复位脉冲和其
21、后由从机发出的存在脉冲。存在脉冲让总线控制器知道DS18B20在总线上且已准备好操作。步骤2. ROM操作指令。一旦总线控制器探测到一个存在脉冲,它就发出一条ROM指令。如果总线上挂有多只DS18B20,这些指令将基于器件独有的64 位ROM片序列码使得总线控制器选出特定要进行操作的器件。这些指令同样也可以使总线控制器识别有多少只,什么型号的器件挂在总线上,同样,它们也可以识别哪些器件已经符合报警条件。ROM指令有5条,都是8 位长度。总线控制器在发起一条DS18B20功能指令之前必须先发出一条ROM指令。控制DS18B20的5条ROM指令如下:Search ROM F0h (搜索ROM指令)
22、。当系统上电初始化的时候,总线控制器必须通过识别总线上所有ROM片序列码去得到从机的数目和型号。总线控制器通过搜索ROM指令多次循环搜索ROM编码,以确认所有从机器件。如果总线上只有一只从机,那么可以用较为简单的读取ROM指令代替搜索ROM指令。在每次搜索ROM指令之后,总线控制器必须返回步骤1。READ ROM 33h(读取ROM指令)。只有在总线上存在单只DS18B20的时候才能使用这条命令。该命令允许总线控制器在不使用搜索ROM指令的情况下读取从机的64 位片序列码。如果总线上有不止一只从机,当所有从机试图同时传送信号时就会发生数据冲突。MATH ROM 55h(匹配ROM指令)。匹配R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DS18B20 多点 温度 测量 系统 设计 制作
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4148127.html