基于51单片机的多路温度采集控制系统设计.docx
《基于51单片机的多路温度采集控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的多路温度采集控制系统设计.docx(29页珍藏版)》请在冰点文库上搜索。
![基于51单片机的多路温度采集控制系统设计.docx](https://file1.bingdoc.com/fileroot1/2023-6/20/ec47d45f-86cd-446f-a603-879f37b661c9/ec47d45f-86cd-446f-a603-879f37b661c91.gif)
基于51单片机的多路温度采集控制系统设计
毕业设计(论文)
题目:
基于51单片机的多路温度采集控制系统设计
院(系):
专业:
姓名:
学号:
指导教师:
二〇一三年十二月五日
毕业设计(论文)任务书
学生姓名
学号
专业
院(系)
毕业设计(论文)题目
基于51单片机的多路温度采集控制系统设计
任务与要求
(1).介绍多路温度采集系统的发展历史、现况及将来的发展趋势;
(2).多路温度采集系统设计及原理说明;
(3).介绍单片机最小系统的原理和作用;
(4).多路温度采集的总体设计框图;
(5).多路温度采集系统原理图设计及说明。
完成时间段
指导教师单位
职称
院(系)审核意见
毕业设计(论文)进度计划表
日期
工作内容
执行情况
指导教师
签字
2013.6.15-
2013.6.28
查找资料,选题
2013.6.29-
2013.8.30
完成论文的初稿
2013.8.31-
2013.9.30
完成论文二稿的写作
2013.10.1-
2013.10.20
完成论文的终稿及格式修改
2013.10.21-
2013.11.20
进一步修改论文、定稿,打印论文,做好答辩准备
20113.11.21-
2013.12.5
做好论文答辩准备
教师对进度计划
实施情况总评
签名:
年月日
毕业设计(论文)中期检查记录表
学生填写
毕业设计(论文)题目:
基于51单片机的多路温度采集控制系统设计
学生姓名:
学号:
专业:
指导教师姓名:
职称:
检查
教师填写
毕业设计(论文)题目工作量
饱满
一般
不够
毕业设计(论文)题目难度
大
适中
不够
毕业设计(论文)题目涉及知识点
丰富
比较丰富
较少
毕业设计(论文)题目价值
很有价值
一般
价值不大
学生是否按计划进度独立完成工作任务
学生毕业设计(论文)工作进度填写情况
指导次数
学生工作态度
认真
一般
较差
其他检查内容:
存在问题及采取措施:
检查教师签字:
年月日
院(系)意见
(加盖公章):
年月日
摘要
随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。
本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。
本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。
单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LED进行显示。
本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。
我所采用的控制芯片为AT89C51,此芯片功能较为强大,能够满足设计要求。
通过对电路的设计,对芯片的外围扩展,来达到对某一车间温度的控制和调节功能。
关键词:
温度多路温度采集驱动电路继电器
ABSTRACT
Withtherapiddevelopmentofmoderninformationtechnology,temperaturemeasurementandcontrolsystemisplayingamoreandmoreimportantroleinindustry,agricultureandpeople'sdailylife,ithasgreatinfluenceonpeople'slife,hasveryimportantsignificancetoresearchanddesignofthetemperatureacquisitionandcontrolsystem.
Thisdesignaimstostudybasedonthebasicprocessdesignofmulti-channeltemperatureacquisitionandcontrolsystemof51singlechipmicrocomputer.Thisdesignusesamicrocontrollerasdataprocessandcontrolunit,inordertocarryonthedataprocessing,SCMcontroldigitaltemperaturesensor,thetemperaturesignalthroughsinglebusdigitaltemperaturesensortransfertomcu.Afterthemicrocomputerdataprocessing,sendscontrolinformationtochangethealarmandcontrolexecutionmodulestate,atthesametime,thetemperatureinformationissenttotheLEDfordisplay.Thissystemcanrealizethemulti-channeltemperaturesignalacquisitionanddisplay,youcanusethebuttontosetthetemperaturelimitvalue,byMCU,sendsacontrolsignaltocontrolthebuzzerandrelaydestination.
IadoptedthecontrolchipAT89C51,thechipfunctionisrelativelystrong,canmeetthedesignrequirements.Throughthecircuitdesign,onchipperipheralexpansion,toachievethecontrolofaworkshopoftemperatureandregulatingfunction.
Keywords:
TemperatureMultitemperatureacquisitionDrivecircuitRelay
第一章绪论
本设计主要设计一种多路温度采集检测系统,采用目前低价位但技术十分成熟的AT89S52单片机作为内核,选用DS18B20作为温度传感器,送到显示器循环显示所测的四路温度数值,并根据现场工业需要,设置了一定范围的报警值,报警优先显示,利用按键消除报警。
可用按键查看某一路的温度值,查看时数据采集不中断。
软件算法上采用了直接拟合的方法(通过电压-温度关系来计算温度值),符合课题要求。
本课题构成的多路温度系统具有结构简单、价格低廉、测量精度高、量程宽的特点,在很多场合具有一定的适用性。
第一节选题背景
测量控制的作用是从生产现场中获取各种参数,运用科学方法,综合各种先进的技术,是生产的每个环节都能够得到有效的控制,不但保证了生产的规范化、提高产品质量,降低成本,还确保了生产安全。
所以,测量控制技术已经被广泛应用于炼油、化工、冶金、电力、轻工和纺织等行业。
温度是工业对象中主要的被控参数之一,在各个种类的企业中应用广泛的各种加热设备、反应炉设备等都需要严格的控制温度。
随着时代的进步,科技的发展,各行各业对于温度采集系统的要求也在不断提高以达到设备环境、生产流程的安全要求,也越来越成为温度采集系统的几个重要指标。
随着集成电路技术的越来越快、越来越大规模化的发展,由于单片机具有体积小、功能强、性价比高等优点,基于单片机开发出来的一系列采集、控制系统也逐渐受到广泛关注。
采取单片机作为核心,可完成对温度的采集要求。
所以基于单片机的多路温度采集系统被广泛应用于很多工业过程控制中,使产品既提高了产品的功能和质量,又降低了成本,简化了设计。
采用单片机设计的多路温度采集系统,可进行温度检测、采集及显示,对于提高生产效率,节约能源、资源都有非常重要的作用。
第二节本设计的任务和主要内容
如何基于AT89S52对4路温度进行采集的具体要求,有以下几点:
(1)选用哪种传感器将温度信号转化为电信号;
(2)单片机外围硬件的电路设计;
(3)内部程序的编写。
在温度采集系统中我们经常用到集成型温度传感器,集成型传感器可以达到较高的精度,在集成型温度传感器的使用过程中,由于采用的单总线传输方式进行对远距离的多点温度进行检测,故在程序的控制上较复杂。
新型温度传感器DS18B20具有体积小、精度高、使用电压宽采用一线总线等优点,在实际应用中取得了良好的测温效果。
用四只DS18B20同时采集4路温度。
AT89S52单片机P3.7接口接单线总线。
单片机有一个全双工的串行通讯口,单片机与电脑之间能更好地进行串口通讯。
第二章系统总体设计
第一节系统概述
根据设计要求的性能指标,本系统不仅要满足一定精度的温度采集的基本功能,而且由于测量的路数为4路,还存在多路信号的循环显示问题,还要考虑温度超限报警输出的功能,同时系统还具有显示当前各路的测量温度值的功能和键盘选择显示路数的功能。
第二节系统工作原理分析
在测温系统中我们常常用到集成型温度传感器,集成型温度传感器可以达到较高的精度,在集成型温度传感器的使用过程中,由于采用的单总线传输方式进行对远距离的多点温度进行检测,所以在程序的控制上比较复杂。
在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。
根据本课题的设计目标以及硬件的特点,本系统的总体设计框图如图2.1所示。
图2.1总体设计框图
第三章系统的硬件设计
一个温度采集系统,包括被采集信息的采集、转换、显示等环节,在本多路温度采集系统设计中,包括CPU的选型以及包括显示电路、存储器、报警电路、电源电路等设计。
第一节温度采集系统的开发过程
本设计中以DS18B20为传感器、AT89S52单片机为控制核心组成的多点温度测试系统。
用4只DS18B20同时测控4路温度(视实际需要还可扩展通道数)。
由于每片DS18B20含有唯一的硅串行数,所以在一条总线上可挂接多个DS18B20芯片。
从DS18B20读出的信息或写入DS18B20的信息,仅需要一根口线(单线接口)。
读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
DS18B20提供9位温度读数,构成多点温度检测系统而无需任何外围硬件。
处理时,将DS18B20信号线与单片机一位口线相连,单片机可挂接多片DS18B20,从而实现多点温度检测系统。
由于DS18B20只有三个引脚,其中两根是电源线VDD和GND,另外一根用作总线DQ(DataIn/Out),由于其输出和输入均是数字信号且与TTL电平兼容,因此其可以与微处理器直接进行接口,从而省去了一般传感器所必需的中间转换环节。
第二节单片机的最小系统设计
一、单片机的选型
目前,生产单片机的厂商有很多,尤其是近年来微电子技术、计算机技术的飞速发展,比较著名的有Intel、Philips、Microchip、Motorola、Zilog、Atmel等半导体企业。
在上述著名的半导体企业产品中,尤其在工业测控场合,运用较多的为Intel公司的MCS-51系列,Microchip公司的PIC系列,如果作单路温度测量,恐怕要选择该系列的CPU,但由于本系统涉及的是多路,各路报警的输出信号需要单独输出,而且考虑信号调理电路的切换等还需要不少的控制线,因此该系列的少引脚特点就不适合本设计的需要,因此,本设计还是选用了ATMEL最新的8位单片机AT89S52作为本系统的CPU。
二、AT89S52的性能及应用
功能特性描述:
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有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.1AT89S52引脚
输入输出(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中,应执行以下两条指令:
MOVP1,#0FFH;P1口置入方式。
MOVA,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(DataIn/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.1DS18B20详细引脚功能描述
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
图3.4DS18B20的管脚排列
(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单线接口、存放中间数据的高速暂存器(内含RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。
图3.5DS18B20内部结构图
DS18B20的一线工作协议流程是:
初始化→ROM操作指令→存储器操作指令→数据传输。
其工作时序包括复位时序、写时序和读时序,如图3.6,3.7,3.8所示。
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20的复位时序:
图3.6DS18B20的复位时序
DS18B20的读时序,对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时序是从主机把单总线拉低之后,在15μs之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60μs才能完成。
图3.7DS18B20的读时序
DS18B20的写时序,对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
图3.8DS18B20的写时序
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60μs,保证DS18B20能够在15μs到45μs之间能够正确地采样I/O总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15μs之内就得释放单总线。
图3.9DS18B20测温原理框图