单片机温度测量与控制系统讲解学习.docx
- 文档编号:14829876
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:28
- 大小:602.26KB
单片机温度测量与控制系统讲解学习.docx
《单片机温度测量与控制系统讲解学习.docx》由会员分享,可在线阅读,更多相关《单片机温度测量与控制系统讲解学习.docx(28页珍藏版)》请在冰点文库上搜索。
单片机温度测量与控制系统讲解学习
51单片机温度测量与控制系统
摘要
随着现代信息技术和工农业的快速发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也进行了介绍,该系统可以方便的实现实时温度采集和显示,并可根据需要设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与51单片机结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键字:
51单片机、温度、DS18B20、数码管、C51
Abstract
Withtherapiddevelopmentofmoderninformationtechnologyandindustryandagriculture,microcontrollertechnologyhasspreadtoourlife,work,scientificresearch,eachdomain,hasbecomearelativelymaturetechnology,thispaperintroducesatemperaturemeasurementsystembasedon51singlechip,detaileddescriptionoftheuseofdigitaltemperaturesensorDS18B20temperaturemeasurementsystemdevelopment,keytheconnectiontothesensorundertheSCMhardware,softwareprogrammingandsystemflowofeachmoduleareanalyzedindetail,onthepartofthecircuitareintroduced,thesystemcaneasilyachievethereal-timetemperatureacquisitionanddisplay,andcanaccordingtoneedtosetthealarmtemperature,itisveryconvenienttouse,hashighaccuracy,LiangChengkuan,highsensitivity,smallvolume,lowpowerconsumption,suitableforourdailylivesandindustrial,agriculturalproductioninthetemperaturemeasurement,whichcanalsobeusedasatemperatureprocessingmoduleembeddedinothersystems,asotherauxiliarysystem.DS18B20and51microcontrollerwithtemperaturedetectionsystemtoachievethemostsimple,thesystemhastheadvantagesofsimplestructure,stronganti-interferenceability,suitableforon-sitetemperaturemeasurementsinharshenvironment,hasthewidespreadapplicationprospect.
Keywords:
The51singlechipmicrocomputer、Temperature、DS18B20、Digitaltube、C51
第1章概论…………………………………………………………1
1.1设计背景……………………………………………………1
1.2总体设计……………………………………………………2
1.3设计要求……………………………………………………3
第2章设计理论基础………………………………………………4
2.151单片机……………………………………………………4
2.2温度传感器DS18B20………………………………………7
2.3锁存器74HC573……………………………………………10
2.4LED数码管…………………………………………………11
第3章硬件电路设计………………………………………………13
3.1单片机最小的系统…………………………………………13
3.2温度采集电路………………………………………………14
3.3温度控制电路………………………………………………16
3.4键盘电路……………………………………………………17
3.5显示电路……………………………………………………18
第4章软件程序设计………………………………………………19
4.1程序初始化…………………………………………………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设计背景
温度是表征物体冷热程度的物理量,温度是工农业生产、科学试验以及日常生活中需要普遍进行测量和控制的一个重要物理量,由此对温度进行检测的意义就越来越大。
温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。
在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。
使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率,所以温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。
由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。
而且随着科学技术和生产的不断发展,温度传感器的种类还是在不断增加丰富来满足生产生活中的需要。
温度采集控制系统是在嵌入式系统设计的基础上发展起来的。
嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对嵌入式系统的要求,因此,嵌入式系统必须走独立发展道路。
这条道路就是芯片化。
将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。
自从70年代Intel公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展,从4位、8位单片机发展到16位、32位单片机。
单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。
单片机是将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。
单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。
同时,单片机具有较强的治理功能。
采用单片机对整个测量电路进行治理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。
因此将单片机与温度测量技术相结合,利用单片机强大的数据处理和过程控制能力,实现一定的功能不但有重要的实际意义,而且已经成为一种趋势。
1.2总体设计
本论文设计是基于单片机的温度控制系统,系统框图如图1.2所示,包括6部分:
主机单片机系统、温度采集电路、显示电路、报警电路、键盘电路、温度控制电路。
采用STC89C51为主机芯片,由数字温度传感器DS18B20采集数据经过I/O口读入CPU处理,把CPU处理的一组温度数据送到LED数码管显示,另一组数据与按键设定的温度值进行比较判断,当温度高于或低于设定温度时,开始报警并启动相应控制程序(温度高于设定温度时,启动冷却模块;当温度低于设定温度时,启动加热模块),达到自动控制温度的目的。
图1.2系统框图
1.3设计要求
要求单片机温度测控系统完成以下功能:
1.3.1基本功能
(1)测量温度实时显示。
(2)设定目标温度值。
(3)超过上下限温度报警。
(4)温度自动控制。
1.3.2参数要求
(1)温度测量范围0-99℃。
(2)温度测量误差<±1℃。
(3)温度控制误差<±3℃。
第2章设计理论基础
本设计的主要任务是能对温度自动检测和控制,而设计中是采用单片机来控制,因此要有温度的采集电路、温度显示控制电路、键盘电路、报警电路等。
要实现系统设计要用到的知识点有单片机的原理及其应用,温度传感器的原理及其应用,键盘和显示电路设计等,本章将做主要介绍。
2.151单片机
2.1.151单片机概述
51系列单片机无论是在片内容量、I∕O口功能、系统扩展能力方面,还是在指令系统和CPU的处理功能方面,都比其前辈要强得多。
尤其是它所特有的布尔处理机,在逻辑处理和控制方面具有突出的优势。
AT89C51是ATMEL公司MCS—51系列兼容单片中的代表作品,它内部集成了功能强大的中央处理器、21个专用控制寄存器、4KB的程序存储器、128字节的数据存储器、4组8位的并行I∕O口、两个16位的可编程定时∕计数器、一个全双工的串行口和布尔处理器。
MCS—51系列中最典型的代表是8051、8031和8751,它们的指令系统完全兼容,仅在内部结构和应用特性方面稍有差异。
8051内部的程序存储器为掩膜ROM,可根据特殊要求和用途在制造芯片时就将专用程序固化进去,成为专用单片机。
8031内部没有ROM,使用时需要外接EPROM芯片,其他与8051完全相同。
而8751是片内ROM采用EPROM形式的8051,能方便地改写程序。
可见,8051和8751本身即可构成一个小而完整的微机系统,而8031还需要外加一片EPROM才能构成系统。
本设计采用的国产宏晶STC单片机及其低功耗、廉价、稳定性能,占据着国内51单片机较大市场。
2.1.28051单片机内部结构
MCS—51是51系列单片机的典型代表。
Intel的MCS—51和Atmel的AT89C51采用的均是哈佛结构的形式。
51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时计数器、并行接口、串行接口和中断系统等若干单元,片外扩展能力通过数据总线、地址总线和控制总线实现。
其特点如下:
(1)面向控制的8位中央处理器(CPU)
(2)具有布尔处理能力
(3)64KB程序存储器空间
(4)64KB数据存储器空间
(5)4KB片内程序存储器(ROM)
(6)128B内部数据存储器(RAM)
(7)一组特殊功能寄存器(SFR)
(8)32根双向并可按位寻址的I∕O口线
(9)2个16位定时器∕计数器
(10)5个中断源,具有2个优先级
(11)一个全双工异步串行口
(12)片内振荡器和时钟电路
2.1.351单片机引脚特性
在外形上51系列单片机有多种封装,比较常用的是DIP封装方式,如图2.1.1所示。
其中,XTAL1(18脚)和XTAL2(19脚)为时钟引脚,并且51单片机的时钟可由内部方式或外部方式产生。
如图2.1.2所示为两种时钟产生方式。
对于8051系列的单片机来说,控制引脚通常包括复位引脚、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口相同,作第二功能口使用时,每一位都有其特殊的功能。
图2.1.1DIP封装引脚排列
图2.1.251单片机的时钟连接方式
2.1.451单片机存储器组织
单片机在存储系统的设计上普遍采用哈佛结构,将程序存储器和数据存储器分开,有不同的寻址机构和寻址方式。
以AT89C51为例,它的片内集成了4KB的Flash程序存储器和128B的RAM数据存储器,当系统存储空间不足时,可以通过片上总线引脚扩展外部存储器。
从物理上看,AT89C51可分为4个存储空间:
片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。
从逻辑上,可分为3个逻辑空间:
片内外统一编址的64KB程序存储器地址空间、256B的片内数据存储器地址空间和64KB外部数据存储器地址空间。
通过不同的指令形式和寻址方式,可以实现对三个不同的逻辑空间的访问。
程序存储器以程序计数器PC作地址指针,是控制器的一部分。
AT89C51内部的程序存储器地址为0000H~0FFFH,外部最大可扩展64KB的程序存储器。
正常工作时,程序从内部Flash开始运行,当PC值超过0x0FFFH时,自动转到外部扩展的存储区0x1000H~0xFFFFH地址空间去执行程序。
数据存储器分为片内和片外两种,两者无论在物理上还是在逻辑上,其地址空间是彼此独立的。
片内数据存储器地址范围为00H~FFH,片外数据存储器地址空间为0000H~FFFFH,其中00H~FFH这部分地址是冲突的。
所以要通过不同的指令来分别访问片内和片外的数据存储器。
2.2温度传感器DS18B20
DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠性更高。
他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。
2.2.1DS18B20的引脚介绍
TO-92封装的DS18B20的引脚排列见图2.2,其引脚功能描述见表2.2。
图2.2(DS18B20底视图)
表2.2 DS18B20详细引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
2.2.2DS18B20的使用方法
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20的复位时序
DS18B20的读时序
对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60us才能完成。
DS18B20的写时序
对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
2.2.3DS18B20工作过程
DS18B20工作过程一般遵循以下协议:
初始化——ROM操作命令——存储器操作命令——处理数据。
2.3锁存器74HC573
图2.3.174HC573
74HC573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。
当使能为低时,输出将锁存在已建立的数据电平上。
输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。
这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。
特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。
图2.3.274HC573引脚功能图
PINNo引脚号
SYMBOL符号
NAMEANDFUNCTION名称及功能
1
OE
3StateoutputEnableInput(ActiveLOW)3态输出使能输入(低电平)
2,3,4,5,6,7,8,9
D0toD7
DataInputs数据输入
12,13,14,15,16,17,18,19
Q0toQ7
3StateLatchOutputs3态锁存输出
11
LE
LatchEnableInput锁存使能输入
10
GND
Ground接地(0V)
20
VCC
PositiveSupplyVoltage电源电压
2.4LED数码管
LED数码管由7个发光二极管组成,此外,还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。
通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。
LED数码管中的发光二极管共有两种连接方法:
(1)共阴极接法:
把发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。
本设计采用的LED显示器为共阴极接法
(2)共阳极接法:
把发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V。
这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。
为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。
七段发光二极管,再加上一个小数点位,共计八段。
因此提供给LED显示器的字形代码正好一个字节。
若a、b、c、d、e、f、g、dp8个显示段依次对应一个字节的低位到高位,即D0、D1、D2、D3、D4、D5、D6、D7。
LED数码管显示十六进制数时所需的字形代码如图2.4.2所示
显示字符
共阳极段码
共阴极段码
显示字符
共阳极段码
共阴极段码
0
C0H
3FH
C
C6H
39H
1
F9H
06H
D
A1H
5EH
2
A4H
5BH
E
86H
79H
3
B0H
4FH
F
8EH
71H
4
99H
66H
P
8CH
73H
5
92H
6DH
U
C1H
3EH
6
82H
7DH
r
CEH
31H
7
F8H
07H
Y
91H
6EH
8
80H
7FH
H
89H
76H
9
90H
6FH
L
C7H
38H
A
88H
77H
全亮
00H
FFH
B
83H
7CH
全灭
FFH
00H
图2.4.27段LED显示字符及段码表
LED显示器是单片机应用系统中常见的输出器件,而在单片机的应用上也是被广泛运用的。
如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。
LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。
第3章硬件电路设计
3.1单片机最小的系统
目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。
由设计的要求,只要做很小集成度的最小系统应用在一些小的控制单元。
其应用特点是:
(1)全部I/O口线均可供用户使用。
(2)内部存储器容量有限(只有4KB地址空间)。
(3)应用系统开发具有特殊性
图3.1单片机最小系统图
单片机最小系统如图3.1所示,其中有4个双向的8位并行I/O端口,分别记作P0、P1、P2、P3,都可以用于数据的输出和输入,P3口具有第二功能为系统提供一些控制信号。
时钟电路用于产生MCS-51单片机工作所必须的时钟控制信号,内部电路在时钟信号的控制下,严格地按时序指令工作。
MCS-51内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片的引脚XTAL1,输出端为XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。
电路中的微调电容通常选择为30pF左右,该电容的大小会影响到振荡器频率的高低、振荡器的稳定性和起振的快速性。
晶体的振荡频率为12MHz。
3.2温度采集电路
DS18B20内部结构主要由四部分组成:
64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。
在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。
无论是内部寄生电源还是外部供电,I/O口线要接10KΩ左右的上拉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 温度 测量 控制系统 讲解 学习
![提示](https://static.bingdoc.com/images/bang_tan.gif)