基于DS18B20的多点温度测量系统.docx

上传人:牧羊曲112 文档编号:3384739 上传时间:2023-03-12 格式:DOCX 页数:67 大小:63.08KB
返回 下载 相关 举报
基于DS18B20的多点温度测量系统.docx_第1页
第1页 / 共67页
基于DS18B20的多点温度测量系统.docx_第2页
第2页 / 共67页
基于DS18B20的多点温度测量系统.docx_第3页
第3页 / 共67页
基于DS18B20的多点温度测量系统.docx_第4页
第4页 / 共67页
基于DS18B20的多点温度测量系统.docx_第5页
第5页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于DS18B20的多点温度测量系统.docx》由会员分享,可在线阅读,更多相关《基于DS18B20的多点温度测量系统.docx(67页珍藏版)》请在三一办公上搜索。

1、基于DS18B20的多点温度测量系统目 录 中文摘要 . III 英文摘要 . IV 1 绪 论 . 1 1.1 课题来源 . 1 1.2 课题研究的目的意义 . 1 1.3 国内外现状及水平 . 2 1.4 课题研究内容 . 2 2 系统方案设计 . 3 2.1 基于模拟温度传感器设计方案 . 3 2.2 基于数字温度传感器设计方案 . 4 2.3 方案论证 . 4 3 电路设计 . 6 3.1工作原理 . 6 3.2 DS18B20与单片机接口技术 . 7 3.3 键盘电路设计 . 14 3.4显示电路设计 . 15 3.5 报警电路设计 . 16 3.6 电源电路设计 . 17 4 程序

2、设计 . 18 4.1 系统资源分配 . 18 4.2 系统流程设计 . 18 4.3 程序设计 . 24 5 系统仿真 . 34 5.1 PROTEUS仿真环境介绍 . 34 5.2 原理图绘制 . 35 5.3 程序加载 . 35 5.4 系统仿真 . 36 5.5 仿真结果分析 . 错误!未定义书签。 6 PCB板设计 . 39 6.1 PCB板设计 . 39 I 6.2 PCB板制作 . 42 总 结 . 45 参考文献 . 46 附录 系统电路图、程序与元件清单 . 47 致 谢 . 51 II 摘 要 本设计系统地介绍了基于DS18B20的多点温度测量系统的组成、设计方案、电路原理

3、、程序设计以及系统仿真过程。DS18B20多点温度测量系统是以AT89C51单片机作为控制核心,智能温度传感DS18B20为控制对象,运用C语言编程实现系统的各种功能。该系统由单片机最小系统、传感器电路、报警电路、LCD显示电路、行列式键盘电路、电源电路六大部分组成。借助PROTEUS软件,实现了系统电路设计和仿真。它适用于电力工业、煤矿、森林、火灾、高层建筑等场所,还可以用于环境恶劣的工业控制现场。通过DS18B20的单总线技术,实现对远程环境的温度测量与监控。 关键词:DS18B20、仿真、测量系统、PROTEUS、单片机 III Abstract This system introduc

4、ed on the DS18B20 multi-point temperature measurement system components, design, circuit theory, program design and product development process. DS18B20 multi-point temperature measurement system is the core AT89C51 SCM as a control, smart temperature sensing DS18B20 targets for the control, use of

5、C-language programming system functions. The system is the smallest MCU system, sensor circuit, alarm circuits, LCD display circuit, the five major determinant keyboard circuit circuit components. With PROTEUS software, and the system design and simulation, and the eventual adoption of hardware veri

6、fication. It applies to the power industry, coal, forest, fire, high-rise buildings and other places can also be bad for the environment of industrial control at the scene. DS18B20 through a single bus technology, to achieve the long-range environmental temperature measurement and monitoring. Key wo

7、rds: DS18B20、 simulation、 measurement system、PROTEUS、MCU IV 邵阳学院毕业设计 1 绪 论 1.1 课题来源 温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一,同时它也是一种最基本的环境参数。人民的生活与环境温度息息相关,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,在电力、化工、石油、冶金、机械制造、大型仓储室、实验室、农场塑料大棚甚至人们的居室里经常需要对环境温度进行检测,并根据实际的要求对环境温度进行控制。比如,发电厂锅炉的温度必须控制在

8、一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行。炼油过程中,原油必须在不同的温度和压力条件下进行分流才能得到汽油、柴油、煤油等产品;没有合适的温度环境,许多电子设备不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。可见,研究温度的测量具有重要的理论意义和推广价值。 随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日益突出,成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。本设计就是为了满足人们在生活生产中对温度测量系统方面的需求。 本设计要求系统测量的

9、温度的点数为4个,测量精度为0.5,测温范围为-20+80。采用液晶显示温度值和路数,显示格式为:温度的符号位,整数部分,小数部分,最后一位显示。显示数据每一秒刷新一次。 1.2 课题研究的目的意义 21世纪科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了巨大的变化,我们已经进入了高速发展的信息时代,测量技术也成为当今科技的主流之一,被广泛地应用于生产的各个领域。对于本次设计,其目的在于: 掌握数字温度传感器DS18B20的原理、性能、使用特点和方法,利用C51对系统进行编程。 本课题综合了现代测控、电子信息、计算机技术专业领域方方面面的知识,具有综合性、

10、科学性、代表性,可全面检验和促进学生的理论素养和工作能力。 本课题的研究可以使学生更好地掌握基于单片机应用系统的分析与设计方法,培养创新意识、协作精神和理论联系实际的学风,提高电子产品研发素质、增强1 邵阳学院毕业设计 针对实际应用进行控制系统设计制作的能力。 1.3 国内外现状及水平 传感器属于信息技术的前沿尖端产品,尤其是温度传感器被广泛用于工农业生产、科学研究和生活等领域,数量高居各种传感器之首。温度传感器的发展大致经历了以下三个阶段:传统的分立式温度传感器(含敏感元件);模拟集成温度传感器控制器;数字温度传感器。目前,国际上新型温度传感器正从模拟式向数字式、由集成化向智能化、网络化的方

11、向发展,同时具有抑制串模干扰能力强、分辨力高、线性度好、成本低等优点。随着我国四个现代化和经济发展,我国在科技和生产各领域都取得了飞速的发展和进步,发展以温度传感器为载体的温度测量技术具有重大意义。 1.4 课题研究内容 本设计研究的主要内容如下: 在广泛查阅温度检测控制理论和方法、测温技术和温度控制技术等资料的基础上,根据不同的控制要求及应用领域完成对系统方案的总体设计。本设计采用以AT89C51为核心的单片机系统,来实现对温度的检测、报警等功能。 研究比较各相关元器件的功能与特点,选择合适的元器件。 系统硬件设计。系统硬件设计主要包括:温度检测、单片机数据采集处理、显示、键盘设定、报警电路

12、等部分。 系统软件设计。本课题采用C语言,利用Keil编译器进行编程及调试。主要研究DS18B20与单片机的通信协议、时序及一些C51通用程序等。 本设计的难点分为硬件和软件两个方面。其中硬件开发的难点在于各种元器件的选择和使用,如各种电阻、电容等的选择。软件开发的难点在于DS18B20的时序,如果时序不正确,将无法读出正确的温度值,对系统产生很大的影响。 2 邵阳学院毕业设计 2 系统方案设计 2.1 基于模拟温度传感器设计方案 该方案由单片机、模拟温度传感器AD590、运算放大器、AD转换器、44键盘、LCD显示电路、集成功率放大器、报警器组成,如图2.1所示。 本方案采用模拟温度传感器A

13、D590作为测温元件,传感器将测量的温度变换转换成电流的变化,再通过电路转换成电压的变化,使用运算放大器交将信号进行适当的放大,最后通过模数转换器将模拟信号转换成数字信号,传给给单片机,单片机将温度值进行处理之后用LCD显示 ,当温度值超过设置值时,系统开始报警。 模拟传感器AD590模拟温度传感器模拟温度传感器模拟温度传感器模拟温度传感器运算放大器多路选择器LCD显示电路A/D转换单片机集成功放报警器44键盘图2.1 基于模拟温度传感器的测量系统方案 本方案使用的测温元件的性能指标如下: AD590的测温范围为55+150。 AD590的电源电压范围为4V30V,电源电压可在4V6V范围变化

14、,电流 变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。 输出电阻为710MW。 精度高,AD590共有I、J、K、L、M五档,其中M档精度最高,在55+150范围内,非线性误差为0.3。 集成温度传感器具有线性好、精度适中、灵敏度高、体积小、使用方便,温度测量范围广等优点,得到广泛应用。集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0时输出为0,温度25时输出2.982V。电流输出型的灵敏度一般为1mA/K。 3 邵阳学院毕业设计 2.2 基于数字温度传感器设计方案 该方案使用了AT8

15、9C51单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,采用多个温度传感器对各点温度进行检测,通过44键盘模块对正常温度进行设置显示电路采用12864 LCD模块,使用LM386作为报警电路中的功率放大器。 温度传感器DS18B20温度传感器LCD显示电路温度传感器温度传感器温度传感器单片机集成功放报警器44键盘 图2.2 基于数字温度传感器测量系统方案 本课题采用数字温度传感器DS18B20作为测为测温元件,它具有如下特点: 只要求一个端口即可实现通信。 在DS18B20中的每个器件上都有独一无二的序列号。 实际应用中不需要外部任何元器件即可实现测温。 测量温度范围在55C

16、到125C之间。 数字温度计的分辨率用户可以从9位到12位选择。 内部有温度上、下限告警设置。 2.3 方案论证 本设计要求测量的点数为4,测温范围为-20+80,精度为0.5。采用液晶显示,同时显示路数和温度,每秒刷新1次显示数据。 综合模拟温度传感器和数字温度传感器的性能指标,以上两个方案都能达到设计的要求。 方案一采用模拟温度传感器AD590,转换结果需要经过运算放大器和AD转换器传送给处理器。它控制虽然简单,成本低,但是后续电路复杂,且需要进行温度标定,集成温度传感器AD590输出为电流信号,且输出信号较弱,所以需要后续放大4 邵阳学院毕业设计 及A/D转换电路,如采用普通运放则精度难

17、以保证,而测量放大器价格较高,这样会使系统成本升高。 方案二采用了数字温度传感器DS18B20,改变了传统温度测试方法。它能在现场采集温度数据,直接将温度物理量变换为数字信号并以总线方式传送到单片机进行数据处理,并且可根据实际要求通过简单的编程实现9-12位的数字式读数方式,因而使用DS18B20可使系统结构更趋简单,可靠性更高,大大提高系统的抗干扰能力。DS18B20体积小、经济、使用方便灵活,测试精度高,较高的性能价格比,有CRC校验,系统简明直观。适合于恶劣环境的现场温度测试,如:环境控制、设备或过程控制、测温类消费电子产品等。 方案二程序设计稍微复杂一些,但在电子竞赛期间我用DS18B

18、20做过温度计,也调试过LCD,并且已经用PROTEUS实现了系统的仿真。因此,该方案完全具有可行性,同时体现了技术的先进性,经济上也有很大的优势。 综上所述,本课题采用方案二对系统进行设计。 5 邵阳学院毕业设计 3 电路设计 3.1工作原理 基于DS18B20多点温度测量系统以AT89C51为核心器件,以KEIL为系统开发平台,用C语言进行程序设计,以PROTEUS作为仿真软件设计而成的。系统主要由传感器电路、液晶显示电路、键盘电路、报警电路、电源电路组成,系统原理图如图3.1所示。 图3.1 系统原理图 DS18B20是数字温度传感器,它的输入/输出采用数字量,以单总线技术,接收主机发送

19、的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度以串口发送给主机。主机按照通信协议用一个IO口模拟DS18B20的时序,发送命令给DS18B20,转换完成之后读取温度值,在内部进行相应的数值处理,用图形液晶模块显示各点的温度。在系统启动之时,可以通过44键盘设置各点温度的上限值,当某点温度超过设置值时,报警器开始报警,液晶显示该传感器的路数、设置温度值、实际温度值,从而实现了对各点温度的实时监控。 6 邵阳学院毕业设计 每个DS18B20有自己的序列号,因此本系统可以在一根总线上挂接了4个DS18B20,通过CRC校验,对各个DS18B20的ROM进行寻址,地址符合的DS18B

20、20才作出响应,接收主机的命令,向主机发送转换的温度。采用这种DS18B20寻址技术,使系统硬件电路更加简单。 3.2 DS18B20与单片机接口技术 3.2.1 DS18B20的引脚功能 DS18B20的引脚功能描述见表3.1。 表3.1 DS18B20引脚功能描述 序号 1 2 名称 GND DQ 引脚功能描述 地信号 数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源 3 VDD 可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地 3.2.2 DS18B20与单片机接口电路 如图3.2所示,为单片机与DS18B20的接口电路。DS18B20只有三个引脚,一个接地

21、,一个接电源,一个数字输入输出引脚接单片机的P1.7口,电源与数字输入输出脚间需要接一个4.7K的电阻。 图3.2 DS18B20与单片机接口电路 DS18B20VDDDQGND4.7K 单P1.7 片 机3.2.3 温度寄存器格式和温度/数据对应关系 DS18B20温度寄存器如表3.2所示。其寄存器有16位,高5位为符号位,低13位为数据位。当寄存器高5位为1时,表示温度为负,否则为正。 7 邵阳学院毕业设计 表3.2 温度寄存器格式 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 LS Byte B bit15 bit14 bit13 bit12 bit11

22、 bit10 bit9 bit8 MS Byte 表3.3 温度/数据的关系 23 22 21 20 2-1 2-2 2-3 2-4 S S S S S 26 25 24 温度 +125 +85 +20.0625 +10.125 +0.5 0 -0.5 -10.125 25.0625 -55 输出(2进制) 0000 0111 1101 0000 0000 0101 0101 0000 0000 0001 1001 0001 0000 0000 1010 0010 0000 0000 0000 1000 0000 0000 0000 0000 1111 1111 1111 1000 1111

23、1111 0101 1110 1110 1110 0110 1111 1111 1110 1001 0000 输出(16进制) 07D0H 0550H 0191H 00A2H 0008H 0000H FFF8H FF5EH EE6FH FE90H 如果测得的温度大于0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,测得的数值需要取反加1再乘0.0625,即可得到实 际的温度值。如表3.3所示,是DS18B20的温度与数据的对应关系。 3.2.4 单片机对DS18B20的控制方法 DS18B20采用严格的单总线通信协议,以保证数据的完整性。该协议定义了 几种信号类型:复位脉冲

24、、应答脉冲、写0、写1、读0和读1。除了应答脉冲所有 这些信号都由主机发出同步信号。总线上传输的所有数据和命令都是以字节为单位。且低位在前,高位在后。 初始化序列:复位脉冲和应答脉冲 8 邵阳学院毕业设计 在初始化过程中,主机通过拉低单总线至少480s,以产生复位脉冲(TX)。然 主机初始化主机初应答至少480usPresence pulse60-240us至少480us 图3.3 DS18B20初始化时序 后主机释放总线并进入接收(RX)模式。当总线被释放后,5k的上拉电阻将单总线拉高。DS18B20检测到这个上升沿后,延时15s60s,通过拉低总线60s240s产生应答脉冲。初始化脉冲如图

25、3.3所示。 DS18B20的初始化应答C语言程序如下所示: bit resetpulse(void) DQ=0; delay600us; DQ=1; delay60us; return(DQ); DS18B20的初始化C语言程序如下所示: void Ds18b20_Init(void) while(1) if(!resetpulse) /收到ds18b20的应答信号 9 DQ=1; delay600us; /延时240us break; 邵阳学院毕业设计 else DS18B20的读写控制 在写时序期间,主机向DS18B20写入数据;而在读时序期间,主机读入来自 resetpulse; /否

26、则再发复位信号 DS18B20的数据。在每一个时序,总线只能传输一位数据。读/写时序如图3.4所示。 DS18B20写时序 DS18B20存在两种写时序:“写1”和“写0”。主机在写1时序向DS18B20 主机写”0”时序主机写”1时序15us15us30us15us15us30us主机读”0”时序主机读”1时序15us15us30us15us15us30us图3.4 DS18B20读写时序 写入逻辑1,而在写0时序向DS18B20写入逻辑0。所有写时序至少需要60s,且在两次写时序之间至少需要1s的恢复时间。两种写时序均以主机拉低总线开始。 产生写1时序:主机拉低总线后,必须在15s内释放总

27、线,然后由上拉电阻将总线拉至高电平。产生写0时序:主机拉低总线后,必须在整个时序期间保持低电平。 在写时序开始后的15s60s期间,DS18B20采样总线的状态。如果总线为高电平,则逻辑1被写入DS18B20;如果总线为低电平,则逻辑0被写入DS18B20。 读时序 10 邵阳学院毕业设计 DS18B20只能在主机发出读时序时才能向主机传送数据。所以主机在发出读数据命令后,必须马上产生读时序,以便DS18B20能够传送数据。所有读时序至少60s,且在两次独立的读时序之间至少需要1s的恢复时间。 每次读时序由主机发起,拉低总线至少1s。在主机发起读时序之后,DS18B20开始在总线上传送1或0。

28、若DS18B20发送1,则保持总线为高电平;若发送0,则拉低总线。当传送0时,DS18B20在该时序结束时释放总线,再由上拉电阻将总线拉回空闲高电平状态。DS18B20发出的数据在读时序下降沿起始后的15s内有效,因此主机必须在读时序开始后的15s内释放总线,并且采样总线状态。 DS18B20写命令子程序如下: void ds18b20_writecommand(uchar command) uchar i; for(i=0;i8;i+) if(command & 0x01)=0) DQ=0; 11 DQ=0; _nop_; _nop_; _nop_; _nop_; _nop_; _nop_;

29、 DQ=1; _nop_; _nop_; delay60us; else 邵阳学院毕业设计 _nop_; _nop_; DQ=1; delay60us; _nop_; _nop_; _nop_; _nop_; command=_cror_(command,1); DS18B20读温度子程序如下: uchar Ds18b20_Readdata(void) uchar readdata; uchar i; for(i=0;i8;i+) DQ=0; _nop_; _nop_; _nop_; DQ=1; else 12 if(DQ=0) readdata=readdata&0x7f; delay60u

30、s; 邵阳学院毕业设计 readdata=readdata|0x80; delay60us; if(i7) readdata=_cror_(readdata,1); return readdata; DS18B20的命令序列 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。 ROM命令通过每个器件64-bit的ROM码,使主机指定某一特定器件与之进行通信。DS18B20的ROM如表3.4所示,每个ROM命令都是8 bit长。

31、 表3.4 DS18B20 ROM命令 指令 读ROM 符合ROM 搜索ROM 跳过ROM 协议 33H 55H 功能 读DS18B20中的编码(即64位地址) 发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备 0F0H 用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备 0CCH 忽略64位ROM地址,直接向DS18B20 温度转换命令,适用于单个DS18B20工作 44H BEH 4EH 48H 启动DS18B20进行温度转换,转换时间最长为500ms(典型为200

32、ms),结果丰入内部9字节RAM中 读内部RAM中9字节的内容 发出向内部RAM的第3、4字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据 将RAM中第3、4字内容复制到E2PROM中 告警搜索命令 0ECH 执行后,只有温度超过庙宇值上限或下限的片子才做出响应 温度转换 读暂存器 写暂存器 复制暂存器 重调E2PROM 读供电方式 0B8H 将E2PROM中内容恢复到RAM中的第3、4字节 0B4H 读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1” 13 邵阳学院毕业设计 3.3 键盘电路设计 3.3.1 行列式键盘与单片机接口电

33、路 根据本设计需要,本系统采用了44键盘实现对温度值和功能键的设定。 行列式键盘与单片机的接口电路如图3.5所示,H0-H3为行线,接单片机P2口的高4位,L0-L3为列线,接单片机P2口的低4位。初始化时键盘行线为高电 平,列线为低电平。键盘的行线接4输入与门,4输入与门的输出接单片机的外部中断0引脚P3.2口。当有键按下时,将产生中断,在中断程序里对按键进行扫描,得到按键的键值。 图3.5 44键盘结构 3.3.2 键盘面板 键盘面板如图3.6所示,本系统使用的键盘有10数字键,5个功能按键。在系统启动时,先按“设置”键,然后按相应的数字键,按“左移”或者“右移”键改变其他温度的值。按“确认”键之后系统正式启动。系统在运行过程之中可以通过按“重新设置”键,对温度重新进行设置。 图3.6 键盘面板 14 左移右移重新设置89设置确认45670123邵阳学院毕业设计 3.4显示电路设计 3.4.1 LCD引脚分布及功能 12864液晶显示屏共有20个引脚,其引脚名称及引脚编号的对应关系如图3.7所示: VSSVDDVO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号