1、 本科 毕业 设计 (论文 ) (二零 届) 基于单片机温度测量系统的设计 所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I 摘 要 由于我国的自动化长期以来一直都比较落后,各类农业、工业有相当一部分还停留在人工测量温度状态, 因此迫切需要先进的自动 测量温度的方法,以提高自动化水平。这对于提高工农业的经济效益无疑具有十分重要的意义。随着经济的发展和科学技术的进步,对于温度的测量和控制有了更高要求。采用单片机温度测量系统,能大大的提高温度测量的精度,降低产品的成本,简化操作,节省劳动力,提高生产效率。 本论文详细描述了基于单片机温度测量的设计,为了准确的实
2、现温度的测量和控制,本系统以 AT89C51 为控制核心,能实现温度显示和手动修改报警系统的上下限温度。 关键词 :温度测量,单片机,温度显示,报警系统 II The design of a temperature measurement system which is based on single chip microcomputer Abstract Quite part of all kinds of agriculture, industry has remained at the condition of artificially measuring temperature, be
3、cause our country automation has been falling behind for a long time. Therefore, its an urgent need of finding a way to measuring temperature which is advanced and automatic, increasing automation level. Undoubtedly, its extremely vital significative to improving the economic benefit of industry. Wi
4、th the development of economy and the progress of science and technology, there is a higher requirement of temperature measurement and control. Adopting single-chip microcomputer temperature measurement system, will greatly improve the accuracy of temperature measurement, reduce the cost of the prod
5、uct, simplify the operation, save labor, and improve production efficiency. This paper describes the detailed of the temperature measurement design which is based on single chip. To realizing temperature measurement and control accurately, this system uses AT89S51 as the control core, which can disp
6、lay temperature and modify the limit temperature of alarm system manually. Keywords: Temperature measurement, Microcontroller, Temperature display, Alarm system III 目录 摘 要 . I Abstract . II 1 绪论 . 1 1.1 单片机温度测量系统概述 . 1 1.2 温度测量系统的现状及未来趋势 . 1 1.2.1 单片机和热电偶组成的测温系统 . 1 1.2.2 单片机和热电阻组成的测温系统 . 2 1.2.3 单片
7、机和半导体 PN结组成的测温系统 . 2 1.2.4 温度测量系统的发展方向 . 2 2 硬件系统电路设计 . 3 2.1 整体电路工作原理和框图设计 . 3 2.2 DS18B20温度传感器 . 3 2.2.1 DS18B20 引脚功能 . 3 2.2.2 DS18B20 内部结构 . 3 2.2.3 DS18B20 初始化 . 4 2.2.4 DS18B20 读写操作 . 5 2.2.5 DS18B20 指令集 . 7 2.2.6 DS18B20 电路原理图 . 7 2.3 AT89C51单片机 . 8 2.3.1 AT89C51 引脚功能 . 8 2.3.2 AT89C51 的作用 .
8、8 2.4 复位电路设计 . 9 2.5 时钟电路设计和时序 . 10 2.6 报警系统 . 11 2.7 按键控制报警点设置原理 . 11 2.8 1602液晶 . 12 2.8.1 1602 引脚 . 12 2.8.2 1602 的特性 . 13 2.8.3 1602 时序和读写操作 . 13 2.8.4 1602 初始化 . 14 2.9 MAX232芯片和串口电路 . 15 2.10 系统总体硬件电路 . 17 3 软件程序设计 . 18 3.1 程序流程图 . 18 IV 3.1.1 单片机主程序的设计 . 18 3.1.2 1602 程序的设计 . 18 3.1.3 DS18B20
9、 程序的设计 . 19 结论 . 21 参考文献 . 22 致谢 . 错误 !未定义书签。 基于单片机温度测量系统的设计 1 1 绪论 1.1 单片机温度测量系统概述 随时科技和经济的发展,人民生活水平不断地提高,单片机技术越来越贴近我们的生活。可以说,它无处不在,给人们带来的方便更是有目共睹。单片机技术在温度测量方面的应用,就是一个很能说明情况的典型例子。单片机控制的温度测量技术正在逐步向着数字化、智能化的方向不断前进,这不仅仅解放了原始劳动力,更简化了操作程序,进一步提高了社会劳动生产效率。 目前,单片机温度测量系 统主要是通过 DS18B20 温度传感器进行测温。此温度传感器具有测温方便
10、,测温范围广以及能够手动设置报警温度上下限的优点。其输出温度能直观的显示在显示屏上,方便读数。 本次设计主要通过 AT89C51 来控制整个系统,利用 DS18B20 进行测温,通过 1602显示屏显示数值,并采用独立按键来修改报警温度的上下限,当温度到达设定数值后,会通过蜂鸣器发出报警。 1.2 温度测量系统的现状及未来趋势 目前,国内外普遍采用传统的热电偶、热电阻和半导体 PN结等模拟温度传感器与单片机结合的技术来进行温度测量。运用不同的模拟温 度传感器与单片机进行结合所产生的技术,具有不同的优缺点和使用范围。 1.2.1 单片机和热电偶组成的测温系统 热电偶是工业上最常用的温度检测元件之
11、一,主要具有如下几个优点: (1) 测量精确度高。热电偶直接与被测对象接触,不受中间介质的影响,进而能够更为准确得测温; (2) 测量范围广。常用的热电偶可以从 -50+1600进行连续测量,某些特殊热电偶最低可测到 -269,而最高则可达 +2800; (3) 构造简单,使用方便。热电偶通常是由两种不同的金属丝组成,在实际操作中不受大小和开头的限制,外部有保护套管,使用起来十分方便; 热电偶测温的基本原理并不复杂。我们将两种不同材料的导体或半导体 A和 B 焊接起来,构成一个闭合回路。当导体 A 和 B 的两个结点 1 和 2 之间存在温差时,两者之间便会产生电动势,进而在回路中形成一个电流
12、,这种现象称为热电效应。热电偶正是利用这一热电效应来进行工作。 热电偶测温技术的主要局限性在于,需要进行冷端温度补偿,进而导致在基于单片机温度测量系统的设计 2 低温段测量精度较低。 此外,热电偶上产生的信号经取样、放大后,通过模数转换,再交至单片机处理。被测温度信号经过众多器件,极易受到干扰,不易控制,进而在一定程度上导致精确度不高 1-2。 1.2.2 单片机和热电阻组成的测温系统 热电阻是中低温区最常用的一种温度检测器。与热电偶测温原理不同的是,热电阻温度传感器是基于电阻热效应进行的温度测量,即,利用电阻体的阻值随温度的变化而变化的特性进行温度测量。因此,在测温过程中,我们只要测量出感温
13、热电阻的阻值变化,就可以测量出温度。 热电阻测温技术的主要局限性在于,受到温度极限的限制, 不能测量高温 ,必须注意环境温度的影响。 同样的,热电阻上产生的信号经取样、放大后,通过模数转换,再交至单片机处理。被测温度信号也需要从温敏元件到单片机,同样会具备 “极易受到干扰 ,不易控制,进而在一定程度上导致精确度不高”的局限性 3。 1.2.3 单片机和半导体 PN 结组成的测温系统 PN 结温度传感器是在 PN 特性的基础上研制发展的。 PN 结温度传感器是一种半导体敏感器件 , 它能够实现温度与电压之间的转换。在常温范围内兼有热电偶、热电阻的各自优点,同时,它克服了这些传统测温器件的某些固有
14、缺陷,是自动控制和仪器仪表工业不可缺少的基础元器件之一。但是,被测温度信号仍旧是从热敏元件到单片机,同样具备 “极易受到干扰,不易控制,进而在一定程度上导致精确度不高”的局限性 4。 1.2.4 温度测量系统的发展方向 传统的模拟传感器都有着局限性,而且都要经过信号处理电路。在这个过程中,信号或多或少会受到干扰,导致信号失真,最终可能引发测量结果出现比较大的误差。 DS18B20作为一种新型的可编程温度传感器,能够极大程度改善这一问题,提高测温精确度。它是由美国 DALLAS公司推出的单总线数字测温芯片。在设计上, DS18B20 具有独特的单总线接口方式,仅需使用 1 个端口就能实现与单片机
15、的双向通讯。它能代替模拟温度传感器和信号处理电路,直接与单片机沟通,完成温度采集和数据处理。 DS18B20 与 AT89C51 的结合,可以实现最简温度检测系统。在此基础上,本次设计的系统具有显著优势,其结构简单,抗干扰能力强,更适合于恶劣环境下进行现场温度测量,具有广泛的应用前景。 基于单片机温度测量系统的设计 3 2 硬件系统电路设计 2.1 整体电路工作原理和框图设计 DS18B20 温度传感器所采用的是一线总线技术,在这条总线上可以有多个从系统,但主系统只能有一个。所有器件都通过一条信号线传输信息,采用单总线协议规定的时序进行工作,为了使各个设备能正常的使用这条总线,可以采用一个三态
16、门,总线在空闲时为高电平。本设计的要求是 DS18B20 的测量精度达 到 0.5摄氏度,温度测量范围为 0到 99 摄氏度。系统通过 DS18B20 采集到数据,通过总线传输到 AT89C51主控制器,在 1602上显示出温度。 DS18B20在完成温度转换后,会把测得的温度值和报警值的上下限进行比较,由蜂鸣器发出报警声。当超过最小值时, LED1灯亮,当超过最大值时, LED2灯亮。通过键盘可以改变报警温度的上下限,方便满足各种场合。系统的整体电路方框图如图 2-1所示。 图 2-1 整体电路方框图 2.2 DS18B20 温度传感器 2.2.1 DS18B20 引脚功能 DS18B20有
17、 3只引脚,对应的名称与功能如表 2-1所示。 表 2-1 引脚名称与功能 1 GND 接地 2 DQ 数字信号输入 /输出 3 VDD 电源 2.2.2 DS18B20 内部结构 DS18B20 的内部结构主要由温度传感器,温度报警触发器 TH、 TL,配置寄存器, 64位 ROM和单线接口组成。温度传感器是 DS18B20的内部测温设备,温度报警触发器 TH、 TL用来设置报警温度的上下限,配置寄存器用来使用 DS18B20AT89C51 控 制 器 1602 显示屏 DS18B20 报警系统 键盘模块 电源 LED 灯 基于单片机温度测量系统的设计 4 时的各种工作方式, 64位 ROM
18、用于数据校验。内部结构图如 图 2-2 所示。 图 2-2 DS18B20内部结构 高速暂存存储器由 9 个字节组成,第 0 位存放的是温度值低位,第 1 位存放的是温度值高位,第 2 位存放的是高温限值,第 3 位存放的是低温限值,第4位存放的是地址寄存器,第 5至 8位未使用,全为 1。第 0至第 4位在每次复位时都会被重新刷新。最后个字节 CRC 码是用来保证通信的正确性的,它的作用是读出每个字节的 CRC码 5-7。高速暂存寄存器如表 2-2所示。 表 2-2 高速暂存寄 存器 寄存器内容 字节地址 寄存器内容 字节地址 温度值低位 LSB 0 保留 5 温度值高位 MSB 1 保留
19、6 高温限值 TH 2 保留 7 低温限值 TL 3 CRC 校验码 8 配置寄存器 4 2.2.3 DS18B20 初始化 首先,单片机将总线变成低电平,经过 480-960 微秒的延迟后,释放总线重新变成高电平,在接下来的 480 微秒时间内,单片机会对总线进行检测,如果检测到的是低电平,说明总线上有器件已做出相应的回应。若检测到的结果始终还是高电平,则说明总线上没有器件应答。 存储器和控制器 高速 缓存 存储器 8 位 CRC 生成器 低温触发器 TL 高温触发器 TH 温度灵敏元件 配置寄存器 64 位ROM和单线接口 电源检测 基于单片机温度测量系统的设计 5 DS18B20 作为单
20、片机的从器件,在上电后,就一直处在检测总线上是否有480 960 微秒的低电平出现的状态,如果出现相应电平, DS18B20 会在总线变成高电平后等待 15 60微秒,再将总线变成低电平。最后在 60 240 微秒的这段时间中 DS18B20 会做出回应脉冲,告诉单片机从器件已做好准备。若没有检测到就一直检测总线等待回应。若没有检测到相应电平,单片机则会一直检测总线,等待回应。 DS18B20 的初始化过程如图 2-3所示。 图 2-3 初始化过程“复位和存在脉冲” 2.2.4 DS18B20 读写操作 系统运行时,单片 机会向 DS18B20 发出各种操作指令。这类操作命令是由向 DS18B
21、20 发送的“ 0”和“ 1”组成的简单指令。单片机在接收数据时,也是从 DS18B20中读取“ 0”或“ 1”。所以,搞清楚单片机是如何写“ 0”、写“ 1”、读“ 0”和读“ 1”是非常关键的。 单片机向 DS18B20 发送一个位所需的 周期 , 最少为 60 微秒,最长不超过120 微秒。当写周期一开始,单片机就把总线拉低 1 微秒表示写周期开始。随后若单片机想写“ 0”,则继续保持低电平最少 60微秒直至写周期结束。完成此过程后,单片机释放总线变为高电平。若单片机想写“ 1”, 就把总线变为低电平 1微秒,然后再释放总线变为高电平,一直到写周期结束。 DS18B20作为从机在检测到总线变为低电平后,会先等待 15微秒,随后在接下来的 15微秒到 45微秒对总线进行采样。采样期内,总线为高电平则为“ 1”;总线为低电平则为“ 0”。 DS18B20的写操作时序图如图 2-4所示。