毕业设计.docx
- 文档编号:12596729
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:42
- 大小:719.59KB
毕业设计.docx
《毕业设计.docx》由会员分享,可在线阅读,更多相关《毕业设计.docx(42页珍藏版)》请在冰豆网上搜索。
毕业设计
毕业设计(论文)
题目:
基于单片机的上下限温度控制报警器
专业:
应用电子技术
年级:
11级
学号:
10605111049
姓名:
宋朝凤
指导老师:
王松(副教授)
完成时间:
2014年6月
摘要
本设计的主要功能是在一定范围内检测实时温度并显示,同时根据设定的上下限温度实现报警功能。
本设计主要用于对测温比较准确的场所,或科研实验室使用。
与传统的温度报警器相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,该设计控制器使用单片机STC12C5A16S2,测温传感器使用DS18B20,用3位共阳极LED数码管实现温度显示,能准确达到以上要求。
同时本设计的硬件结构简单、人机界面友善、管理功能健全、系统可靠性高、记录数据准确、使用维护方便等优点。
设计时我们按照模块化程序设计思想,完成了对系统软件部分的设计,给出了各个功能模块的设计思想和流程图。
温度采集控制控制系统能够准确地进行温度数据的采样转换,数码显示管对采集的温度进行数码显示,稳定进行升温、降温的控制过程。
现场实验表明,该系统在测试过程中工作稳定,满足设计要求。
自动控制技术尤其是温度控制技术在国内外得到广泛的应用和发展,时滞效应始终困扰着其实际应用,为此人们发明了多种控制方法来解决时滞问题,例如比例控制方式、本文将针对一种温度控制方式进行学习,并设计一个以STC12C5A16S2单片机为核心、利用新型集成化智能1-Wire总线数字温度传感器DS18B20实现的温度采集控制系统。
关键词:
温度自动控制、单片机STC12C5A16S2、LED数码显示管、蜂鸣器、温度传感器DS18B20
说明
本文主要设计了一种采用单片机STC12C5A16S2作为核心的低成本、高精度、微型化的温度报警器,本设计的硬件结构简单、人机界面友善、管理功能健全、系统可靠性高、记录数据准确、使用维护方便。
本文详细论述由单片机控制的温度上下限报警器的基本原理,并用软件ProtelDIP2004SP2实现了系统的设计。
序号
姓名
学号
班级
任务分配
1
李自鹏
10605111054
应用电子技术11-1班
组长
总体方案设计、电路设计、电路板制作、最终调试
2
宋朝凤
10605111049
应用电子技术11-1班
总体方案设计、焊接安装、购买元器件、撰写论文
第一章:
设计意义与相关技术发展
1:
设计背景
温度是生产工艺过程中最基本、最重要的控制参数之一,关系到生产条件的建立,产品的产量、质量、效率,以及生产设备的寿命与安全等。
温度是物体冷热程度的表现参数。
温度测量仪的由感温元件帮助完成检测。
随着温度检测理论和技术的不断更新,温度传感器的种类也越来越多,在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电偶传感器、热电阻传感器和半导体集成传感器等,每种传感器根据其自身特性,都有它自己的应用领域。
我们希望通过自己的所学的知识和借助这次毕业设计的机会做出一个与生活密切相关且实用的东西,通过我们的筛选和结合自身所学知识的局限性,我们选择了上下限温度控制报警器。
本设计的主要功能是在一定范围内检测实时温度并显示,同时根据设定的上下限温度实现报警功能。
本设计主要用于对测温比较准确的场所,或科研实验室使用。
与传统的温度报警器相比,具有读数方便(LED数码管显示),测温范围广(温度调节上限为125度,下限为-55度),测温准确,其输出温度采用数字显示,,该设计控制器使用单片机STC12C5A16S2,测温传感器使用DS18B20,用3位共阳极LED数码管实现温度显示,能准确达到以上要求。
同时本设计的硬件结构简单、人机界面友善、管理功能健全、系统可靠性高、记录数据准确、使用维护方便等优点。
2:
温度检测的意义与技术发展
温度是一种最基本的环境参数,人们的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。
随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:
如大气及空调房中温度的高低,直接影响着人们的身体健康;在大规模集成电路生产线上,环境温度不适当,会严重影响产品的质量。
测温技术在生产过程中,在产品质量控制和监测,设备在线故障诊断和安全保护以及节约能源等方面发挥了着重要作用。
现今世界上的温度检测技术已经喜人的成果,其中前苏联的压电石英频率温度计分辨能力可达0.0001℃,理论上可达0.00001℃,而且在-40℃~230℃范围内具有温度与频率的线性特性;日本利用所谓石英温度频率转换器-80℃~200℃的温度范围,最大分辨率达0.0001℃;美国标准局研制的电阻温度计25欧标准铂电阻温度计,电桥分辨0.00002℃;我国生产的石英温度传感器分辨率达到0.0001℃,误差在0.05℃以内,中国航天工业总公司702所研制的5901(STP-1000)型粘贴式测温片,其静态测温精度为0.5%,快速响应时间小于0.013s。
如今温度检测发展的主要方向为薄膜温度传感器、辐射测温技术和光纤测温技术。
温度采集系统是在嵌入式系统设计的基础上发展起来的。
嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对嵌入式系统的要求,因此,嵌入式系统必须走独立发展道路。
这条道路就是芯片化道路。
将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。
单片机诞生于二十世纪七十年代末,经历了SCM、MCU和SOC三大阶段。
第二章:
设计方案
1:
方案一
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
并且测量温度精度不高,有偏差。
2:
方案二
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器,传感器可以很容易直接读取被测温度值,进行转换,就可以满足设计要求,且测量精度很高。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用方案二。
进一步我们先大概设计出了方案框图(如图1),控制器采用单片机STC12C5A16S2,温度传感器采用DS18B20,用3位LED数码管实现温度显示,用一位数码管显示℃摄氏度符号。
三个按键进行温度上、下限报警值设置。
在硬件选择上为了有利于购买和实验方便,根据当前市场上各种处理器的性价比,本设计选择STC12C5A16S2单片机,温度检测采用DS18B20温度传感器,输入部分用三个按键,可以调整温度上下限的范围,显示部分采用经济适用的3位LED数码管实现温度显示,用一位数码管显示℃摄氏度符号,超出的温度上限或下限用LED表示,报警采用蜂鸣器。
功能上:
当温度传感器DS18B20采集到环境温度高于设定温度,表示高温的发光二极管亮并且蜂鸣器报警,当温度传感器DS18B20采集到环境温度低于设定温度,表示低温的发光二极管亮并且蜂鸣器报警。
对温度传感器的启用与控制需要严格的时间限制,这部分程序的编写是复杂而繁琐的。
这些部分是一个连贯的过程,又有着不确定时间,时间要求比较严格。
所以在软件设计上我们采用简单易懂的c语言实现,同时把整个系统程序分为几大快来实现,主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
LED显示
主控制器
单片机复位
按键调整
温度传感器
报警电路
1路输出
时钟振荡
2路输出
图1 总体设计方框图
第三章:
硬件电路
一个完整的控制系统,单纯依靠一块单片机是远远不够的。
它必须与外围电路元件相互搭配,共同完成任务。
本设计用到的外围电路有:
显示电路、报警电路、按键电路和继电器输出电路。
要让各个部分电路能在一起稳定的工作,就要让它们衔接的很匹配,如各部分电路对电压、电流的要求等都要合理的设计。
下面是对各部分硬件电路的介绍。
1:
主控制器
单片微型计算机(SingleChipMicrocomputer)简称单片机,是指集成在一块芯片上的计算机,它具有结构简单、控制功能强、可靠性高、体积小、价格低、等优点。
单片机技术作为计算机技术的一个重要分支,广泛地应用于工业控制、智能化仪器仪表、家用电器、电子玩具等各领域。
尽管单片机种类很多,但无论是从世界范围还是从全国范围来看,使用最为广泛的应属MCS-51系列单片机。
其生产厂家有:
Intel公司、Atmel公司、Philips公司等。
本设计采用Atmel公司的STC12C5A16S2,其它厂家单片机这里不再多说,以下是对STC12C5A16S2的介绍。
Atmel公司生产的STC12C5A16S2单片机是一种低功耗/低电压、高性能的8位单片机,内部除CPU外,还包括128B的内部用户数据存储器RAM,4KB的内部用户程序存储器,4个8位并行可编程I/0口,2个16位计数/定时器,5个中断源,2个优先级别,1个可编程的串行通信口。
以下是对各部分的具体介绍:
内部介绍:
(1)中央处理器又称CPU,是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
(2)数据存储器又称RAM,STC12C5A16S2内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型数据。
并具有64KB外部数据存储器寻址空间。
(3)程序存储器又称ROM,S51共有4KB的掩膜ROM,用于存放用户程序,原始数据或表格。
并具有64KB外部程序存储器寻址空间。
(4)定时/计数器,S51有两个16位的可编程定时/计数器,称为定时器0(T0)和定时器1(T1)。
T0有专用寄存器TH0和TL0组成,T10有专用寄存器TH1和TL1组成。
并且可编程定时/计数器的工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定。
(5)中断系统,S51的中断功能较强,可满足控制应用的需要。
共有5个中断源,即两个外中断、两个定时/计数器中断和一个串行中断,并具有两个优先级别的选择。
时钟电路,STC12C5A16S2内部有时钟电路,但石英晶体和微调电容需外接。
用于产生整个单片机运行的脉冲时序,系统允许的晶振频率一般位6MHz和12MHz,在应用精度要求较高的场合一般选用11.0592MHz,可以使定时器/计数器更精确。
4路PWM8路高速10位A、D转换,针对电机控制,强干扰场合。
外部介绍:
STC12C5A16S2单片机引脚如下图:
STC12C5A16S2单片机引脚介绍:
P0.0—P0.7(39—32):
P0口是一个漏极开路型准双向I/O口。
在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。
在EPROM编程时,它接收指令字节,而在验证程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1.0—P1.7(1-8):
P1口是带内部上拉电阻的8位双向I/O口。
在EPROM编程和程序验证时,它接收低8位地址。
P2.0—P2.7(21-28):
P2口是一个带内部上拉电阻的8位双向I/O口。
在访问外部存储器时,它送出高8位地址。
在对EFROM编程和程序验证期间,它接收高8位地址。
P3.0—P3.7(10-17):
P3口是一个带内部上拉电阻的8位双向I/O口。
P1口设定
P1M0[7:
0]
P1M1[7:
0]
I/O口模式(P1.X如做A/D使用。
需先将其设置成开漏或高阻输入)
0
0
准双向口(传统8051I/O口模式),灌电流可达20MA,拉电源为230微安,由于制造误差,实际为250—150微安
0
1
推挽输出
1
0
仅为输入(高阻),如果该I/O口需作A/D使用,可选此模式
1
1
开漏,如果该I/O口需作A/D使用,可选此模式
STC12C5A16S2单片机主要性能
●高速:
1个时钟/机器周期,增强型8051内核,速度比普通8051快8~12倍
●宽电压:
5.5~3.8V,2.4~3.8V(STC12LE5410AD系列)
●低功耗设计:
空闲模式,掉电模式(可由外部中断唤醒)
●工作频率:
0~35MHz,相当于普通8051:
0~420MHz---实际可到48MHz,相当于8051:
0~576MHz
●时钟:
外部晶体或内部RC振荡器可选,在ISP下载编程用户程序时设置
●16K字节片内Flash程序存储器,擦写次数10万次以上
●512字节片内RAM数据存储器
●芯片内EEPROM功能
●ISP/IAP,在系统可编程/在应用可编程,无需编程器/仿真器
●10位ADC,8通道,STC12C5A16S2系列为8位ADC。
4路PWM还可当4路D/A使用
●2个硬件16位定时器,兼容普通8051的定时器。
4路PCA还可再实现4个定时器
●硬件看门狗(WDT)
●高速SPI通信端口
●全双工异步串行口(UART),兼容普通8051的串口
●先进的指令集结构,兼容普通8051指令集
4组8个8位通用工作寄存器(共32个通用寄存器)
有硬件乘法/除法指令
●通用I/O口(27/23/15个),复位后为:
准双向口/弱上拉(普通8051传统I/O口)
可设置成四种模式:
准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过55mA。
2:
温度传感器
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管的集成电路内。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使你可以充分发挥“一线总线”的优点。
目前DS18B20批量采购价格仅10元左右。
在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。
另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。
因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。
DS18B20产品的特点
(1).只要求一个端口即可实现通信。
(2).在DS18B20中的每个器件上都有独一无二的序列号。
(3).实际应用中不需要外部任何元器件即可实现测温。
(4).测量温度范围在-55。
C到+125。
C之间。
(5).数字温度计的分辨率用户可以从9位到12位选择。
(6).内部有温度上、下限告警设置。
DS18B20引脚图及引脚功能介绍
TO-92封装的DS18B20的引脚排列见下图,其引脚功能描述见下表。
序号
名称
引脚功能描述
1
GND
地信号
2
DQ
数据输入/输出引脚。
3
VDD
可选择的vdd引脚。
当工作于寄生电源时,此引脚必须接地。
DS18B20的使用方法
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
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之内就得释放单总线。
3:
显示电路
显示电路采用3位共阳LED数码管做为温度值显示。
用三个8550PNP三极做为每一位LED管的驱动电路,这样使得数码管电流量更大,亮度更亮。
一位共阳极数码管显示℃摄氏度符号,使得整个显示电路更加人性化(实际效果如下图)。
4:
报警电路
采用有源蜂鸣器做为报警器,用一个PNP三极管8550做为驱动。
蜂鸣器可以在被测温度超过上限温度或者低于下限温度时,发出报警鸣叫声音。
5:
按键电路
三个轻触开关组成按键电路,因为都是独立的按键所以采用直接接地的方法,这样电路比较简单,达到了效果。
三个独立式按键可以分别调整温度的上下限报警温度,当按下设置键一次,数码管显示HXX℃且LED数码管闪烁,这时可以调整报警上限温度值。
按下设置键第二次,LXX℃且数码管闪烁,这时可以调整报警下限温度值。
通过“加键”可以对设置数值加。
通过“减键”可以对设置数值减。
每按一次减1。
最高可加到100,最低可减到0。
6:
继电器输出电路
如下图所示:
7:
系统整体硬件电路
系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等,如下图所示(图见下页)。
图中没有采用按键做为复位电路,直接采用电容充电的方式做为复位,在每上电时单片机复位一次这样就可以达到重启单片机的效果。
第四章:
系统软件设计
在系统软件设计上我们采用简单易懂的c语言实现,同时把整个系统程序分为几大快来实现,主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
1:
主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。
这样可以在一秒之内测量一次被测温度,其程序流程见图2所示。
图2主程序流程图图3读温度流程图
2:
读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
其程序流程图如图2示。
3:
温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
温度转换命令子程序流程图下图所示:
温度转换流程图
4:
计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图4所示:
图4 计算温度流程图图5 显示数据刷新流程图
5:
显示温度刷新子程序
显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。
程序流程图如图5。
第五章:
系统测试与总结
1:
系统测试
当温度传感器DS18B20采集到环境温度高于设定温度,表示高温的LED闪烁并且蜂鸣器报警,当温度传感器DS18B20采集到环境温度低于设定温度,表示低温的LED闪烁并且蜂鸣器报警。
按功能键,按一下调整温度下限,按加减可以对温度下限的参数调整,在按功能键,调整温度上限,按加减可以对温度上限进行调整,按第三次恢复正常显示。
1、测试仪器
测试仪器包括数字万用表、STC仿真机、直流稳压电源等。
2、测试方法
数字万用表主要用来测试分立元件的电阻、压降、漏电流、截止/导通状态等参数;直流稳压电源在测试期间为各待测系统供电。
测试结果及结论分析:
通过万用表的测试发现了个别地方的有虚焊、短路的问题;主要是在电路板制作过程中焊盘、电路密集的地方焊盘和线路之间的距离设置过小,在腐蚀的过程中由于FeCl3的量不够,个别地方腐蚀不彻底,留有铜斑所至,所幸通过小刀修改最后顺利完成作品的制作。
2:
总结
经过1个多月的设计与制作,终于完成了我们的数字温度报警器的毕业设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这次设计把实物都做了出来,高兴之余不得不深思呀!
在本次设计的过程中,我们发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我们长进了很多。
这次在初期电路设计时,由于个别元件在Protel2004中的元件库里面没有,需自己绘制元件,在这个过程中的封装时由于对实物元件没有清晰的认识(个别元件之前没有见过实物),以至于封装不正确导致整个电路有错,在软件模拟和制作PCB板图时连线不正确;但庆幸的是电路本身没有太大问题,最终在老师的帮助下把作品成功做出来了。
这次毕业设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我们觉的写好一个程序并不是一件简单的事,有好多的东西,只有我们们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的,更谈不上掌握。
从这次的课程设计中,我们真真正正的意识到,在以后的学习中,要理论联系实际,把我们们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的写与读的过程中才能提高,这就是我们在这次课程设计中的最大收获。
致谢
首先要衷心感谢的是我们的指导教师陈显祥和王松老师!
在我们学习期间不仅传授了做学问的秘诀,还传授了做人的准则。
这些都将使我们终生受益。
无论是在理论学习阶段,还是在论文的选题、资料查询、开题、研究和撰写的每一个环节,无不得到导师的悉心指导和帮助。
我们愿借此机会向导师表示衷心的感谢!
其次要感谢所有教育过我们的老师!
你们传授给我的专业知识是我不断成长的源泉,也是完成本论文的基础。
我们还要向关心和支持我学习的朋友们表示真挚的谢意!
感谢他们对我们的关心、关注和支持!
大学的生活让我们有了坚强的性格,冷静的头脑和永远乐观的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计