您现在的位置:首页 > >

基于51单片机的多路温度采集控制系统设计_图文

发布时间:

仅供个人参考

毕业设计(论文)
题目:基于 51 单片机的多路温度采集控制系统设计 院 专 姓 学 (系): 业: 名: 号:

指导教师:

二〇一三年十二月五日

不得用于商业用途

仅供个人参考

毕业设计(论文)任务书
学生姓名 专 业 学号

院(系) 毕业设计(论文)题目 基于 51 单片机的多路温度采集控制系统设计 (1).介绍多路温度采集系统的发展历史、现况及将来的发 展趋势; 任务与要求 (2).多路温度采集系统设计及原理说明; (3).介绍单片机最小系统的原理和作用; (4).多路温度采集的总体设计框图; (5).多路温度采集系统原理图设计及说明。

完成时间段

指导教师单位

职称

院(系)审核意见

不得用于商业用途

仅供个人参考

毕业设计(论文)进度计划表
指导教师 日 期 工 作 内 容 执 行 情 况 签 2013.6.152013.6.28 2013.6.292013.8.30 查找资料,选题 字

完成论文的初稿

2013.8.312013.9.30 2013.10.12013.10.20

完成论文二稿的写作

完成论文的终稿及格式修 改

2013.10.212013.11.20 20113.11.212013.12.5

进一步修改论文、定稿, 打印论文,做好答辩准备

做好论文答辩准备

教师对进度 计划 实施情况总 评 签名: 年 月 日

不得用于商业用途

仅供个人参考

毕业设计(论文)中期检查记录表
毕业设计(论文)题目: 基于 51 单片机的多路温度采集控制系统设计 学生姓名: 专业: 指导教师姓名: 毕业设计(论文)题目工作量 毕业设计(论文)题目难度 毕业设计(论文)题目涉及知识点 毕业设计(论文)题目价值 值 学生是否按计划进度独立完成工作 检查 教师填写 任务 学生毕业设计(论文)工作进度填写情况 指导次数 学生工作态度 其他检查内容: 存在问题及采取措施: 认真 一般 较差 职称: 饱满 大 丰富 很有价 一般 大 一般 适中 比较丰富 不够 不够 较少 价值不 学号:

学生填写

检查教师签字:







院(系)意见

(加盖公章):







不得用于商业用途

仅供个人参考

摘 要
随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生 活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集 控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于 51 单片机的多路温度采集控制系统设计的基本流 程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数 字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数 据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发 送到 LED 进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置 温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器 的目的。 我所采用的控制芯片为 AT89C51,此芯片功能较为强大,能够满足设计要求。通 过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。

关键词:温度

多路温度采集

驱动电路

继电器

不得用于商业用途

仅供个人参考

ABSTRACT
With the rapid development of modern information technology, temperature measurement and control system is playing a more and more important role in industry, agriculture and people's daily life, it has great influence on people's life, has very important significance to research and design of the temperature acquisition and control system. This design aims to study based on the basic process design of multi-channel temperature acquisition and control system of 51 single chip microcomputer. This design uses a microcontroller as data process and control unit, in order to carry on the data processing, SCM control digital temperature sensor, the temperature signal through single bus digital temperature sensor transfer to mcu. After the microcomputer data processing, sends control information to change the alarm and control execution module state, at the same time, the temperature information is sent to the LED for display. This system can realize the multi-channel temperature signal acquisition and display, you can use the button to set the temperature limit value, by MCU, sends a control signal to control the buzzer and relay destination. I adopted the control chip AT89C51, the chip function is relatively strong, can meet the design requirements. Through the circuit design, on chip peripheral expansion, to achieve the control of a workshop of temperature and regulating function.

Keywords: Temperature

Multi temperature acquisition

Drive circuit

Relay

不得用于商业用途

仅供个人参考

目 录
第一章 绪论 .................................................................................. 错误!未定义书签。 第一节 选题背景 ................................................................... 错误!未定义书签。 第二节 本设计的任务和主要内容 ....................................... 错误!未定义书签。 第二章 系统总体设计 .................................................................. 错误!未定义书签。 第一节 系统概述 ................................................................... 错误!未定义书签。 第二节 系统工作原理分析 ................................................... 错误!未定义书签。 第三章 系统的硬件设计 .............................................................. 错误!未定义书签。 第一节 温度采集系统的开发过程 ....................................... 错误!未定义书签。 第二节 单片机的最小系统设计 ........................................... 错误!未定义书签。 第三节 温度采集接口电路设计 ........................................... 错误!未定义书签。 第四节 显示器与键盘电路的设计 ....................................... 错误!未定义书签。 第五节 报警电路设计 ........................................................... 错误!未定义书签。 第六节 综合功能的设计 ....................................................... 错误!未定义书签。 第四章 多路温度采集系统的软件设计 ...................................... 错误!未定义书签。 第一节 主程序流程设计 ....................................................... 错误!未定义书签。 第二节 程序设计及巡检子程序设计 ................................... 错误!未定义书签。 第三节 巡检键盘及数码管多通道显示 ............................... 错误!未定义书签。 第四节 温度报警程序设计 ................................................... 错误!未定义书签。 结论 ................................................................................................ 错误!未定义书签。 致 谢 .............................................................................................. 错误!未定义书签。 参考文献 ........................................................................................ 错误!未定义书签。

不得用于商业用途

仅供个人参考

第一章 绪论

本设计主要设计一种多路温度采集检测系统, 采用目前低价位但技术十分成熟的 AT89S52 单片机作为内核,选用 DS18B20 作为温度传感器,送到显示器循环显示所测 的四路温度数值,并根据现场工业需要,设置了一定范围的报警值,报警优先显示, 利用按键消除报警。可用按键查看某一路的温度值,查看时数据采集不中断。软件算 法上采用了直接拟合的方法(通过电压-温度关系来计算温度值),符合课题要求。 本课题构成的多路温度系统具有结构简单、价格低廉、测量精度高、量程宽的特点, 在很多场合具有一定的适用性。

第一节 选题背景

测量控制的作用是从生产现场中获取各种参数,运用科学方法,综合各种先进的 技术,是生产的每个环节都能够得到有效的控制,不但保证了生产的规范化、提高产 品质量, 降低成本, 还确保了生产安全。 所以, 测量控制技术已经被广泛应用于炼油、 化工、冶金、电力、轻工和纺织等行业。 温度是工业对象中主要的被控参数之一, 在各个种类的企业中应用广泛的各种加 热设备、反应炉设备等都需要严格的控制温度。随着时代的进步,科技的发展,各行 各业对于温度采集系统的要求也在不断提高以达到设备环境、生产流程的安全要求, 也越来越成为温度采集系统的几个重要指标。 随着集成电路技术的越来越快、 越来越大规模化的发展, 由于单片机具有体积小、 功能强、性价比高等优点,基于单片机开发出来的一系列采集、控制系统也逐渐受到 广泛关注。采取单片机作为核心,可完成对温度的采集要求。所以基于单片机的多路 温度采集系统被广泛应用于很多工业过程控制中,使产品既提高了产品的功能和质 量,又降低了成本,简化了设计。采用单片机设计的多路温度采集系统,可进行温度 检测、采集及显示,对于提高生产效率,节约能源、资源都有非常重要的作用。

不得用于商业用途

仅供个人参考

第二节 本设计的任务和主要内容

如何基于 AT89S52 对 4 路温度进行采集的具体要求,有以下几点: (1)选用哪种传感器将温度信号转化为电信号; (2)单片机外围硬件的电路设计; (3)内部程序的编写。 在温度采集系统中我们经常用到集成型温度传感器, 集成型传感器可以达到较高 的精度,在集成型温度传感器的使用过程中,由于采用的单总线传输方式进行对远距 离的多点温度进行检测,故在程序的控制上较复杂。新型温度传感器 DS18B20 具有体 积小、精度高、使用电压宽采用一线总线等优点,在实际应用中取得了良好的测温效 果。 用四只 DS18B20 同时采集 4 路温度。AT89S52 单片机 P3.7 接口接单线总线。单 片机有一个全双工的串行通讯口,单片机与电脑之间能更好地进行串口通讯。

不得用于商业用途

仅供个人参考

第二章 系统总体设计
第一节 系统概述

根据设计要求的性能指标,本系统不仅要满足一定精度的温度采集的基本功能, 而且由于测量的路数为 4 路,还存在多路信号的循环显示问题,还要考虑温度超限报 警输出的功能, 同时系统还具有显示当前各路的测量温度值的功能和键盘选择显示路 数的功能。

第二节 系统工作原理分析

在测温系统中我们常常用到集成型温度传感器, 集成型温度传感器可以达到较高 的精度,在集成型温度传感器的使用过程中,由于采用的单总线传输方式进行对远距 离的多点温度进行检测,所以在程序的控制上比较复杂。在温度测量系统中,采用抗 干扰能力强的新型数字温度传感器是解决这些问题的最有效方案, 新型数字温度传感 器 DS18B20 具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优 点,在实际应用中取得了良好的测温效果。根据本课题的设计目标以及硬件的特点, 本系统的总体设计框图如图 2.1 所示。

报警

4 位 LED 显示

AT89S52

DS18B20 1 DS18B20 2 DS18B20 3 DS18B20 4

时钟电路

键盘电路

图 2.1 总体设计框图

不得用于商业用途

仅供个人参考

第三章 系统的硬件设计

一个温度采集系统,包括被采集信息的采集、转换、显示等环节,在本多路温度 采集系统设计中,包括 CPU 的选型以及包括显示电路、存储器、报警电路、电源电路 等设计。

第一节 温度采集系统的开发过程

本设计中以 DS18B20 为传感器、AT89S52 单片机为控制核心组成的多点温度测 试系统。用 4 只 DS18B20 同时测控 4 路温度(视实际需要还可扩展通道数)。 由 于每片 DS18B20 含有唯 一的硅串行数,所以在一条总线上可挂接多 个 DS18B20 芯片。 从 DS18B20 读出的信息或写入 DS18B20 的信息, 仅需要一根口线 (单 线接口) 。 读写及温度变换功率来源于数据总线, 总线本身也可以向所挂接的 DS18B20 供电,而无需额外电源。DS18B20 提供 9 位温度读数,构成多点温度检测系统而无 需任何外围硬件。处理时,将 DS18B20 信号线与单片机一位口线相连,单片机可挂 接多片 DS18B20,从而实现多点温度检测系统。由于 DS18B20 只有三个引脚,其中 两根是电源线 VDD 和 GND,另外一根用作总线 DQ(Data In/Out),由于其输出和输入 均是数字信号且与 TTL 电平兼容,因此其可以与微处理器直接进行接口,从而省去了 一般传感器所必需的中间转换环节。

第二节 单片机的最小系统设计

一、单片机的选型 目前,生产单片机的厂商有很多,尤其是近年来微电子技术、计算机技术的飞速 发展,比较著名的有 Intel、Philips、Microchip、Motorola、Zilog、Atmel 等半导 体企业。 在上述著名的半导体企业产品中,尤其在工业测控场合,运用较多的为 Intel 公司的 MCS-51 系列,Microchip 公司的 PIC 系列,如果作单路温度测量,恐怕要选

不得用于商业用途

仅供个人参考

择该系列的 CPU,但由于本系统涉及的是多路,各路报警的输出信号需要单独输出, 而且考虑信号调理电路的切换等还需要不少的控制线, 因此该系列的少引脚特点就不 适合本设计的需要,因此,本设计还是选用了 ATMEL 最新的 8 位单片机 AT89S52 作为 本系统的 CPU。 二、AT89S52 的性能及应用 功能特性描述:AT89S52 是一种低功耗、高性能 CMOS 8 位微控制器,具有 8K 在 系统可编程 Flash 存储器。使用 Atmel 公司高密度易失性存储器技术制造,与工业 80S52 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。 在单芯片上, 拥有灵巧的 8 位 CPU 和在系统可编程 Flash, 使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、有效的解决案,其引脚如图 3.1 所示。 AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看 门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构, 全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支 持 2 种软件可选择节电模式。 空闲模式下, CPU 停止工作, 允许 RAM、 定时器/计数器、 串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一 切工作停止,直到下一个中断或图 3.1 是 AT89S52 的引脚配置,40 个引脚中,正电 源和地线两根,外置石英振荡器的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口与 P3 口复用。其对应的引脚功能: Pin40:正电源脚,正常工作或对片内 EPROM 抄写程序时,接+5V 电源。 Pin19:时钟 XTAL1 脚,片内振荡电路的输入端。 Pin18:时钟 XTAL2 脚,片内振荡电路的输出端。 AT89S52 的时钟有两种方式,一种是片内时钟振荡方式,但需在 18 和 19 脚外接 石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取 10PF-30PF;另外一种是外部时 钟方式, 即将 XTAL1 接地, 外部时钟信号从 XTAL2 脚输入。 本设计采用片内时钟电路, 外接晶振和电容组成振荡器。

不得用于商业用途

仅供个人参考

图 3.1 AT89S52 引脚

输入输出(I/O)引脚:Pin39-Pin32 为。P0.0-P0.7 输入输出脚,Pin1-Pin8 为 P1.0-P1.7 输入输出脚 ,Pin21-Pin28 为 P2.0-P2.7 输硬件复位为止入输出脚, Pin10-Pin17 为 P3.0-P3.7 输入输出脚。 在对单片机设计中,P0 作为数码管的段选选通端口何数字键盘接口。 Pin9:RESET/ 复位信号复用脚,当 AT89S52 通电,时钟电路开始工作,在 RESET 引脚上出现 2 个时钟周期以上的高平,系统即初始复位。初始化后,程序计数器 PC 指向 0000H, P0-P3 输出口全部为高电平,堆栈指针写入 07H,其它专用寄存器被清 “0”。RESET 由高电平下降为低电平后,系统即从 0000H 地址开始执行程序。 值得注意的是,P0、P1、P2、P3 口作为普通 I/O 口使用时都是准双向口结构, 其输入操作和输出操作本质不同,输入操作是读引脚状态,输出是对锁存器的写入操 作。当内部总线给口锁存器置 0 或 1 时,锁存器中的 0、1 状态立即反映到引脚上。 但在输入操作时,如果锁存器状态为 0 引脚被钳位 0 状态,导致无法读出引脚的高电 平输入。因此,准双向口作为输入口时,应先使锁存器置 1(称之为置输入方式)。 然后,再读引脚,例如:要将 P1 口的状态读入到累加器 A 中,应执行以下两条指令: MOV P1,#0FFH ;P1 口置入方式。 MOV A, P1 ;读 P1 口引脚状态到 A。
不得用于商业用途

仅供个人参考

此外,I/O 口的端口自动识别功能,保证了无论是 P1 口(低 8 位地址)P2 口(高 8 位地址)的总线复用,还是 P3 口的功能复用,内部资源自动选择不需要用指令进 行状态选择。随着计算机技术的发展,单片机的功能越来越强大,寿命长、速度快、 低功耗、低噪声、可靠性高的特点及 16 位、32 位单片机的出现,在工业领域仍具有 很大的发展潜力。 三、时钟电路设计 本设计采用内部时钟方式来为系统提供时钟信号。时钟电路通常由晶震控制芯 片、电容和晶体震荡器组成。时钟电路是用来产生 AT89C51 单片机工作时所需要的时 钟信号。一般时钟设计有两种形式:内部时钟和外部时钟。AT89C51 单片机内部有一 个高增益反响放大器,它用来构成振荡器。此放大器有两个引脚,一个是的输入引脚 XTAL1,另一个是输出引脚 XTAL2,这两个引脚跨接晶体振荡器和用于微调的电容, 目的是用来构成一个自激励振荡器。如图 3-2 时钟电路,晶体振荡器的频率范围一般 在 1.2MHz 和 12MHz 之间,单片机的运行速度会受到晶振频率的影响,因此晶振频率 的选择很重要。晶振的起振频率有两个,一个是 11.0592MHZ,另一个是 12MHZ,本设 计的 AT89S52 单片机采用的是 12MHz。通常电路中的电容 C1 和 C2 的值都取为 30PF。 电路对外接电容的值尽管没有明确的要求, 然而电容的晶体振荡器频率会受到电容大 小的影响,以及振荡器的稳定性和起振的快速性都会受到影响。为了减少寄生电容, 晶振和电容应该与单片机芯片安装时尽可能的靠近, 以确保振荡器稳定, 可靠地工作。 本设计使用 NPO 电容,原因是它的温度稳定性比较好。时钟电路如图 3.2 所示:

不得用于商业用途

仅供个人参考

图 3.2 时钟电路

四、复位电路设计 为了使系统能够从正确的初始状态开始工作, 就必须在启动单片机的时候对单片 机复位。对电源+5V 而言,电容 C3 和电阻 R3 构成了微分电路。对于上电复位,上电 以后,复位电路通过电容使 RST 持续一段时间的高电平,如果 RST 能够持续充足时间 的高电平,系统就有足够的时间复位,那么就实现了系统复位的可靠性。但是,电容 的充电时间决定了 RST 端持续高电平的时间。随着电容充电的完成,RST 端变成低电 平。 如图 3-3 所示。 对于手动按钮复位, 它是通过手动操作按键来给 RST 一个高电平, 这种复位方式可以满足设计的要求,原因是,手动按键的时候总是有一个过程,在这 个时间段内,系统能够有足够的时间复位。图 3.3 中 C7=10uf,R21=4.7kΩ 。

图 3.3 复位电路

第三节 温度采集接口电路设计

本设计中以 DS18B20 为传感器、AT89S52 单片机为控制核心组成的多点温度测试
不得用于商业用途

仅供个人参考

系统。用 4 只 DS18B20 同时测控 4 路温度(视实际需要还可扩展通道数) 。由于每片 DS18B20 含有唯一的硅串行数,所以在一条总线上可挂接多个 DS18B20 芯片。从 DS18B20 读出的信息或写入 DS18B20 的信息,仅需要一根口线(单线接口) 。读写及 温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS18B20 供电,而无需额 外电源。DS18B20 提供 9 位温度读数,构成多点温度检测系统而无需任何外围硬件。 处理时,将 DS18B20 信号线与单片机一位口线相连,单片机可挂接多片 DS18B20,从 而实现多点温度检测系统。由于 DS18B20 只有三个引脚,其中两根是电源线 VDD 和 GND,另外一根用作总线 DQ(Data In/Out),由于其输出和输入均是数字信号且与 TTL 电平兼容,因此其可以与微处理器直接进行接口,从而省去了一般传感器所必需的中 间转换环节。 一、DS18B20 简介 DS18B20 是美国 Dallas 半导体公司推出的第一片支持"一线总线"接口的温度传 感器。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直 接将温度转化成串行数字信号供微机处理。DS18B20 特点如下:硬件接口简单,性能 稳定,单线接口,仅需一根口线与 MCU 连接无需外围元件;由总线提供电源;测温范 围为-55~75℃;精度为 0.5℃;9 位温度读数;A/D 变换时间为 200ms;用户自设定 温度报警上下限,其值是非易失性的;报警搜索命令可识别那片 DS18B20 超温度限。 (1)DS18B20 的引脚介绍 TO-92 封装的 DS18B20 的引脚排列见图 3.4,其引脚功能描述见表 3.1。

不得用于商业用途

仅供个人参考

表 3.1 DS18B20 详细引脚功能描述

序号 1 2 3

名称 GND DQ

引脚功能描述 地信号 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下, 也可以向器件提供电源。

VDD

可选择的 VDD 引脚。当工作于寄生电源时,此引脚必须接地。
DALLAS DS18B20 1 2 3

1

2

3

DS18B20 TO-92 封状底视图

(2)DS18B20 的产品特点 1) 只要求一个端口即可实现通信; 2) 在 DS18B20 中的每个器件上都有独一无二的序列号; 3) 实际应用中不需要外部任何元器件即可实现测温; 4) 测量温度范围在-55℃到+125℃之间; 5) 数字温度计的分辨率用户可以从 9 位到 12 位选择; 6) 内部有温度上、下限告警设置; 7)支持多点组网功能,多个 DS18B20 可以并联在一根三线上,实现多点测温; 8) 负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 DS18B20 的工作原理是:DS18B20 采用 3 脚 PR-35 封装,其中 GND 为地;I/O 为数据 输入/输出端(即单线总线) ,该脚为漏极开路输出,常态下呈高电平;VDD 是外部+5V 电源端,不用时应接地;DQ 为空脚。图 3.5 所示为 DS18B20 的内部框图,它主要包 括寄生电源、温度传感器、64 位激光 ROM 单线接口、存放中间数据的高速暂存器(内

GND

DQ

图 3.4 DS18B20 的管脚排列

VDD

不得用于商业用途

仅供个人参考

含 RAM) ,用于存储用户设定的温度上下限值的 TH 和 TL 触发器存储与控制逻辑、8 位循环冗余校验码(CRC)发生器等七部分。

图 3.5 DS18B20 内部结构图

DS18B20 的一线工作协议流程是:初始化→ROM 操作指令→存储器操作指令→数 据传输。其工作时序包括复位时序、写时序和读时序,如图 3.6,3.7,3.8 所示。由 于 DS18B20 采用的是 1-Wire 总线协议方式,即在一根数据线实现数据的双向传输, 而对 AT89S52 单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的 方法来模拟单总线的协议时序来完成对 DS18B20 芯片的访问。 由于 DS18B20 是在一根 I/O 线上读写数据,因此,对读写的数据位有着严格的时 序要求。DS18B20 有严格的通信协议来保证各位数据传输的正确性和完整性。该协议 定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主 设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时 序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数 据接收。数据和命令的传输都是低位在先。 DS18B20 的复位时序:

不得用于商业用途

仅供个人参考

主机发出复位脉冲 最小值:480μ s 最大值:960μ s VDD

主机接受所需要最短时间 480μ s DS18B20 发出 应答脉冲 60~240μ s

GND
图 3.6 DS18B20 的复位时序

DS18B20 的读时序,对于 DS18B20 的读时序分为读 0 时序和读 1 时序两个过程。 对于 DS18B20 的读时序是从主机把单总线拉低之后, 在 15μ s 之内就得释放单总 线,以让 DS18B20 把数据传输到单总线上。DS18B20 在完成一个读时序过程,至少需 要 60μ s 才能完成。
U GND 主 CPU 采样 主 CPU 读 0 时 U GND 主 CPU 采样 主 CPU 读 1 时

1μ s

1μ s 15μ s 30μ s 15μ s

15μ s

图 3.7 DS18B20 的读时序

DS18B20 的写时序,对于 DS18B20 的写时序仍然分为写 0 时序和写 1 时序两个过 程。
主 CPU 写 0 时 60~120μ s
>1μ s

U

U

主 CPU 写 1 时 60~120μ s

GND > 1 1μ s 15μ s 15μ s 30μ s

GND > DS18B20 采样 区 1 1μ s 15μ s 15μ s 30μ s DS18B20 采样 区

图 3.8 DS18B20 的写时序

对于 DS18B20 写 0 时序和写 1 时序的要求不同,当要写 0 时序时,单总线要被拉 低至少 60μ s,保证 DS18B20 能够在 15μ s 到 45μ s 之间能够正确地采样 I/O 总线上
不得用于商业用途

仅供个人参考

的“0”电平,当要写 1 时序时,单总线被拉低之后,在 15μ s 之内就得释放单总线。

图 3.9 DS18B20 测温原理框图

DS18B20 的温度测量原理如下: DS18B20 测量温度时使用特有的温度测量技术, 其测量电路框图如图 3.9 所示。内部计数器对一个受温度影响的振荡器的脉冲计数, 低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时,振荡器的脉冲无法 通过门电路。计数器设置为-55℃时的值,如果计数器到达 0 之前,门电路未关闭, 则温度寄存器的值将增加,这表示当前温度高于-55℃。同时,计数器复位在当前温 度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。如果门 电路仍然未关闭,则重复以过程。温度表示值为 9bit,高位为符号位。 另外,由于 DS18B20 单线通信功能是分时完成的,他有严格的时隙概念,因此读 写时序很重要。系统对 DS18B20 的各种操作必须按协议进行。操作协议为:初始化 DS18B20(发复位脉冲)→发 ROM 功能命令→发存储器操作命令→处理数据。 二、DS18B20 与单片机的接口设计 温度采集是工业生产经常遇到的问题。本设计中以 DS18B20 为传感器 AT89S52 单片机为控制核心组成的多点温度测试系统。用 4 只 DS18B20 同时测控 4 路温度(视 实际需要还可扩展通道数) 。本系统采用四位共阳极数码管动态显示温度,系统设有
不得用于商业用途

仅供个人参考

上下限报警电路。该控制系统的功能如下: (1)温度控制得设定范围为 0~100℃,最小分辨率为 0.5℃; (2)实时显示当前温度,可以单通道也可以循环显示; (3)命令按键 5 个:通道 0~通道 3 按键,巡检键。

第四节 显示器与键盘电路的设计

基于 DS18B20 的多点温度采集,共模拟了 4 点温度,具有各点温度采集功能,通 过按键设置也可以监控某一通道的温度,还设置报警温度,具有越限报警功能。SW1~ SW4 通道 0~通道 3 报警, XUNJIAN 为巡检键,关闭进入巡检模式。在本系统中,由 于该温度计还要进行信息的实时显示,所以设计了 LED 显示电路。LED 显示器采用 8 段发光二极管。共阳极 LED 显示器的发光二极管的阳极连接在一起,通常此公共阳极 接正电压。该电路由晶体管(NPN) 、显示器(共阳极 LED)和电阻构成。 一、显示电路设计 本设计使用了四块共阳极结构的 LED,对数码管的驱动有两种选择,一种是显示 驱动器 MAX7221,一种选择是三极管驱动。MAX7221 的特点是显示多样、需要单片机 输入输出口少(只需要 3 根) 、编程灵敏、简单且实用等,但是它是共阴极的驱动器。 因此,选择直接由三极管驱动。LED 数码管显示器有静态显示和动态显示两种方式。 静态显示就是当显示器显示某个字符时侯,和它相应的段(即就是发光二极管)恒定 的导通或者截止,直到显示要另一个字符为止。比起动态显示器,静态显示器的亮度 较高,编程也很容易,管理也较简单,但就是占用输入输出线资源较多,而且没有位 选信号,线路复杂,成本也高。动态显示就是单片机定时的对 LED 进行扫描,然后使 其逐个的显示出结果。当数码管显示的时候,由于人眼的视觉暂留效果,仍然感觉到 所有的数码管都同时在显示,此方法用到的是硬件扫描,成本低,但是占用的 CPU 资源多,亮度也不如静态显示。根据以上所述,本设计选用的显示方示为动态显示。 如图 3.10 为显示电路。

不得用于商业用途

仅供个人参考

图 3.10 显示电路

二、键盘电路设计 基于 DS18B20 的多点温度采集,共模拟了 4 点温度,具有各点温度采集功能,通 过按键设置也可以监控某一通道的温度,还设置报警温度,具有越限报警功能。键盘 电路如图 3.11 所示。

图 3.11 键盘电路

不得用于商业用途

仅供个人参考

第五节 报警电路设计

在单片机采集温度发生低于或超出所设定的温度时,单片机系统能相应发出提 醒。本次设计采用蜂鸣器。蜂鸣器可用 AT89S52 的 I/O 口线通过设置 PNP 的饱和截止 驱动蜂鸣器发声,当 I/O 口线发出具有一定的低电平信号,即可使蜂鸣器报警。 报警电 路如图 3.12 所示。

图 3.12 报警电路

第六节 综合功能的设计

本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数 字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数 据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发 送到 LED 进行显示。本系统可以实现多路温度信号采集与显示,可以使用程序来设置 温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和 LED 进行报警。如图 3.13 综合功能设计图。

不得用于商业用途

仅供个人参考

图 3.13 综合功能设计图 不得用于商业用途

仅供个人参考

第四章 多路温度采集系统的软件设计
第一节 主程序流程设计

图 4.1 主程序框图

(1) 采用模块程序设计。 (2) 采用自顶向下的程序设计。 (3) 外部设备和外部事件尽量采用中断方式与 CPU 联络,这样既便于系统模块化, 也可提高程序效率。

不得用于商业用途

仅供个人参考

(4) 近几年推出的单片机开发系统, 有些是支持高级语言的,如 C51 与 PL/M96 的编程和在线跟踪调试。 (5) 系统的软件设计应充分考虑到软件抗干扰措施。

第二节 程序设计及巡检子程序设计

程序处理是整个系统的关键,即简洁的硬件结构是靠复杂的软件来支持的。多个 器件挂在一条总线上为了识别不同的器件,在程序设计过程中一般有四个步骤:初始 化命令;传送 ROM 命令;传送 RAM 命令;数据交换命令。由于已经在上面获取了多个 DS18B20 的 ROM 代码并在 AT89S52 单片机内部的 E2PROM 中建立了测量位置点和传感器 64 位 ROM 代码之间的关系表,因此对多个温度的巡回测量流程图如图 4.2 所示。

不得用于商业用途

仅供个人参考

开始 复位 DS18B20 发出搜索 ROM 的命令

读在线 DS18B20 序列号

N

是否存在一个 DS18B20? Y 初始化 DS18B20

启动所有在线的 DS18B20 作温度 A/D 转换 跳过 ROM 命令;转换命令 延时 104μ s 初始化 DS18B20 执行期间匹配命令 发一个 DS18B20 序列号 发读暂存 RAM 命令 读匹配的 DS18B20 温度

所有在线 DS18B20 是否 访问完? Y 返回

N

图 4.2 巡检显示子程序流程图

测量流程说明: (1) 发跳过 ROM 命令 CCH;
不得用于商业用途

仅供个人参考

(2) 发启动所有在线的 DS18B20 进行温度转换命令 44H; (3) 延迟 104μ s; (4) 发匹配 ROM 命令 55H; (5) 按照 E2PROM 中建立的关系表的顺序取出 64 位 ROM 代码发送到单总线; (6) 发读温度值命令 BEH,读取温度值; (7) 进行 CRC 校验和数据处理后送 LED 显示器显示; (8) 重复第 4 步到第 7 步,直到所有的 DS18B20 测量处理完。 需要注意的是,无论是单点还是多点温度检测,在系统安装及工作之前,应将主 机逐个与 DS18B20 挂接,读出其序列号。其工作过程为:主机发出一个脉冲,待"0" 电平大于 104μ s 后,复位 DS18B20,在 DS18B20 所发响应脉冲由主机接收后,主机 再发读 ROM 命令代码 33H,然后发一个脉冲(104μ s) ,并接着读取 DS18B20 序列号 的一位。用同样方法读取序列号的 56 位。另外,由于 DS1820 单线通信功能是分时完 成的,遵循严格的时隙概念,因此,系统对 DS18B20 和各种操作必须按协议进行,即 初始化 DS18B20(发复位脉冲)→发 ROM 功能命令→发存储器操作命令→处理数据。 在正常测温情况下,DS18B20 的测温分辨力为 0.5℃。采用下述方法可获得高分 辨率的温度测量结果:首先用 DS18B20 提供的读暂存器指令(BEH)读出以 0.5℃为 分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB) ,得到所测实际温 度的整数部分,然后再用 BEH 指令取计数器 1 的计数剩余值和每度计数值。考虑到 DS18B20 测量温度的整数部分以 0.25℃和 0.75℃为进位界限的关系。

第三节 巡检键盘及数码管多通道显示

选用高亮度发光 LED 器件。温度数据按动态方式显示,将采集到的数值通过标度 转换由四位数码管显示。其段选段接 P0,位选信号由 P2.2、P2.3、P2.4 和 P2.5 设 置。存放位置: 6AH~6DH 为 0 通道设定值存放单元(依次为小数位,个位,十位,百位数); 6EH~6FH,76H~77H 为 1 通道设定值存放单元(依次为小数位,个位,十位,百位 数);

不得用于商业用途

仅供个人参考

78H~7BH 为 2 通道设定值存放单元(依次为小数位,个位,十位,百位数); 7CH~7FH 为 3 通道设定值存放单元(依次为小数位,个位,十位,百位数); 51H~54H 显示值存放单元(调温度闪烁时再送回显示单元)。 各显示按键功能如表 4.1 所示。
表 4.1 显示按键

按 键 XUNJIAN 键 SW1 SW2 SW3 SW4

功 能 用于控制循环显示各通道温度数据 用于实时显示“0”通道的温度数据 用于实时显示“1”通道的温度数据 用于实时显示“2”通道的温度数据 用于实时显示“3”通道的温度数据

系统经过初始化,进入多通道显示,然后扫描键盘,判断是否有按键按下,然后 进行按键所控制的通道的温度采集。所采集的温度与设定的温度相比较,越限可以报 警。多通道数据显示流程图如图 4.3 所示。

不得用于商业用途

仅供个人参考

开始

单通道显示方式

扫描键盘

是否有键按下?

N

Y 是 SW1 吗? N 是 SW2 吗? N 是 SW3 吗? N 是 SW4 吗? Y 过温度报警及温 度显示 Y 显示 3 通道数据 过温度报警及温 度显示 Y 显示 2 通道数据 过温度报警及温 度显示 Y 显示 1 通道数据 过温度报警及温 度显示

显示 4 通道数据

N

Y

是 XUNJIAN 模式 吗?

N 返回

图 4.3 多通道数据显示 不得用于商业用途

仅供个人参考

第四节 温度报警程序设计

由于 DS18B20 需要初始化才能使用,因此,首先必须对系统进行初始化并且要关 闭所有中断,DS18B20 把转换到的温度读出,然后放到累加器 A 中,把之前设置的温 度报警的上限值转换成 DS18B20 的输出值,这样然后再与报警上限的温度值进行比 较,如果检测的结果是温度没有超限,那么系统继续进行检测。温度报警的程序流程 如图 4.4 所示。

图 4.4 温度报警的程序流程

不得用于商业用途

仅供个人参考

结论

使用 DS18B20 数字化温度传感器;实现多路测温;简化了硬件系统,减少了使用 模拟传感器要进行放大 A/D 转换等工作。由于它的级联功能,可以在单总线上挂靠多 个器件,而不必占用多个 I/O 口,因此使系统更简捷。如果长距离测温,还可以使用 它的寄生电源功能,省去一根电源线。 进行设计和测试后,用模拟值检测按键功能,接着实现了 DS18B20 对多路温度信 号通道的采集,同时也完成了四路通道的循环采集和单通道采集,再根据采集到的实 际信号进行运算处理转换成温度值送入显示器显示。在本次设计过程中,对于如何实 现软件和硬件的结合有着很大的考验,所要考虑很多因素的影响。如按键去抖动,高 低电平的变化等。在毕业设计中,为了少走弯路和节省时间,应充分考虑并满足抗干 扰的要求,避免在设计完成后再去进行抗干扰的补救措施。 综上所述,用简单的硬件以及编程方法自动建立关系表,在单总线多点温度测量 系统中实现了数字温度传感器的自动识别,大大有利于系统的调试、维护,减少维护 工作量,并解决了过去维护工作必须由专业人员来完成,而不是由运行人员来完成的 不便。本设计创新点在于将单片机技术和一线总线技术相结合,改进现有的用放大和 集成电路采集系统。同时充分利用有限端口,在保证温度采集可靠性的基础上简化电 路、降低成本。

不得用于商业用途

仅供个人参考

致 谢

我的毕业设计,是在老师的理论与实践技术相结合地指导下,进行大胆的理论与 实践相结合,动手能力得到了较严格地训练,使我学到了怎样去查找翻阅有关理论资 料和技术手册,把书本上知识总结起来去应用于实践,学到了研究、开发,设计单片 微型计算机对工业过程控制的一套完整的方法,受益很大。在论文上给我很多的帮助 和指导。 硬件软件都要涉及。本毕业设计锻炼了我的动手能力,进一步强化了专业知识, 提高了将所学知识应用于实践的能力。在即将走出校门,踏上工作岗位之际,是大有 收益的。由于本人水平有限,而且经验不足。论文中的错误与纰漏之处在所难免,恳 请各位老师指正。谢谢!

不得用于商业用途

仅供个人参考

参考文献

[1] 蔡可健.《多路无线测温系统设计》.传感器技术,2005 年。 [2] 贾振国.《DS18B20 及高精度温度测量的实现》.电子技术应用,2000 年。 [3] 周月霞.《DS18B20 硬件连接及软件编程》.传感器世界,2001 年。 [4] 张毅刚.《单片机原理及应用》.北京:高等教育出版社,2001 年。 [5] 杨恢先.《单片机原理及应用》.上海:复旦大学出版社,2002 年。 [6] 杨丽君.《AT89C51 单片机控制的多路温度检测系统》.自动化与仪表,2000 年。 [7] 何立明.《单片机应用系统抗干扰技术》.北京:北京航空航天大学出版社,2000 年。 [8] 涂时亮.《单片微机软件设计技术》.重庆:科学技术文献出版社重庆分社,2003 年。

不得用于商业用途

仅供个人参考

仅供个人用于学习、研究;不得用于商业用途。
For personal use only in study and research; not for commercial use. Nur für den pers?nlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden. Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales. только для людей, которые используются для обучения, исследований и не должны

использоваться в коммерческих целях.

以下无正文

不得用于商业用途



热文推荐
猜你喜欢
友情链接: 简历 面试求职范文 职业规划 自我管理 社交礼仪 76242百科