1、51 单片机温度测量与控制系统 摘 要 随着现代信息技术和工农业的快速发展, 单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术 , 本文主要介绍了一个基于 51 单片机的测温系统,详细描述了利用数字温度传感器 DS18B20 开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也进行了介绍 ,该系统可以方便的实现实时温度采集和显示,并可根据需要设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其
2、它系统中,作为其他主系统的辅助扩展。 DS18B20 与 51 单片机结合实现最简温度检测系 统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 关键字 : 51 单片机、温度、 DS18B20、数码管、 C51 Abstract With the rapid development of modern information technology and industry and agriculture, microcontroller technology has spread to our life, work, scientific research
3、, each domain, has become a relatively mature technology, this paper introduces a temperature measurement system based on 51 single chip, detailed description of the use of digital temperature sensor DS18B20 temperature measurement system development, key the connection to the sensor under the SCM h
4、ardware, software programming and system flow of each module are analyzed in detail, on the part of the circuit are introduced, the system can easily achieve the real-time temperature acquisition and display, and can according to need to set the alarm temperature, it is very convenient to use, has h
5、igh accuracy, Liang Chengkuan, high sensitivity, small volume, low power consumption, suitable for our daily lives and industrial, agricultural production in the temperature measurement, which can also be used as a temperature processing module embedded in other systems, as other auxiliary system. D
6、S18B20 and 51 microcontroller with temperature detection system to achieve the most simple, the system has the advantages of simple structure, strong anti-interference ability, suitable for on-site temperature measurements in harsh environment, has the widespread application prospect. Key words: The
7、 51 single chip microcomputer、 Temperature、 DS18B20、 Digital tube、 C51 目 录 第 1章 概论 1 1.1 设计背景 1 1.2 总体设计 2 1.3 设计要求 3 第 2章 设计理论基础 4 2.1 51 单片机 4 2.2 温度传感器 DS18B20 7 2.3 锁存器 74HC573 10 2.4 LED 数码管 11 第 3章 硬件电路设计 13 3.1 单片机最小的系统 13 3.2 温度采集电路 14 3.3 温度控制电路 16 3.4 键盘电路 17 3.5 显示电路 18 第 4章 软件程序设计 19 4.1
8、 程序初始化 19 4.2 延时子函数 19 4.3 按键设定子函数 20 4.4 温度显示子函数 21 4.5 温度采集 子函数 21 4.6 温度控制子函数 23 4.7 主函数 24 第 5章 总结全文 25 5.1 结束语 25 5.2 致谢词 25 参考文献 26 附录 27 第 1章 概 论 1.1 设计背景 温度是表征物体冷热程度的物理量, 温度是工农业生产、科学试验以及日常生活中需要普遍进行测量和控制的一个重要物理量,由此 对温度 进行 检测的意义就越来越大。温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的
9、监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率 ,所以 温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。而且随着科学技术 和生产的不断发展,温度传感器的种类还是在不断增加丰富来满足生产生活中的需要。 温度采集控制系统是在嵌入式系统设计的基础上发展起来的。嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对
10、嵌入式系统的要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。自从 70 年代Intel 公司推出第一批单片机以来, 80年代单片机技术进入快速发展时期 , 近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发 展,从 4 位、 8 位单片机发展到 16 位、 32 位单片机。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。 单片机 是 将微处理器、存储器、定时 /计数器、 I/O 接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化
11、的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、 数据库 技术以及数据结构、 计算机 操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析 、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的治理功能。采用单片机对整个测量电路进行治理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。 因此将单片机与温度测量技术相结合,利用单片机强大的数据处理和过程控制能力,实现一定的功能不但有重要的实际意义,而且已经
12、成为一种趋势。 1.2 总体设计 本论文设计是基于单片机的温度控制系统,系统框图如图 1.2 所示 ,包括 6 部分:主机单片机系统、温度采集电路、显示电路、报警电路、键盘电路、温度控制电路。采用 STC89C51 为主机芯片,由数字温度传感器 DS18B20采集数据经过 I/O 口读入 CPU处理,把 CPU处理的一组温度数据送到 LED 数码管显示,另一组数据与按键设定的温度值进行比较判断,当温度高于或低于设定温度时,开始报警并启动相应控制程序(温度高于设定温度时,启动冷却模块;当温度低于设定温度时,启动加热模块),达到自动控制温度的目的。 图 1.2 系统框图 CPU STC89C51
13、温度控制电路 报警电路 显示电路 温度采集电路 键盘电路 1.3 设计要求 要求单片机温度测控系统完成以下功能: 1.3.1 基本功能 ( 1) 测量温度实时显示。 ( 2) 设定目标温度值。 ( 3) 超过上下限温度报警。 ( 4) 温度自动控制。 1.3.2 参数要求 ( 1) 温度测量范围 0-99。 ( 2) 温度测量误差 1。 ( 3) 温度控制误差 3。 第 2章 设计理论基础 本设计的主要任务是能对温度自动检测和控制,而设计中是采用单片机来控制,因此要有温度的采集电路、温度显示控制电路、键盘电路、报警电路等。要实现系统设计要用到的知识点有单片机的原理及其应用,温度传感器的原理及其
14、应用,键盘和显示电路设计等,本章将做主要介绍。 2.1 51 单片机 2.1.1 51 单片机概述 51系列单片机无论是在片内容量、 I O 口功能、系统扩展能力方面,还是在指令系统和 CPU的处理功能方面,都比其前辈要强得多。尤其是它所特有的布尔处理机,在逻辑处理和控制方面具有突出的优势。 AT89C51是 ATMEL 公司 MCS 51 系列兼容单片中的代表作品,它内部集成了功能强大的中央处理器、 21 个专用控制寄存器、 4KB 的程序存储器、 128 字节的数据存储器、 4 组 8 位的并行 I O 口、两个16位的可编程定时计数器、一个全双工的串行口和布尔处理器。 MCS 51系列中
15、最典型的代表是 8051、 8031 和 8751,它们的指令系统完全兼容,仅在内部结构和应用特性方面稍有差异。 8051 内部的程序存储器为掩膜 ROM,可根据特殊要求和用途在制造芯片时就将专用程序固化进去,成为专用单片机。 8031内部没有 ROM,使用时需要外接 EPROM芯片,其他与 8051 完全相同。而 8751 是片内 ROM采用 EPROM形式的 8051,能方便地改写程序。可见, 8051 和 8751本身即可构成一个小而完整的微机系统,而 8031 还需要外加一片 EPROM才能构成系统。本设计采用的 国产宏晶 STC 单片机 及其 低功耗、廉价、稳定性能 ,占据着国内 5
16、1 单片机较大市场。 2.1.2 8051 单片机内部结构 MCS 51是 51系列单片机的典型代表。 Intel的 MCS 51和 Atmel的 AT89C51 采用的均是哈佛结构的形式。 51单片机包含中央处理器、程序存储器( ROM)、数据存储器( RAM)、定时计数器、并行接口、串行接口和中断系统等若干单元,片外扩展能力通过数据总线、地址总线和控制总线实现。其特点如下: ( 1)面向控制的 8位中央处理器( CPU) ( 2)具有布尔处理能力 ( 3) 64KB 程序存储器空间 ( 4) 64KB 数据存储器空间 ( 5) 4KB 片内程序存储器( ROM) ( 6) 128B 内部数
17、据存储器 (RAM) ( 7)一组特殊功能寄存器( SFR) ( 8) 32根双向并可按位寻址的 I O口线 ( 9) 2 个 16位定时器计数器 ( 10) 5 个中断源,具有 2个优先级 ( 11)一个全双工异步串行口 ( 12)片内振荡器和时钟电路 2.1.3 51 单片机引脚特性 在外形上 51 系列单片机有多种封装,比较常用的是 DIP 封装方式,如图 2.1.1所示。 其中, XTAL1(18 脚 )和 XTAL2(19脚 )为时钟引脚,并且 51单片机的时钟可由内部方式或外部方式产生。如图 2.1.2 所示为两种时钟产生方式。 对于 8051 系列的单片机来说,控制引脚通常包括复
18、位引脚、 ALE PROG 引脚、 PSEN引脚、 EA VPP引脚、以及 WR 和 RD引脚。 51 系列单片机有四个双向 8 位 I O 口 P0 P3,其中 P0 为三态双向口,负载能力位 8 个 LSTTL 门电路,既可以作地址数据复用总线使用,也可以作通用 I O 口, P1 P3 为准双向口,负载能力为 4个 LSTTL 门电路。同时 P1 口在 Flash 编程和验证程序时,它输入低八位地址。 P2 口既可以作地址总线口使用,又可以作通用 I O 口使用。 P3口是双功能口,作通用 I/O 口使用时,其结构与操作与 P1 口相同,作第二功能口使用时,每一位都有其特殊的功能。 图
19、2.1.1 DIP 封装引脚排列 图 2.1.2 51单片机的时 钟连接方式 2.1.4 51 单片机存储器组织 单片机在存储系统的设计上普遍采用哈佛结构,将程序存储器和数据存储器分开,有不同的寻址机构和寻址方式。以 AT89C51 为例,它的片内集成了 4KB的 Flash程序存储器和 128B的 RAM数据存储器,当系统存储空间不足时,可以通过片上总线引脚扩展外部存储器。 从物理上看, AT89C51 可分为 4 个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。从逻辑上,可分为 3 个逻辑空间:片内外统一编址的 64KB 程序存储器地址空间、256B 的片内数据
20、存储器地址空间和 64KB 外部数据存储器地址空间。通过不同的指令形式和寻址方式,可以实现对三个不同的逻辑空间的访问。 程序存储器以程序计数器 PC 作地址指针,是控制器的一部分。AT89C51 内部的程序存储器地址为 0000H 0FFFH,外部最大可扩展64KB 的程序存储器。正常工作时,程序从内部 Flash 开始运行, 当PC值超过 0x0FFFH时,自动转到外部扩展的存储区 0x1000H 0xFFFFH地址空间去执行程序。 数据存储器分为片内和片外两种,两者无论在物理上还是在逻辑上,其地址空间是彼此独立的。片内数据存储器地址范围为 00H FFH,片外数据存储器地址空间为 0000
21、H FFFFH,其中 00H FFH 这部分地址是冲突的。所以要通过不同的指令来分别访问片内和片外的数据存储器。 2.2 温度传感器 DS18B20 DS18B20是美国 DALLAS半导体公司继 DS1820之后最新推出的一种改进型智能温度传感器。与传统 的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现 9 12 位的数字值读数方式。可以分别在 93.75 ms 和 750 ms 内完成 9 位和 12 位的数字量,并且从 DS18B20读出的信息或写入 DS18B20 的信息仅需要一根口线(单线接口)读写 ,温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS18B20供电,而无需额外电源。因而使用 DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较 DS1820 有了很大的改进,给用户带来了更方便的使用和更令人满 意的效果。 2.2.1 DS18B20 的引脚介绍 TO 92 封装的 DS18B20 的引脚排列见图 2.2,其引脚功能描述见表 2.2。 图 2.2( DS18B20底视图)