




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本本 本科毕业论文(设本科毕业论文(设 计)计) 题题 目目 8 路 ds18b20 测温系统的设计 学生姓名学生姓名 专业名称专业名称 测控技术与仪器 指导教师指导教师 教学单位 学生学号 编 号 wl2013ck031 2 i 8 8 路路 ds18b20ds18b20 测温系统的设计测温系统的设计 摘要摘要:本课题以 at89s52 单片机为核心,能对多点温度进行实时测量和显示, 并且可以实现报警、数据传输。本系统由控制模块、显示模块、报警模块、数 据传输四大模块组成。其中,控制模块主要以 at89s52 为核心的最小系统,来 控制四路 ds18b20 温度传感器以实现多点温度的测量,显示模块由 lcd1602 液 晶显示屏为硬件来显示,报警模块主要由单片机直接控制蜂鸣器来实现,其报 警依据为按键设定的温度上下限值,如果温度超出上下限值,则会使蜂鸣器发 声。串口模块主要采用 max232 芯片进行电平转换得以实现串口发送来进行实时 数据的传送。 关键词关键词:ds18b20;多点测温;单片机;lcd1602;max232 ii design of 8 ds18b20 temperature measurement system abstract:this subject takes at89s52 microcontroller as the core, can carry out real-time measurement and display of multiple point temperature, and can realize the alarm, data transmission.the system consists of control module, display module, alarm module, data transmission module four big. among them, the minimum system control module with at89s52 as the core, the measurement to control four ds18b20 temperature sensor to realize multi-point temperature, display module consists of a lcd1602 liquid crystal display hardware to display, alarm module consists of single- chip microcomputer control buzzer to achieve lower limit alarm, the basis for the button to set the temperature, if the temperature go beyond the limit, will make the buzzer sound. serial port module mainly uses the max232 chip level conversion can be realized the serial port to send to transmit real-time data. keywords: ds18b20; multi-point temperature measurement; mcu; lcd1602; max232 目目 录录 一一 论文正文论文正文 1 1 绪论绪论.1 1.1 课题背景.1 1.2 设计的目的和意义.1 1.3 本课题的任务及目标.1 2 2 8 8 路路 ds18b20ds18b20 测温系统设计方案测温系统设计方案 .2 2.1 硬件总体方案设计.2 2.2 软件总体方案设计.3 3 3 硬件设计硬件设计.4 3.1 单片机、ds18b20、液晶显示屏的功能介绍.4 3.1.1 单片机功能介绍.4 3.1.2 ds18b20 功能介绍.7 3.1.3 1602lcd 液晶显示屏功能介绍.8 3.2 电路设计 .10 3.2.1 ds18b20 与单片机接口电路设计.10 3.2.2 lcd 液晶显示屏与单片机接口电路设计.11 3.2.3 报警电路设计 .12 3.2.4 串口电路设计 .12 4 4 软件设计软件设计.13 4.1 温度处理子程序设计 .13 4.2 按键处理子程序设计.13 4.3 系统温度阈值设定子程序设计 .13 4.4 温度显示子程序设计.13 4.5 显示数据刷新程序子程序设计.13 5 5 实验结果的分析实验结果的分析.18 结果显示: .18 误差分析: .20 总结总结.21 参考文献参考文献.22 谢谢辞辞.22 总程序总程序.24 二二 附录附录 1 开题报告.38 2 结题报告.39 3 答辩报告.40 1 1 1 绪绪 论论 1.11.1 课题背景课题背景 在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里, 从事什么工作,无时无刻不在与温度打着交道。尤其是处在现在工业发达的当 代,在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎 80%的工 业部门都不得不考虑着温度的因素。 既然温度如此重要,目前市场主要存在单点和多点两种温度测量仪表。单 点温度测量仪表,主要采用传统的模拟集成温度传感器,其传感器的测量精度 高,测量范围大,而得到了普遍的应用。并且测温范围大,分辨率高,最小分 辨温度在 0001001 之间。该类仪表可很好的满足单个用户单点测量的需 要。而目前市场上多点温度测量仪表的测量精度还不够精确,虽然实现了多路 温度的测量与检测,但价格较为昂贵,不能满足市场的需求。 针对以上现状,本课题提出了一种可满足市场需求、可进行多点测量并且 可以实时的进行数据显示、数据传输,且精度高、测量范围大、性价比高的单 片机多路测温系统。 1.21.2 设计的目的和意义设计的目的和意义 目的:为了克服目前市场上传统的测温系统造成的模拟传感器与微处理器 接口时需要信号调理电路和 a/d 转换器的弊端,避免引线误差补偿、多点测量 中的切换误差和信号调理电路的误差等问题。 意义:本系统的设计满足了市场上对微型化、集成化、数字化、高精度、 多点温度测量系统的实际需要。随着现代科学技术的飞速发展,特别是大规模 集成电路设计技术的发展,其正是今后的发展趋势和方向。 1.31.3 本课题的任务本课题的任务及目标及目标 本课题主要是实现对温度进行多点同时测量并准确显示。整个系统由单片 机控制,要能够接收 ds18b20 温度传感器的数据并显示出来,可以从键盘输 入命令,系统根据命令,选择对应的传感器,并由 lcd1602 进行温度实时显 示。设计一种合理、可行的单片机监控软件,完成多点测量和显示的任务,并 编写硬件底层驱动程序。 利用 stc89s52 单片机设计一个能够对不同环境多点温度同时进行测量的 2 系统。该系统能够同时对多个点的温度进行测量采集,通过 lcd1602 进行实时 显示。 并且,通过串口模块显示在在 pc 界面上。 2 2 8 8 路路 ds18b20ds18b20 测温系统设计方案测温系统设计方案 本设计系统的硬件设计是以单片机 at89s52 为核心器件的一套检测系统, 以制作出的电路板为实物,以 c 语言进行软件程序设计,利用 protues 作为仿 真软件设计而成的。系统主要由温度传感器、液晶显示电路、键盘、报警电路, 及串口模块组成,电路图如下所示。 2.12.1 硬件总体方案设计硬件总体方案设计 该方案使用了 at89s52 单片机作为控制核心,以智能温度传感器 ds18b20 为 温度测量元件,采用多个温度传感器对多点温度进行检测,通过键盘模块对温 度上限设置,超过其温度值就报警。显示电路采用 led 数码管模块,使用单片 3 机直接驱动蜂鸣器构成报警电路。如图 2.1 所示: 温度传感器 温度传感器 温度传感器 温度传感器 复位电路 单 片 机 led 显示 模块 串 口 模 块 图图 2.12.1 温度测量系统方案框图温度测量系统方案框图 2.2.2 2 软件总体方案设计软件总体方案设计 系统软件设计首先 lcd1602 初始,写入报警温度的上下值。如果 ds18b20 运行良好,能正常工作,那么在 lcd1602 上就能显示出四路传感器所在位置的 实时温度,读取温度数据,在液晶屏上显示温度值,如果温度值超过上限值, 那么就会自动报警,通过按键设置报警温度值的上限和下限。 软件总体流程图如下图所示: p c 界 面 4 3 3 硬件设计硬件设计 3.13.1 单片机、单片机、ds18b20ds18b20、液晶显示屏的功能介绍、液晶显示屏的功能介绍 3.1.13.1.1 单片机功能介绍单片机功能介绍 1)基本知识 at89s52 是一个低功耗,高性能 cmos 8 位单片机,片内含 8k bytes isp(in-system programmable)的可反复擦写 1000 次的 flash 只读程序存储器, 器件采用 atmel 公司的高密度、非易失性存储技术制造,兼容标准 mcs-51 指 令系统及 80c51 引脚结构,芯片内集成了通用 8 位中央处理器和 isp flash 存 储单元,功能强大的微型计算机的 at89s52 可为许多嵌入式控制应用系统提供 高性价比的解决方案。 at89s52 具有如下特点:40 个引脚,8k bytes flash 片内程序存储器, 256 bytes 的随机存取数据存储器(ram) ,32 个外部双向输入/输出(i/o)口, 5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串 行通信口,看门狗(wdt)电路,片内时钟振荡器。 2)at89s52 引脚功能与封装 按照功能,at89s52 的引脚可分为主电源、外接晶体振荡或振荡器、多功能 i/o 5 口、控制和复位等。 1.多功能 i/o 口 at89s52 共有四个 8 位的并行 i/o 口:p0、p1、p2、p3 端口,对应的引脚 分别是 p0.0 p0.7,p1.0 p1.7,p2.0 p2.7,p3.0 p3.7,共 32 根 i/o 线。每根线可以单独用作输入或输出。 p0 端口,该口是一个 8 位漏极开路的双向 i/o 口。在作为输出口时,每 根引脚可以带动 8 个 ttl 输入负载。当把“1”写入 p0 时,则它的引脚可用作 高阻抗输入。当对外部程序或数据存储器进行存取时,p0 可用作多路复用的低 字节地址/数据总线,在该模式,p0 口拥有内部上拉电阻。在对 flash 存储器 进行编程时,p0 用于接收代码字节;在校验时,则输出代码字节;此时需要外 加上拉电阻。 p1 端口,该口是带有内部上拉电阻的 8 位双向 i/o 端口,p1 口的输出缓 冲器可驱动(吸收或输出电流方式)4 个 ttl 输入。对端口写“1”时,通过内 部的上拉电阻把端口拉到高电位,此时可用作输入口。p1 口作输入口使用时, 因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在对 flash 编程和程序校验时,p1 口接收低 8 位地址。 另外,p1.0 与 p1.1 可以配置成定时/计数器 2 的外部计数输入端 (p1.0/t2)与定时/计数器 2 的触发输入端(p1.0/t2ex) ,如表 3.1 所示。 表表 3.13.1 p1p1 口管脚复用功能口管脚复用功能 端口引脚复用功能 p1.0 t2(定时器/计算器 2 的外部输入端) p1.1 t2ex(定时器/计算器 2 的外部触发端和双向控制) p1.5 mosi(用于在线编程) p1.6 miso(用于在线编程) p1.7 sck(用于在线编程) p2 端口,该口是带有内部上拉电阻的 8 位双向 i/o 端口,p2 口的输出 缓冲器可驱动(吸收或输出电流方式)4 个 ttl 输入。对端口写“1”时,通过 内部的上拉电阻把端口拉到高电位,此时可用作输入口。p2 口作输入口使用时, 6 因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在访问外部程序存储器或 16 位的外部数据存储器时,p2 口送出高 8 位地 址,在访问 8 位地址的外部数据存储器时,p2 口引脚上的内容(就是专用寄存 器(sfr)区中 p2 寄存器的内容) ,在整个访问期间不会改变。在对 flash 编程 和程序校验期间,p2 口也接收高位地址或一些控制信号。 p3 端口,该口是带有内部上拉电阻的 8 位双向 i/o 端口,p3 口的输出 缓冲器可驱动(吸收或输出电流方式)4 个 ttl 输入。对端口写“1”时,通过 内部的上拉电阻把端口拉到高电位,此时可用作输入口。p3 口作输入口使用时, 因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 在 at89s52 中,同样 p3 口还用于一些复用功能,如表 3.2 所列。在对 flash 编程和程序校验期间,p3 口还接收一些控制信号。 表表 3.23.2 p3p3 端口引脚与复用功能表端口引脚与复用功能表 端口引脚复用功能 p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 int0(外部中断 0) p3.3 int1(外部中断 1) p3.4 t0(定时器 0 的外部输入) p3.5 t1(定时器 1 的外部输入) p3.6 wr(外部数据存储器写选通) p3.7 rd(外部数据存储器读选通) 2.rst 复位输入端。在振荡器运行时,在此脚上出现两个机器周期的高电 平将使其单片机复位。看门狗定时器(watchdog)溢出后,该引脚会保持 98 个 振荡周期的高电平。在 sfr auxr(地址 8eh)寄存器中的 disrto 位可以用于屏 蔽这种功能。disrto 位的默认状态,是复位高电平输出功能使能。 3.ale/prog 地址锁存允许信号。在存取外部存储器时,这个输出信号用 于锁存低字节地址。在对 flash 存储器编程时,这条引脚用于输入编程脉冲 prog。一般情况下,ale 是振荡器频率的 6 分频信号,可用于外部定时或时钟。 但是,在对外部数据存储器每次存取中,会跳过一个 ale 脉冲。在需要时,可 7 以把地址 8eh 中的 sfr 寄存器的 0 位置为“1” ,从而屏蔽 ale 的工作;而只有 在 movx 或 movc 指令执行时 ale 才被激活。在单片机处于外部执行方式时,对 ale 屏蔽位置“1”并不起作用。 4.psen 程序存储器允许信号。它用于读外部程序存储器。当 at89s52 在 执行来自外部存储器的指令时,每一个机器周期 psen 被激活 2 次。在对外部数 据存储器的每次存取中,psen 的 2 次激活会被跳过。 5.ea/vpp 外部存取允许信号。为了确保单片机从地址为 0000hffffh 的 外部程序存储器中读取代码,故要把 ea 接到 gnd 端,即地端。但是,如果锁定 位 1 被编程,则 ea 在复位时被锁存。当执行内部程序时,ea 应接到 vcc。在对 flash 存储器编程时,这条引脚接收 12v 编程电压 vpp。 6.xtal1 振荡器的反相放大器输入,内部时钟工作电路的输入。 7.xtal2 振荡器的反相放大器输出。 3.1.23.1.2 ds18b20ds18b20 功能介绍功能介绍 1)ds18b20 简介 ds18b20 是智能温度传感器,它的输入、输出采用数字量,通过单总线, 接收主机发送的命令,根据 ds18b20 内部的协议进行相应的处理,将转换的温 度数值以串口形式发给主机,主机按照通讯协议用一个 i/o 口模拟 ds18b20 时 序,发送命令(初始化命令、rom 命令、功能命令)给 ds18b20,并读取温度值, 在内部进行相应的数据处理,用字符型液晶显示模块显示各点的温度值。在系 统启动之时,可以通过按键设置各点温度的上限值和下限值,当某点温度超过 设置值时,报警器开始报警,从而实现了对各点温度实时监控。 每个 ds18b20 有自己的序列号,因此本系统可以在一根总线上接了 4 个 ds18b20,通过 crc 校验,对各个 ds18b20 的 rom 进行寻址,地址符合的 ds18b20 才作出响应,接收足迹命令,向主机发送转换的温度。采用这种 ds18b20 寻址技术,使系统硬件电路更加简单。 ds18b20 虽然有测温简单的特点,单在实际应用中应注意以下几点: (1)较小的硬件开销需要相对复杂的软件进行补偿,由于 ds18b20 与微处理 器间采用串行数据传送,因此,在对 ds18b20 进行读写编程时,必须严格的保 证读写时序,否则将无法读取测温结果。在使用 pl/m、c 等高级语言进行系统 8 程序设计时,对 ds18b20 操作部分最好采用 c 语言实现。 (2) 在 ds18b20 的有关资料中均未提及单总线上所挂 ds18b20 数量问题, 容易使人误认为可以挂任意多个 ds18b20,在实际应用中并非如此。当单总线 上所挂 ds18b20 超过 8 个时钟,就需要解决微处理器的总线驱动问题,这一点 在进行多点测温系统设计时要加以注意。 (3) 连接 ds18b20 的总线电缆是有长度限制的。试验中,当采用普通信号 电缆传输长度超过 50m 时,读取的测温数据将发生错误。当将总线电缆改为双 绞线带屏蔽电缆时,正常通讯距离可达 150m,当采用每米绞合次数更多的双绞 线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容 使信号波形产生畸变造成的。因此,在用 ds18b20 进行长距离测温系统设计时 要充分考虑总线分布电容和阻抗匹配问题。 (4) 在 ds18b20 测温程序设计中,向 ds18b20 发出温度转换命令后,程序 总要等待 ds18b20 的返回信号,一旦某个 ds18b20 接触不好或断线,当程序读 该 ds18b20 时,将没有返回信号,程序进入死循环。这一点在进行 ds18b20 硬 件连接和软件设计时也要给予一定的重视。 2)ds18b20 的性能特点 (1)独特的单线接口仅需要一个端口引脚进行通讯; (2)在 ds18b20 中的每个器件上偶有独一无二的序列号,因此多个 ds18b20 可以并联在唯一的三线上,实现多点组网功能; (3)实际应用中不需要任何外部器件即可实现; (4)可通过数据线供电,电压范围为 3.05.5v; (5)零待机功耗; (6)用户可定义的非易失性温度报警设置; (7)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器 件; 3.1.33.1.3 1602lcd1602lcd 液晶显示屏液晶显示屏功能介绍功能介绍 1)lcd1602 主要技术参数 显示容量为162个字符; 芯片工作电压为4.55.5v; 9 工作电流为2.0ma(5.0v) ; 模块最佳工作电压为5.0v; 字符尺寸为2.954.35(wh)mm。 2)lcd1602 的引脚说明 lcd1602采用标准的14脚接口,其中: 第1脚:vss为地电源。 第2脚:vdd接5v正电源。 第3脚:v0为液晶显示器对比度调整端。 第4脚:rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄 存器。 第5脚:rw为读写信号线,高电平时进行读操作,低电平时进行写操作。当 rs和rw共同为低电平时可以写入指令或者显示地址,当rs为低电平rw为高电平 时可以读忙信号,当rs为高电平rw为低电平时可以写入数据。 第6脚:e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:d0d7为8位双向数据线。 第1516脚:空脚 3)控制指令说明 1602液晶模块内部的控制器共有11条控制指令,如4.3表所示: 表表 4.34.3 控制命令表控制命令表 序号 指令 rsr/wd7d6d5d4d3d2d1d0 1 清显示 0000000001 2 光标返回 000000001* 3 置输入模式 00000001i/ds 4 显示开/关控制 0000001dcb 5 光标或字符移位 000001s/c r/l* 6 置功能 00001dlnf* 7 置字符发生存贮器地址 0001 字符发生存贮器地址 8 置数据存贮器地址 001 显示数据存贮器地址 10 9 读忙标志或地址 01bf 计数器地址 10 写数到 cgram 或 ddram) 10 要写的数据内容 11 从 cgram 或 ddram 读数 11 读出的数据内容 1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说明:1为高电平、0为低电平) 指令1:清显示,指令码01h,光标复位到地址00h位置 指令2:光标复位,光标返回到地址00h 指令3:光标和显示模式设置 i/d:光标移动方向,高电平右移,低电平左 移 s:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。 d:控制整体显示的开与关,高电平表示开显示, 低电平表示关显示 c:控制光标的开与关,高电平表示有光标,低电平表示无 光标 b:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令5:光标或显示移位 s/c:高电平时移动显示的文字,低电平时移动光 标 指令6:功能设置命令 dl:高电平时为4位总线,低电平时为8位总线 n: 低电平时为单行显示,高电平时双行显示 f: 低电平时显示5x7的点阵字符,高 电平时显示5x10的点阵字符 指令7:字符发生器ram地址设置 指令8:ddram地址设置 指令9:读忙信号和光标地址 bf:为忙标志位,高电平表示忙,此时模块 不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据 指令11:读数据 3.23.2 电路设计电路设计 3.2.13.2.1 ds18b20ds18b20 与单片机接口电路设计与单片机接口电路设计 ds18b20 可以采用电源供电方式,此时 ds18b20 的 1 管脚接地,2 脚作为信 号线接单片机的 i/o 口,电源与数字输入管脚间需接一个 4.7k 的电阻,3 管脚 11 接电源,如图 3.2.1 所示。当 ds18b20 处于些存储器操作和温度 a/d 转换操作 时,总线上必须有强的上拉,上拉开启时间最大为 10s。 单片机 at89s52 vc ds18b20 dq gnd vcc 10k 图图 3.2.13.2.1 ds18b20ds18b20 采用电源供电方式的电路图采用电源供电方式的电路图 3.2.23.2.2 lcdlcd 液晶显示屏与单片机接口电路设计液晶显示屏与单片机接口电路设计 本系统的显示部分采用lcd1602字符显示模块,与采用数码管相比,硬件连 接和软件调试上都由优势。只要把要显示的内容放进液晶模块的显示存储器里 面就可以直观的显示出指定的内容,操作方便。 lcd1602与单片机的连接图,如图4.3所示: 图图 4.34.3 lcdlcd 液晶显示屏与单片机接口硬件连接图液晶显示屏与单片机接口硬件连接图 其中,单片机的p0.0p0.2引脚与lcd1602的46引脚相连,因为at89s52单 片机的p0口没有上拉电阻,所以在它们中间接一个5.1千欧姆的电阻,它们数据 12 的读写功能。单片机的p2.0p2.8引脚与lcd1602的714引脚相连,进行数据的 通讯传输。 3.2.33.2.3 报警电路设计报警电路设计 本系统采用单片机与蜂鸣器相连来显示当前系统所处的状态来报警。如图 图4.5所示,其中p3.5口与蜂鸣器相连,在p3.5与蜂鸣器中间接一个5.6k的上拉 电阻起到防止电流过大,保护器件的作用。 图图 4.54.5 报警硬件连接图报警硬件连接图 报警电路说明:当实际温度值超出所设定的报警温度上下限范围后,蜂鸣 器开始报警。 3.2.43.2.4 串口电路设计串口电路设计 13 本系统中用串口将四点温度发送给上位机,用串口调试助手来接收温度值。 4 4 软件设计软件设计 整个软件包括温度采集和数据传输两个主要部分组成。 其中温度采集又是由单总线协议和注册码组成的,因此,软件设计主要任 务是实现1-wire总线协议。 4.14.1 温度处理子程序设计温度处理子程序设计 计算温度子程序将ram中读取值进行bcd码的转换运算,并进行温度值正负 的判定,其程序流程图如图4.1所示 4.24.2 按键处理子程序设计按键处理子程序设计 按键处理子程序通过扫描按键情况,主要完成温度上下限的查看和对其进 行设置,程序流程图如图4.2所示 4.34.3 系统温度阈值设定子程序设计系统温度阈值设定子程序设计 此系统设有报警功能,程序中首先设定了报警的温度上限和下限,即温度 低于下限或高于上限温度值,就自动启动报警系统, 4.44.4 温度显示子程序设计温度显示子程序设计 读出温度子程序的主要功能是读出ram中的9字节,在读出是需进行crc校验, 校验有错误时不进行温度数据的改写。其程序流程图如图4.3所示: 4.54.5 显示数据刷新程序子程序设计显示数据刷新程序子程序设计 显示数据刷新程序子程序流程图如图4.4所示 14 计算小数位温度 bcd 值 计算整数位温度 bcd 值 开始 结束 温度零下? 温度值取补 码 置“-”标志 置“+”标志 n y 图图 4.14.1 温度处理子程序流程图温度处理子程序流程图 开始 15 开始 k1 键是 否按下? 显示报警 上限值 k2 键是 否按下? k3 键是 否按下? 返回 设置报警上限 图图 4.24.2 按键处理子程序流程图按键处理子程序流程图 开始 16 发 ds18b20 复位命令 发跳过 rom 命令 发读取温度命令 读取操作,crc 校验 9 字节完? crc 校验正确? 移入温度暂存器 结束 n y n y 图图 4.34.3 温度显示子程序流程图温度显示子程序流程图 开始 17 显示十位数 显示个位数 显示小数位百位数显示数据 (不显示符号) 结束 n n y y 初始化 1602 液晶 写显示地址 图图 4.44.4 显示数据刷新程序流程图显示数据刷新程序流程图 开始 18 5 5 实验结果的分析实验结果的分析 结果显示结果显示: 1.控制模块及液晶显示模块: 2.液晶显示模块上电之后: 19 3.串口发送模块: 4.pc 界面显示: 20 误差分析误差分析: 实际温度1 路2 路3 路4 路 数据 1 22.422.622.821.922.9 数据 2 25.625.225.425.926.0 数据 3 27.427.027.228.027.8 数据来源方法:实际温度计测量。 原因分析:ds18b20 数据手册精度有限,会产生 0.5 度左右的误差,单片机运 行时间过长发热会造成数据读取产生误差,也有可能来自于本身的制造误差。 21 总总 结结 本文所研究的温度控制系统系统由单片机、数字温度传感器、液晶显示模 块、键盘设置模块和报警模块及串口模块组成。该测温系统应用测温传感器 ds18b20,通过 ds18b20 把温度值转换成数字量,把数字量送给单片机,并在液 晶显示器上显示出来。通过键盘设置温度报警上下限,可以对系统状态进行监 控。通过多个 ds18b20 并联在一起,可以解决多点温度分布测量问题。 该测温系统应用智能温度传感器ds18b20,大大减弱了传统模拟信号在传输 过程中衰减、干扰问题的影晌。使测试系统具有更好的可靠性和精度。实现了 一 种在非极端条件下(-50125)的温度测量方法。而且在硬件电路的设计上 面更加简洁,不需要太多的外围电路,也降低了电路设计的要求。 本系统存在着一些不足:一般环境的测量仪器完全可以采用数字式的传感 器,ds18b20是一款非常优秀的数字式温度传感器,在测量速度要求不高的情况 下,将来可以实现更多点的温度测量。而且系统需要结合机械结构设计,方便 多个ds18b20的安装和更换。数字式传感器使用中最大的缺点就是软件复杂,所 以需要更加优化通用软件包的代码,提高代码效率和可移植性,这也是我以后 需要注意的地方。 22 参考文献参考文献 1沈德金, 陈粤初. mcs-51 系列单片机接口电路与应用程序实例北京航空航天大 学出版社,1990 2胡汉才. 单片机原理及接口技术.清华大学出版社,1996 3何立民. mcs-51 系列单片机应用系统设计. 北京航空航天大学出版社, 1990 4李建民. 单片机在温度控制系统中的应用.江汉大学学报,1996 5张毅刚, 彭喜元, 姜守达, 乔立岩. 新编 mcs-51 系列单片机应用设计. 哈尔滨工 业大学出版社, 2003 6邵敏权,刘刚.单片机原理实验及应用.吉林科学技术出版社, 1995 7陈汝全.实用微机与单片机控制技术.电子科技大学出版社, 1995 8李华. mcs-51 系列单片机应用接口技术.北京航空航天大学出版, 1993 9周航慈. 单片机应用程序设计.北京航空航天大学出版社, 1991 10王毅.单片机器件应用手册. 人民邮电出版社,1994 11ds18b20 programmable resolution 1-wire digital thermometer 12吴秀清, 周菏琴. 微型计算机原理与接口技术. 北京: 中国科学技术大学出版社. 2003: 244-423 13童诗白, 华成英. 模拟电子技术基础. 北京: 高等教育出版社. 2000.3: 71-554 14孙涵芳, 徐爱卿. mcs 系列单片机的原理与应用. 北京: 北京航空航天大学出版社, 1990 15付家才. 单片机控制工程实践技术. 北京: 化学工业出版社, 2004 于海生等. 微 型计算机控制技术. 北京: 清华大学出版社, 2005 23 谢谢 辞辞 时光飞逝、岁月入流。如果说在过去四年里,我的学习是一个知识的积累 过程,那么现在的毕业设计就是对过去所学知识的综合运用,是对理论进行深 化和重新认识的一次活动。在为期近一个多月的毕业设计中,我付出了很多, 也收获了很多。我的各方面知识得到了巩固和提高,可能在这一个多月的学习 当中我学到的知识可能都比四年以来学到的都还要多。 通过这次毕业设计,我完成硬件电路的设计、单片机软件编写、焊接电路 板等。在这些过程中,遇到了许多困难,但通过查阅书籍、上网以及不断的向 老师、同学们请教,我学到了很多以前没有学到的知识。通过此次毕业设计, 我不仅对理论有了更深一步的认识,并且增强了自己的动手能力,还培养了自 学能力和分析解决问题的能力,更重要的是,培养了克服困难的勇气和信心。 在这里,我对这一个月以来一直指导、勉励和督促我的指导老师吕老师以 及和帮助过我的同学们表示衷心的感谢,谢谢你们! 24 总程序总程序 #include #include #include #define uchar unsigned char #define uint unsigned int sbit dq=p33;/ds18b20与单片机连接口 sbit rs=p25; sbit rw=p26; sbit en=p27; sbit beep=p34; /定义蜂鸣器 uchar code str1=0 x28,0 x96,0 xed,0 x4e,0 x03,0 x00,0 x00,0 x3a;/rom 1 uchar code str2=0 x28,0 xd2,0 x14,0 x4f,0 x03,0 x00,0 x00,0 x49;/rom 2 uchar code str3=0 x28,0 xf8,0 xfc,0 x4e,0 x03,0 x00,0 x00,0 x5b;/rom 3 uchar code table8=0 x0c,0 x12,0 x12,0 x0c,0 x00,0 x00,0 x00,0 x00;/ 摄氏 温度符号 uchar data disdata5; uint tvalue;/温度值 uchar qq; bit beep_st; /蜂鸣器间隔标志 uchar x=0; /计数器 /*lcd1602程序*/ void delay1ms(uint ms)/延时1毫秒(不够精确的) uint i,j; for(i=0;ims;i+) for(j=0;j100;j+); 25 void inittimer(void) tmod=0 x1; th0=0 x4c; tl0=0 x00; /50ms(晶振11.0592m) ea=1; /全局中断开关 tr0=1; et0=1; /开启定时器0 /*定时器0中断服务程序*/ void timer0(void) interrupt 1 th0=0 x4c; tl0=0 x00; x+; unsigned char rolmove(unsigned char m) unsigned char a,b,c,d,e,f,g,h; a=(m b=(m c=(m d=(m f=(m g=(m h=(m m=a|b|c|d|e|f|g|h; 26 return m; void wr_com(uchar com)/写指令/ /串口程序 delay1ms(1); rs=0; rw=0; en=0; p0=rolmove(com); delay1ms(1); en=1; delay1ms(1); en=0; void wr_dat(uchar dat)/写数据/ delay1ms(1); rs=1; rw=0; en=0; p0=rolmove(dat); delay1ms(1); en=1; delay1ms(1); en=0; void wr_new() /写新字符 uchar i; wr_com(0 x40); 27 for(i=0;i=1; dq = 1; /给脉冲信号 if(dq
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 尿素保底合同(标准版)
- 城市公园空气质量改善方案
- 风电场并网调度与控制方案
- 2025浙江宁波慈溪市金山初级中学招聘派遣制教师3人考试参考试题及答案解析
- 保姆看护小孩雇佣合同3篇
- 山东省聊城市冠县2024-2025学年 七年级下学期7月期末英语试题(含答案无听力)
- 教科版六年级下册期末考试科学试卷(含答案)2024-2025学年云南省昆明市盘龙区
- 城中村改造土方施工与管理方案
- 城市公园施工进度管理方案
- 2025年金融知识试题及答案
- 全球热泵产业发展报告2025
- 商业地产项目数字化运营与客户体验提升策略研究报告
- 2025新疆天泽和达水务科技有限公司部分岗位社会招聘28人笔试模拟试题及答案解析
- 基于多元线性回归的国内旅游收入影响分析-以江西省为例
- 水厂化验室知识培训课件
- 实验学校物业管理服务项目方案投标文件(技术方案)
- 2025个人房屋租赁合同范本下载
- 督脉刮痧配合刺血治疗急性乳腺炎
- 2025年初级(五级)健康照护师(五级)《理论知识》试卷真题(后附答案和解析)
- 避孕药具宣传培训课件
- 大盘鸡的介绍
评论
0/150
提交评论