基于DS18B20数字温度传感器的仿真与设计应用_第1页
基于DS18B20数字温度传感器的仿真与设计应用_第2页
基于DS18B20数字温度传感器的仿真与设计应用_第3页
基于DS18B20数字温度传感器的仿真与设计应用_第4页
基于DS18B20数字温度传感器的仿真与设计应用_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一草 引言在人类的生活环境中,温度扮演着极其重要的角色,都无时无刻不在与温度打交道。 自18世纪工业革命以來,工业发展与是否掌握温度有着紧密的联系。在冶金、钢铁、石 化、水泥、玻璃、医药等等行业,可以说几乎%80的工业部门都不得不考虑着温度的因素。 温度对于工业如此重要,由此推进了温度传感器的发展。1. 1传感器三个发展阶段:一是模拟集成温度传感器。该传感器是釆用硅半导体集成工艺制成,因此亦称硅传感 器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、 响应速度快、传输距离远、体积小、微功耗等特点,适合远距离测温、控温,不需要进行 非线性校准,且外围电路简单。它

2、是目前在国内外应用最为普遍的一种集成传感器,典型 产品有 AD590、AD592、TMP17、LM135 等。二是模拟集成温度控制器。模拟集成温度控制器主要包括温控开关、可编程温度控制 器,典型产品有LM56、AD22105和MAX6509。某些增强型集成温度控制器(例如TC652/653) 中还包含了 A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。但它自 成系统,工作时并不受微处理器的控制,这是二者的主要区别。三是智能温度传感器。智能温度传感器内部都包含温度传感器、A/D转换器、信号处 理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随 机

3、存取存储器(RAM)和只读存储器(ROM)。智能温度传感器的特点是能输出温度数据及相关 的温度控制量,适配各种微控制器(MCU):并且它是在硬件的基础上通过软件来实现测试 功能的,当然,其智能化程度也取决于软件的开发水平。1. 2温度传感器的发展趋势进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全 性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。1. 3传感器在温控系统中的应用目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统 的模拟集成温度传感器,其中乂以热电阻、热电偶等传感器的测量精度高,测量范围大, 而得到了普遍的

4、应用。此种产品测温范围大都在-200C800C之间,分辨率12位,最小 分辨温度在0. 0010. 01之间。自带LED显示模块,显示4位到16位不等。有的仪表还具 有存储功能,可存储几百到几千组数据。该类仪表可很好的满足单个用户单点测量的需要。 多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控, 但价格昂贵。针对目前市场的现状,本设计提出了一种可满足要求、可扩展的并且性价比高的单片 机多路测温系统。1.4设计研究意义随着科学技术的不断进步与发展,温度控制在工业控制、电子测温计、家用电器等各 种温度控制系统中被广泛应用,且由过去的单点测量向多点测量发展。目前温度传感

5、器有 模拟和数字两类传感器两种,为克服模拟传感器与微处理器接口时所需的信号调理电路或 A/D转换器的缺点,多点检测温度控制系统多采用智能数字温度传感器,是系统的设计更 加方便。常用的智能数字温度传感器有DS18B20、MAX6575、DS1722、MAX6635等等。在传统的温度测量系统设计中,往往釆用模拟技术,这样就不可避免地遇到引线误差 补偿、多点测量中的切换误差和信号调整电路的误差等问题;而其中某一环节处理不当, 就会导致系统性能的降低。随着现代科学技术的飞速发展,特别是大规模集成电路设计技 术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。美国Dallas半导 体公司推出

6、的数字温度传感器DS18B20,具有独特的单总线接口,仅需占用一个通用I/O端 口即可完成与微处理器间的通信;在-10+85C温度范围内具有5C精度;用户可 编程设定912位的分辨率。这些特性使得DS18B20非常适用于高精度、多点温度测量系统 的设计。1.5设计的任务目标本设计主要是实现对温度进测量并准确显示。整个系统由MCU(单片机)控制,用于接 收传感器采集的温度数据并加以显示出来,还可以从键盘设定温度报警值,系统根据命令, 选择对应的传感器采集温度数据,并由驱动电路驱动温度显示。利用一个单片机设计一个能够对多点温度同时进行测量的温度检测系统。该系统能够 同时对多个点的温度进行测量和进行

7、显示,并且能够对异常情况进行报警。9第二章方案设计2.1引言温度测量的方案有很多种,可以釆用传统的分立式传感器、模拟集成传感器以及新兴 的智能型传感器。对于控制系统可以釆用计算机、单片机等。2. 2方案设计本系统主要由三个模块组成:控制模块、温度采集模块、显示模块。2. 2. 1控制模块本设计采用单片机基于数字温度传感器DS18B20的系统。单片机AT89C51具有低电压 供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携 手持式产品的设计使用,系统应用三节电池供电。温度传感器DS18B20利用单总线的特点 可以方便的实现多点温度的测量,组建传感器网络,且系统的抗干

8、扰性好、设计灵活、方 便,而且能在恶劣的环境下进行现场温度检测。本系统可以应用在大型工业及民用常温多 点监测场合。如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗 与健诊的温度测试、空调系统的温度检测、石化、机械等。2. 2. 2温度采集模块这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与 单片机的接口部分组成。DS18B20智能温度温度传感器进行温度釆集和转换输出数字型的 温度值,然后通过数据引脚传到单片机的P1.1 口,单片机接受温度并存储。DS18B20是美 国DALLAS半导体公司最新推出的一种单线智能温度传感器,属于新一代适配微处理器

9、的 智能温度传感器,它可将温度信号直接转换为数字信号,实现了与单片机的直接接口,从 而省去了信号调理和A/D转换等复杂模/数转换电路。DS18B20构成的温度采集模块电路简 单、功能可靠、测量效率高,很好地弥补了传统温度测量方法的不足可广泛用于工业、民 用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有集成度高、模拟 输入数字输出、抗干扰能力强、体积小、接口方便、传输距离远测温误差小等特点。DS18B20 有PR-35和SOSI两种封装方式,本次设计采有PR-35式封装,如图1. 2所示。DS1SB22GND IO VDDQ3 J10E5DS18B23GND6NC33NC4SPD

10、dNONONO图(a) PR-35封装图(b) SOSI封装图2-1 DS18B20的两种封装2. 2. 3温度显示模块本课程设计的显示模块釆用3位共阴极LED数码管显示温度数据,两位整数,一位小 数进行显示,从P0 口送数,P2 口扫描。2. 3系统框图系统的系统设计方框图如图1.1所示,它主要由三部分组成:控制部分主芯片釆用 单片机AT89S51;显示部分采用3位共阴极LED数码管以动态扫描方式实现温度显示; 温度釆集部分的温度传感器采用DS18B20智能温度温度传感器。还有按键设置报警温度 值和加热降温电路。图2-2多路温度检测与控制总体设计框图第三章硬件设计本课程设计的多点测温系统是以

11、单片机和单总线数字温度传感器DS18B20为核心,充 分利用单片机优越的内部和外部资源及智能温度传感器DS18B20的优越性能构成一个完备 的测温系统,实现对温度的多点测量。整个系统由单片机控制,能够接收传感器的温度数 据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的温度传感器,并由驱动 电路驱动温度显示。本课程设计了一种合理、可行的单片机监控软件,完成测量和显示的 任务。由于单片机具有强大的运算和控制功能,使得整个系统具有模块化、硬件电路简单 以及操作方便等优点。本课题的整个系统是由单片机、显示电路、键盘电路、声光报警电路等构成。3.1 温度传感器3. 1.1温度传感器选用细则现代

12、传感器在原理与结构上差万别,如何根据具体的测量目的、测量对象以及测量 环境合理地选用传感器,是在进行某个量的测量时首先要解决的问题。当传感器确定之后, 与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决 于传感器的选用是否合理。(1) 根据测量对象与测量环境确定传感器的类型要进行一个具体的测量工作,首先要考虑釆用何种原理的传感器,这需要分析多方 面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可供选 用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条件考虑 以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为

13、接触式还 是非接触式;信号的引出方法,有线或是非接触测量;传感器的來源,国产还是进口, 价格能否承受,还是自行研制。(2) 灵敏度的选择通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。因为只有灵敏度高时, 与被测量变化对应的输出信号的值才比较大,有利于信号处理。但要注意的是,传感器的 灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放大,影响测量精度。 因此,要求传感器本身应具有较高的信噪比,尽员减少从外界引入的串扰信号(3) 频率响应特性传感器的频率响应特性决定了被测量的频率范围,必须在允许频率范围内保持不失 真的测量条件,实际上传感器的响应总有一定延迟,希望延迟时间越短越

14、好。传感器的 频率响应高,可测的信号频率范圉就宽,而由于受到结构特性的影响,机械系统的惯性 较大,因有频率低的传感器可测信号的频率较低。(4) 线性范围传感器的线形范围是指输出与输入成正比的范围。以理论上讲,在此范围内,灵敏 度保持定值。传感器的线性范围越宽,则其量程越大,并且能保证一定的测量精度。在 选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。但实际上,任 何传感器都不能保证绝对的线性,其线性度也是相对的。当所要求测量精度比较低时, 在一定的范围内,可将非线性误差较小的传感器近似看作线性的,这会给测量带來极大 的方便。(5)稳定性传感器使用一段时间后,其性能保持不变化的能

15、力称为稳定性。影响传感器长期稳 定性的因素除传感器本身结构外,主要是传感器的使用环境。因此,要使传感器具有良 好的稳定性,传感器必须要有较强的环境适应能力。在选择传感器之前,应对其使用环 境进行调查,并根据具体的使用环境选择合适的传感器,或釆取适当的措施,减小环境 的影响。(6)精度精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重 要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系 统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传感器中 选择比较便宜和简单的传感器。如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜

16、选用绝对量值精 度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求 的传感器。对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传感器。 自制传感器的性能应满足使用要求。3. 1. 2DS18B20温度传感器简介温度的测量是从金属(物质)的热胀冷缩开始。水银温度计至今仍是各种温度测量的计 量标准。可是它的缺点是只能近距离观测,而且水银有毒,玻璃管易碎。代替水银的有酒 精温度计和金属赞片温度计,它们虽然没有毒性,但测量精度很低,只能作为一个概略指 示。不过在居民住宅中使用己可满足要求。在工业生产和实验研究中为了配合远传仪表指 示,出现了许多不同的温度检测方法,常

17、用的有电阻式、热电偶式、PN结型、辐射型、光 纤式及石英谐振型等。它们都是基于温度变化引起其物理参数(如电阻值,热电势等)的变 化的原理。随着大规模集成电路工艺的提高,出现了多种集成的数字化温度传感器。(1)智能温度传感器DS18B20的性能特点:1)独特的单总线接口仅需要一个端口引脚进行通信,可以是串行口也可以是其他 I/O 口,无须变换,直接输出被测温度值(9位二进制,含符号位)。多个DS18B20 可以并联挂接在一条总线上,实现实现多点温度釆集检测功能;2)可测温度范围为-55+125C,测量分辨率为0. 0625C;3)内含64位经过激光修正的只读存储器ROM:4)内含寄生电源,可直接

18、通过数据总线供电,电压范围为3.05. 5V;5)零待机功耗;6)用户可通过编程分别设定各路的温度上、下限温度值來实现报警功能;7)适配各种微处理器;8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;10)可检测距离远,最远测量距离为150m。(2) DS18B20的内部结构DS18B20的内部结构如图3-1所示。DS18B20内部结构主要由四部分组成:64位 光刻ROM,温度报警触发器,温度传感器以及高速缓存器。1)64位光刻ROMo 64位光刻ROM是出厂前己被刻好的,它可以看做是该DS18B0的地址序

19、列号,不同的器件不一样,64位的地址序列号的构成如表2-1所示。开 始8位是产品序列号代表产品的序列,接着48位产品序号代表同一系列产品的不 同产品,最后8位是前56位的CRC校验码,所以不同的器件的地址序列号各不 一样这也是多个DS18B20可以釆用一线进行通信的原因(8位CRC编码的计算公 式为CRC=X+X+X+1 )o在64 b ROM的最高有效字节中存储有循环冗余校验码 (CRC)o主机根据ROM的前56位來计算CRC值,并和存入DS18B20中的CRC 值做比较,以判断主机收到的ROM数据是否正确。表3-1 64位ROM地址序列号结构图3-1 DS18B20内部结构2)非挥发的温度

20、报警触发器(包括上限温度触发器TH和下限温度触发器TL) o可通过 软件程序写入设定用户所要求的报警上下限温度值。3)高速暂存器。可以设置DS18B20温度转换的精度。DS18B20出厂时该位被设置为0, 用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率,如图1.4。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PRAMo此外,DS18B20内部还包括寄生电源、电源检测、存储控制逻辑、8位循环冗余码生 成器(CRC)等部分。DS18B20有两种供电方式。如图3-2所示:图(a)是由外电源供电,图是I/O 口 总线和寄生电容配合供电。DS1

21、8B20寄生电源由两个二极管和寄生电容构成。电源检测电 路用于判定供电方式。寄生电源供电时,电源端与接地端并联接地,器件从总线上获取电 源。在I/O线呈低电平时,改由寄生电容上的电压继续向器件供电。采用寄生电源有两个优点:一是检测远程温度是无需本地电源;二是缺少正常电源时 也能读ROM。若采用外部电源,则通过二极管向器件供电。图S)使用外部电源供电图(b)使用寄生电源供电图3-2 DS18B20与微处理器的硬件连接方式由表3-3可见,分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中 要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出

22、前面所有 8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位 带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单 线接口读出该数据,读数据时低位在先,高位在后,数据格式以0. 0625C/LSB形式表示。当符号位S = 0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制; 当符号位S = 1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2-4是一部分温度值对应的二进制温度数据。表33 DS18B20温度转换时间表R1R0分辨率/位温度最大转向时间

23、/ms00993. 750110187.510113751112750表34 部分温度对应值表温度厂C数字输出(二进制)数字输出(十六进制)+1250000 0000 1111 1010OOFAH+250000 0000 0011 00100032H+0. 50000 0000 0000 00010001H00000 0000 0000 00000000H-0. 51111 1111 1111 1111FFFFH-251111 1111 1100 1110FFCEH-551111 1111 1001 0010FF92H3.2 DS18B20的测温原理每一片DS18B20在其ROM中都存有其唯一

24、的64地址位序列号,在出厂前己写入片内 ROM中。主机在进入操作程序前必须用读ROM(33H)命令将该DS18B20的序列号读出。程序可以先跳过ROM,启动所有DS18B20进行温度变换,之后通过匹配ROM,再逐一 地读回每个DS18B20的温度数据。DS18B20的测温原理如图3-3所示。低温度系数晶振的振荡频率受温度的影响很小, 用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率 明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门 打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。 计数门的开启时间

25、由高温度系数振荡器来决定,每次测量前,首先将-55 C所对应的基数 分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 C所对 应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法 计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入, 减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计 数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 图2. 3中的斜率累加器用于补偿和修正测温过程中的非线性,提高测量准确制度。其输出 用于修正减法计数器的预置值,只要计数门仍未关

26、闭就重复上述过程,直至温度寄存器值 达到被测温度值。图3-3 DS18B20的测温原理图3.3 DS18B20与微处理器的接口技术1. DS18B20与单片机的链接有两种方法,如图3-2所示:一种是VDD接外部电源,GND 接地,I/O与单片机的任一条I/O线相连;另一种是用寄生电源供电,此时VDD、GND并联接地,I/O接单片机的任一条I/O。无论是内部寄生电源供电还是外部供 电,I/O接口都要接漏极开路或三态输出以提高负载驱动能力。本设计采用寄生电 源供电模式,I/O 口接5KQ左右的上拉电阻。实际应用中,DS18B20可以距单片机 150m远,测量数据不会产生误差,在同一条数据总线上可以

27、并接许多片DS18B20 实现多路温度采集。2. DS18B20控制命令(1)暂存器命令 访问DS18B20的暂存器共有6条命令,如表3-5所示。表3-5 DS18B20暂存器命令指令约定代码操作说明温度变换44H启动DS18B20进行温度转换,转换时间最长为500MS,结果存入内部9字节RAM中读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3, 4字节写上、下限温度数 据命令,紧跟读命令之后,是传送两字节的数据复制暂存器48H将ETRAM中第3, 4字节内容复制到E2PRAM中重调E2PRAM0BBH将E:PRAM中内容恢复到RAM中的第3, 4字节读供电方式0

28、B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0” ,外接电源供电DS18B20发送(2)对ROM的5种操作命令。如表3-6所示: 读ROM命令(代码为33H):该命令允许主CPU读取DS18B20中的8位产品 序列编号、48位产品序列号及8位CRC值。该命令值适用于总线上只挂接 一片DS18B20,对总线上挂有多片DS18B20时不适用。 符合ROM命令(代码为55H):该指令适合在一条总线上挂接多片DS18B20 的情况。具体应用是这样的,主CPU先向总线发这条命令,然后再发64 位的ROM数据。再总线上,只有符合所发的64位ROM的DS18B20才有操 作权。这样就实现

29、了单总线上的寻址。 寻找ROM命令(代码为FOH):这条命令用于对连在单总线上的多个DS18B20 进行初始化操作。 跳过ROM命令(代码为CCH):该命令用于对总线上的报警器进行寻找,其 用法与寻找ROM样。 寻找报警命令(代码为ECH):该命令用于对总线上的报警器件进行寻找 ROM 一样。表3-6 ROM操作命令指令约定代码操作说明读ROM33H读DS18B20 ROM中的编码符合ROM55H发出此命令之后,接着发出64位ROM编码,访问单 线总线上与该编码相对应的DS18B20使之作出响 应,为下一步对该DS18B20的读写作准备寻找ROMOFOH用于确定挂接在同一总线上DS18B20的

30、个数和识别64位ROM地址,为操作各器件作好准备跳过ROMOCCH忽略64位ROM地址,直接向DS18B20发温度变换命 令,适用于单片工作。寻找报警命 令OECH执行后,只有温度超过设定值上限或者下限的片子 才做出响应3. DS18B20访问流程CPU对DS18B20访问的工作流程是:先对DS18B20进行初始化,再发ROM操作命令, 最后才能对存储器及数据进行操作。DS18B20每一步操作都在严格的工作时序和通 信协议下进行的。例如主机控制DS18B20完成温度转换这一过程,根据DS18B20的 通信协议,须经过三个步骤:第一步是复位,第二步是发送ROM命令,第三步是发 送RAM命令。值得

31、注意的是,每一次读写之前都要对它进行复位。下面详细说明DS18B20的操作过程。(1) DS18B20的初始化DS18B20的所有操作均从初始化开始,初始化的过程是首先由CPU发出一个复 位脉冲,复位脉冲的时间为480960us,然后由丛属器件发出应答脉冲。初 始化是主CPU发出一个复位信号,将数据总线上的所有DS18B20复位,然后 释放总线,该总线位接收状态。由于接有上拉电阻,在释放总线是有15、60us 的时间间隙,在此之后的60240us时间内,如果CPU检测到总线为低电平的 话,则说明DS18B20初始化完成。DS18B20初始化时序波形如图所示:4-圭成伐出复酬冲卄小値 1 480

32、 pa第大值;VDDGND主机摄收陥就时冊锄悶一 15- L DS18B2O发出 一 60- 应答脉冲图3-4DS18B20复位初始化时序图(2)发送ROM命令ROM的操作命令位8位二进制数,CPU对ROM的操作有读ROM命令、符 合ROM命令、搜索ROM命令、跳过ROM命令、报警搜索命令共5种。其 中符合ROM命令是用來识别连在总线是的DS18B20芯片,其过程是主CPU 发出符合ROM命令(代码位55H)后,接着送出64位的ROM数据序列, 从而使主CPU实现对单总线上的特定DS18B20进行寻址,只有与64位序列 严格相符的DS18B20才能对后续的操作发出响应,符合ROM命令只对同时

33、挂在总线上的多片DS18B20适用。读写ROM的操作时序如图所示。U主CPU写0时序峠 60720* 1 r主(:FU写1时序 和20浙图(a) DS18B20写时序图(b) DS18B20读时序图3-5 DS18B20操作时序图(3)发送RAM命令RAM命令是暂存器操作命令,共有6条,在前面己经列出,其功能是实现温 度的转换、读/写、复制暂存器的内容等功能。在具体的设计过程中,访问DS18B20也是通过程序设计来实现的。具体程序 可以按照上面的工作时序图和命令的相应格式进行程序设计。另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此 读写时序很重要。系统对DS18B2

34、0的各种操作必须按协议进行。操作协议为:初 始化DS18B20 (发复位脉冲)一发ROM功能命令一发存储器操作命令一处理数据。3.4DS18B20的测温流程图3-6 DS18B20测温流程3. 5系统硬件电路设计DS18B20可以釆用两种方式供电,一种是釆用电源供电方式,此时DS18B20的1脚接 地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图3.1所示单片机端 口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET 管來完成对总线的上拉。本设计釆用电源供电方式,Pl. 1 口接单线总线为保证在有效的 DS18B20时钟周期内提供足够的电流,可

35、用一个MOSFET管和89S51的P1. 0来完成对总线 的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉, 13上拉开启时间最大为10 PSO釆用寄生电源供电方式是Vdd和GND端均接地。由于单线制 只有一根线,因此发送接收口必须是三状态的。主机控制DS18B20完成温度转换必须经过 3个步骤: 初始化; ROM操作指令; 存储器操作指令。17系统总电路TTU3 U1 R17FULiur刁誌2R3r.R15 “LUI.R16FUUUVFTETAL1PEK)XTAL2O.VA1J3TA3 pH1STPS” PSX a伙共rror 心23 2FZ2TAia R

36、ZJTA11 FZ WA1Z 炫弘13PZ/WAUF2J/AQ.VDC) F335FTD raoWTT UE F3ATI*6*739 37/WTn jLLS n.?严P6CDEFS DP1S34第四章系统软件设计4.1系统软件设计整体思路一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相 应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都 可通过软件编程而代替。其至有些必须采用很复杂的硬件电路才能完成的工作,用软件编 程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和 软件资源,采用与S51系列单片机相对应的51汇

37、编语言和结构化程序设计方法进行软件 编程。程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂” 的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的 程序(成为目标程序),计算机才能“看懂”,然后逐一执行。高级语言是面向问题和计算过程的语言,它可通过于各种不同的计算机,用户编程时 不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句己 相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流, 但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单 片机微控制系统,使用汇编语言

38、可以不用像高级语言那样占用较多的存储空间,适合于存 储容量较小的系统。同时,本系统对位处理要求很高,需要解决大量的逻辑控制问题。MCS-51指令系统的指令长度较短,它在存储空间和执行时间方面具有较高的效率, 编成的程序占用内存单元少,执行也非常的快捷,与本系统的应用要求很适合。而且MCS 一51指令系统有丰富的位操作(或称位处理)指令,可以形成一个相当完整的位操作指令 子集,这是MCS-51指令系统主要的优点之一。对于要求反应灵敏与控制及时的工控、 检测等实时控制系统以及要求体积小、系统小的许多“电脑化”产品,可以充分体现出汇 编语言简明、整齐、执行时间短和易于使用的特点。本装置的软件包括主程

39、序、读出温度子程序、复位应答子程序、写入子程序、以及有 关DS18B20的程序(初始化子程序、写程序和读程序)4. 3系统软件设计的一般步骤系统进行软件设计时,先要对本课题硬件有一个熟练的掌握,知道系统的组成,数据 的传输,信号是如何被控制的,以及信号的显示。然后进行软件设计时,先搞清楚各个部 分的子程序及他们的流程图,然后进行编程,最后将它们系统的编程4. 4系统程序流程系统程序主要包括主程序,读出温度子程序,复位应答子程序,写入子程序等。(1)主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度 值,温度测量每Is进行一次。这样可以在一秒之内测量一次被测温度

40、,其程序流程见图4-1莎了示。通过调用读温度子程序把存入内存储中的整数部分与小数部分分开存放在不同的两个单元 中,然后通过调用显示子程序显示出来。图41主程序流程图.(2)读出温度子程序读出温度子程序流程图如图4-2所示。其主要功能是读出RAM中的9字节,在读出时 需进行CRC校验,校验有错时不进行温度数据的改写。DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能达到预期的 目的,同时,要注意读进来的是高位在后低位在前,共有12位数,小数4位,整数7位, 还有一位符号位。DS18B20复位、应答子程序跳过ROM匹配命令写入子程序温度转换命令写入子程序显示子程序(延时)D

41、S18B20复位、应答子程序跳过ROM匹配命令写入子程序读温度命令子程序图4-2读出温度子程序-19-(3)复位、应答子程序图4-3复位、应答子程序-# -(4)写入子程序图4-4写入子程序-21-(5)系统总的流程图图45系统总的流程图-#-第五章小结利用Proteus与KEIL C51对单片机多点温度测量系统进行了仿真设计.从本文结果 可以看出,利用Proteus进行单片机系统的仿真设计可以极大地简化单片机程序在目标硬 件上的调试工作,大幅度节省制作电路板的时间,对于提高产品的开发效率、降低开发成 本等有重要作用.硬件电路的简单是以软件的复杂为代价的,所以在程序编写和调试的过程中稍一粗心

42、就会出现错误,包括时间延时不够,设置参数的类型有误,按键子程序放置位置不妥等错 误。本程序经过反复的调试修改,虽然能达到预期的基本目标,但是还有很多地方需要完 善,如开始仿真时机器会扫描错误代码而使电路报警,报警的同时可以使数码管闪烁,还 可以利用剩余的I/O 口挂接更多的DS18B20等。本课题通过分析对比各种不同的温度传感器,选定DS18B20,这种单总线数字温度传 感器的通信方式比较独特,软件编写要求的比较新颖,特点突出。用其构建的系统有很多 优点:硬件连线简单,省去了使用模拟传感器要进行放大、A/D转换等工作,由于它的级 联功能,一条总线可挂接多个传感器测量不同位置的温度,根据DS18

43、B20唯一的序号识别 不同传感器在各自位置的温度。需要注意的是,在系统安装及工作之前应将主机逐个与DS1820挂接,以读出其序列 号。另外,由于DS1820单线通信功能是分时完成的,遵循严格的时隙概念,因此,系统对 DS1820和各种操作必须按协议进行,即:初始化DS1820 (发复位脉冲)一发ROM功能命令一 发存储器操作命令一处理数据。现场温度直接以“一线总线”的数字方式传输,每一个自 带地址,大大减少了系统的电缆数,提高了系统的稳定性和抗干扰性。通过调试成型系统发现了 DS18B20除了上述优点外,还有一些缺点,如:简单的硬件连接 的代价是复杂的软件时序,DS18B20在测量温度的时候,

44、灵敏度不够高,温度快速变化时 无法迅速显示出其变化。通过一系列的实验发现:由DS18B20构建的测温小系统适用于环 境温度监控,对温度小变化较敏感;不适合应用于要求实时性强、温度跨度大的测温方式。主程序的功能是:启动DS18B20测量温度,将测量值与给定值进行比较,若测得温度 小于设定值,则进入加热阶段,同时红灯亮,置P1.1为低电平,这期间继续对温度进行监 测,直到温度在设定范围内,置P1.1为高电平断开可控硅,关闭加热器,等待下一次的启 动命令。当测得温度大于设定值,则进入降温阶段,则置P1.2为低电平,这期间继续对温 度进行监测,直到温度在设定范围内,置P1.2为高电平断开,等待下一次的

45、启动命令。仿真单片测温调试,若一切运行正常。加热到90摄氏度时,红灯亮起,自动断电, 而低于20摄氏度时,绿灯亮起,开始加热。实际调试过程中电路部分运行正常,仿真程 序出现错误,不能正常录入,因此未能成功调试。结束语本设计使用的温度控制器结构简单、测温准确,具有一定的实际应用价值。该智能温 度控制器只是DS18B20在温度控制领域的一个简单实例,还有许多需要完善的地方,例如 可以将测得的温度通过单片机与通讯模块相连接,以手机短消息的方式发送给用户,使用 户能够随时对温度进行监控。此外,还能广泛地应用于其他一些工业生产领域,如建筑, 仓储等行业。本温度控制系统可以应用于多种场合,像花房的多点温度

46、、育婴房的温度、 水温的检测与控制。可灵活选择本设计的用途,有很强的实用价值。参考文献1 姚启均.模拟电路M.北京:高等教育出版社,2000. 256-293.2 张民等.单片机原理及应用M西安:陕西科学技术出版社,2000. 157-168.3 汪伟.数字电路M.北京:高等教育出版社,1998. 215-220.4 李华.弱信号放大电路研究J.应用电子技术,2004, 5, 15-19.5 张明.小型数字温度计N.电子报,2005年10月28日,第三版.致谢但随着本次课程设计的结束,这门课程的理论学习也随之而结束了。但也让我留下了 诸多体会。首先要由衷感谢我们的授课老师和指导老师秦伟老师,指

47、导了我顺利的独立地完成了 这一次的课程设计。期间,让我学到了许多在实践中需注意的问题。包括如何去选课题, 怎样思考问题,然后如何去收集整理资料,之后怎样组织材料撰写论文等等,这为我们即 将面临的毕业设计等各类课题的设计打下了一定的基础。其至在以后的工作和学习生活中 也会受益。其次,还要感谢周围那些在本人作设计和学习期间曾帮助过我的朋友、老师和同学。 谢谢你们让我在学完这们课程后有了一定得成果和收获。25源程序:ORGOOOOH LJMP MA0N1 ORG 0003H LJMP ZINTO ORG0013HLJMP ZINT1TMPL EQU 29H TMPH EQU 28H FLAG1 EQ

48、U 38H DATAIN BIT P3.7 MAINkSETB ITO SETB EA SETB EXO SETB IT1 SETB EXISETB P3.6 SETB P3.2MOV 74H,#0MOV 75H,#OMOV 76H,#9MOV 77H,#0MAINLCALL GET_TEMPERLCALL CVTTMP LCALL DISP1 AJMP MAININIT_1820:SETB DATAINNOP CLR DATAIN MOVR1,#3TSRkMOV RO,# 107 DJNZ R0,$ DJNZRhTSRl SETB DATAIN NOPNOPNOPMOV R0,#25HTSR

49、2:JNBDATAIN,TSR3DJNZ R0,TSR2 CLR FLAGI SJMP TSR7TSR3: SETB FLAGICLR Pl.7MOV R0,#117TSR6: DJNZ RO,STSR7: SETB DATAINRETGET_TEMPER:SETB DATAINLCALL INIT_1820 JB FLAGLTSS2 NOPRETTSS2: MOVA,#OCCHLCALLWRITE820MOVA,#44HLCALLWRITE820ACALL DISP1LCALL INIT_1820 MOVA,#OCCH LCALLWRITE820 MOVA,#OBEH LCALLWRITE820LCALL READ_1820RETWRITE820:MOV R2,#8CLRCWRliCLR DATAINMOV R3、#6DJNZ R3,$RRCA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论