基于单片机的温度控制系统的.docx
- 文档编号:6591389
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:12
- 大小:100.46KB
基于单片机的温度控制系统的.docx
《基于单片机的温度控制系统的.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制系统的.docx(12页珍藏版)》请在冰豆网上搜索。
基于单片机的温度控制系统的
基于单片机的温度控制系统的设计
系(院):
学生姓名:
专业班级:
学号:
指导教师:
20XX年XX月XX日
声明
本人所呈交的基于单片机的温度控制系统的设计,是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。
除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。
对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。
作者签名:
日期:
【摘要】
本课题主要介绍基于AT89S51单片机和DS18B20数字温度传感器的温度控制系统。
该系统利用AT89S51单片机分别采集各个温度点的温度,实现温度显示、报警等功能。
它以AT89S51单片机为主控制芯片,采用数字温度传感器DS18B20实现温度的检测,测量精度可以达到0.5摄氏度。
该系统采用LED显示,形象直观的显示测出的温度值。
本文功能设计目标包括以下几个方面:
温度采集部分,时钟电路,复位电路,报警电路,继电器控制电路,按键输入部分以及数码管显示部分。
基于AT89S51单片机的单总线温度测控系统具有硬件组成简单、读书方便、精度高、测温范围广等特点,在实际工程中得到广泛应用。
【关键词】:
AT89S51DS18B20温度测控
ABSTRACT
ThispapermainlyintroducedbasedonAT89S51microcontrolleranddigitaltemperaturesensorDS18B20temperaturecontrolsystem.ThesystemusesAT89S51chipwerecollectedineachtemperaturepointtemperature,temperaturedisplay,alarmandotherfunctions.IttakesAT89S51MCUasthemaincontrolchip,theuseofdigitaltemperaturesensorDS18B20torealizethetemperaturemeasurement,themeasurementprecisioncanreach0.5degreescelsius.ThesystemadoptsLEDdisplay,intuitivedisplayoftheimageofmeasuredtemperaturevalues.Inthispaper,functiondesignobjectivesincludethefollowingseveralaspects:
temperatureacquisitionpart,aclockcircuit,resetcircuit,analarmcircuit,arelaycontrolcircuit,akeyinputpartandadigitaldisplaypart.BasedontheAT89S51MCUsinglebustemperaturemeasurementandcontrolsystemhassimplehardwarecomposition,readingconvenience,highprecision,widemeasuringrangeandothercharacteristics,arewidelyusedinpracticalengineering.
【KEYWORD】:
AT89S51DS18B20temperaturecontrol
引言
二十一世纪是科技高速发展的信息时代,电子技术、微型单片机技术的应用更是空前广泛,伴随着科学技术和生产的不断发展,需要对各种参数进行温度测量。
因此温度一词在生产生活之中出现的频率日益增多,与之相对应的,温度控制和测量也成为了生活生产中频繁使用的词语,同时它们在各行各业中也发挥着重要的作用。
如在日趋发达的工业之中,利用测量与控制温度来保证生产的正常运行。
在农业中,用于保证蔬菜大棚的恒温保产等。
随着社会的发展,温度的测量及控制变得越来越重要。
本文采用单片机AT89S51设计了温度实时测量及控制系统。
单片机AT89S51能够根据温度传感器DS18B20所采集的温度在数码管上实时显示,通过控制从而把温度控制在设定的范围之内。
所有温度数据均通过数码显示器LED显示出来。
系统可以根据时钟存储相关的数据。
通过该课程的学习使我们对计算机控制系统有一个全面的了解、掌握常规控制算法的使用方法、掌握简单微型计算机应用系统软硬的设计方法,进一步锻炼我们在微型计算机应用方面的实际工作能力。
一、系统总体方案
本方案使用单片机AT89S51作为控制核心,以智能温度传感器DS18B20为温度测量元件,对各点温度进行检测,设置温度上下限,超过其温度值就报警。
显示电路采用LED显示模块,使用二级管,电阻和蜂鸣器组成的报警电路。
如图1所示。
单片机AT89S51
温度采集
时钟电路
报警电路
按键输入
LED显示
复位电路
温度控制电路
图1系统总体框图
二、单片机AT89S51
(一)单片机的发展概况
1970年微型计算机研制成功之后,随之即出现了单片机(即单片微型计算机)—美国Intel公司1971年生产的4位单片机4004和1972年生产的雏形8位单片机8008,这也算是单片机的第一次公众亮相。
1976年Intel公司首先推出能称为单片机的MCS-48系列单片微型计算机。
它以体积小、
三、硬件电路设计
(一)温度采集部分
采用一线制数字温度传感器DS18B20来作为本课题的温度传感器。
传感器输出信号进4.7K的上拉电阻直接接到单片机的P1.0引脚上。
DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。
该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。
本设计中温度传感器之所以选择单线数字器件DS18B20,是在经过多方面比较和
(二)时钟电路
时钟电路是单片机的心脏,具有相当重要的作用,它控制着单片机的工作节奏。
MCS-51单片机允许的时钟频率是依靠单片机的型号而改变的,典型值为12MHZ。
AT89S51内部有一个反相振荡放大器,XTAL1 和XTAL2分别是该反向振荡放大器的输入端和输出端。
该反向放大器可被配制成片内振荡器,石晶振荡和陶瓷振荡均可采用这种反向放大器。
本设计采用的晶振频率为12MHZ。
其时钟电路如图4所示。
51系列单片机还可作为外部时钟使用。
在使用外部时钟时,外部时钟从XTAL1输入,而XTAL2必须悬空。
图4时钟电路
(三)复位电路
复位使单片机处于起始状态,并且从该起始状态开始运行。
AT89S51的RST引脚是复位端,该引脚可以连续保持2个机器周期(24个时钟振动周期)以上的高电平,这样才能使单片机复位。
内部复位电路在每一个机器周期的S5P2期间都采样斯密特触发器作为输出端,该触发器的作用可抑制RST引脚的噪声干扰,并且在复位期间不产生ALE信号,而内部RAM处于不断电状态。
其中的数据信息不会丢失,也就是说即复位后,只会影响SFR中的内容,内部RAM中的数据将不受任何影响。
外部复位有上电复位和按键电平复位。
由于单片机运行过程中,其本身的干扰或外界干扰会导致出错,此时我们可按复位键重新开始运行。
为了便于本设计运行调试,复位电路采用按键复位方式。
按键复位电路如图5所示。
图5复位电路
(四)按键输入电路
键盘被分为编码式键盘和非编码式键盘两种,键盘上闭合键的识别是由专用的硬件译码器实现的,并且产生键编号和键值两种方式,称为编码式键盘;而靠软件识别的是非编码式键盘方式。
在单片机组成的测控系统中,通常用得最多的是非编码键盘。
在这里我们采用的就是非编码式键盘。
键盘的连接方式采用独立连接式,这样的连接方式能够简化程序的编写。
由S2来控制电路的开始和结束,S3和S4分别控制温度的上限和下限,当由DS18B20采集到的温度高于上限温度或下限温度,报警电路报警,温度控制电路开始工作。
如图6所示。
图6按键输入
(五)LED电路
采用LED作为系统的数据显示器具有价格低、性能稳定和响应速度快等特点。
LED显示方式有静态显示、动态显示和串口显示。
为了节省系统本身的硬件资源,在这里LED的显示方式采用动态显示方式。
所谓动态显示就是一位一位地轮流点亮各位显示器(扫描),每隔一段时间点亮一次。
动态显示器的优点是节省硬件资源,成本较低。
由单片机P00,P01,P2,P03,P04,P05,P06控制数码管的段码显示,决定数码管显示的字符,由P2.0,P2.1,P2.2,P2.3控制输出数码管的位码,决定哪个数码管显示。
如图7所示。
(七)温度控制电路
控制电路是作为单片机系统的后向通道,他的作用是将单片机处理后的数字控制信号用输出口输出,并将该数字输出的信号用于对控制对象的控制。
由于单片机的输出信号电平很低,无法用来直接驱动外围设备进行工作,因此,在单片机的后向通道中往往需要外围设备的驱动、信号电平的转换以及隔离放大等技术来支持。
本次设计采用继电器作为控制电路的主要器件,通过继电器可以实现直流信号控制交流负载的功能,从而实现单片机系统的控制功能。
单片机通过三极管控制继电器的通断,最后达到控制电热器的目的。
继电器电路中有一个三极管9012的保护电路,即将一个二极管反向接到三机管的两端。
当温度未达到要求时,单片机发送高电平信号使三极管饱和导通,继电器使电源与电热器接通,电热器加热,温度慢慢升高。
如图9所示。
图10温度过高
四、软件设计
(一)主程序流程图
系统的软件部分由主程序流程图、中断子程序流程图、按键流程图和显示流程图四部分组成。
系统的主程序流程图如图11,当有信号输入时,主程序启动,根据内部设定的条件逐步运行,达到设计目的。
图11系统程序流程图
主程序温度采集部分,将采集到的温度进行处理,送给数码管显示,同时对测到的温度和设定的温度范围进行比较,如果在正确的温度范围内,则继续采集,如果低于设定的温度下限,启动加热器进行加热,如果高于设定的温度上限,启动风扇降温,使得温度在正常的范围内。
(二)中断程序流程图
图12为中断子程序的流程图,这个主要是为了保障整个软件程序在运行时可以达到中断,从而使系统进一步达到完善。
中断程序是为了处理过程中重要的及时请求。
在一般情况下,CPU只是不断的循环运行主程序(包括必要的子程序)。
当中断事件发生时,CPU必须中断目前运行的指令(挂起),及时地运行中断程序。
中断事件处理完毕后,再从断点开始继续运行原来的程序指令。
在本系统中读DS18B20的温度的占用CPU时间较长,需要先进行中断保护才行。
不然其他部分不能很正常的工作。
图12中断程序流程图
(三)显示流程图
图13为系统的显示流程图。
主要是通过对传输过来的信号进行显示后,给操作者提供提示。
已达到为本系统提供对温度的显示和监控的目的。
图13显示流程图
结束语
经过这次毕业设计,我觉得自己学到了不少东西。
归纳起来,主要有以下几点:
1.作为一名应用电子专业的学生,大学三年多的时间以来我们都是在学习电子理论方面的最最基础的知识,从没有真正地去应用和实践。
由于平时我对电子方面的了解比较感兴趣,平时花了很多时间研究各种自己感兴趣的电子知识,具有一定的实际操作能力,但是经过这次毕业设计,我接触并且了解到了更多平时没有接触到的仪器设备、元器件以及相关的使用调试经验,发现了自己很多不足之处。
我还体会到了所学理论知识的重要性:
知识掌握得越多,设计得就更全面、更顺利、更好。
2.了解一项自己从没有研究的一个课题时,需要的是你的耐心和信心。
只有我们有足够的恒心去专研,才能完美的完成毕业设计。
毕业设计把我们从学校里学到的理论知识合理的运用到实践里,这不仅仅能开拓我们的视野,还增强了自己的学习能力。
巩固了我们的基础知道,培养了我们的创新能力,也教会了我们团结合作的意志。
3.学会了怎么查资料,毕业论文是一个很大的课题,里面需要方方面面的知识,一个人不可能什么都会,什么都懂,所以这就需要我们去查询这些资料,从哪找,怎么找。
因此当我们在做毕业设计时,要有针对性的去查找,然后加以吸收,运用到自己的脑海里。
这对我们将来的学习和工作会有很大的作用。
4.实践和学习能力得到了进一步的提高,也获得了很多调试经验。
5.毕业设计对以前学过的理论知识起到了回顾过滤作用,增强了我们对理论指导的吸收和理解能力。
6.毕业设计培养了我们严肃认真和实事求是的工作态度,对我们将来的发展具有很大的积极意义。
不仅培养了我们吃苦耐劳的精神,还增强了我与同学之间的友谊,一起努力,一起拼搏,在这里我要感谢我的指导老师和所有我的同学们!
附录一原理图
附录二PCB图
附录三源程序
ORG0000H
TEMPER_LEQU29H
TEMPER_HEQU28H
FLAG1EQU38H;是否检测到DS18B20标志位
A_BITEQU20H;数码管个位数存放内存位置
B_BITEQU21H;数码管十位数存放内存位置
XSEQU30H
MOVA,#00H
MOVP2,A
MAIN:
LCALLGET_TEMPER;调用读温度子程序
MOVA,29H
MOVB,A
CLRC
RLCA
CLRC
RLCA
CLRC
RLCA
CLRC
RLCA
SWAPA
MOV31H,A
MOVA,B
MOVC,40H;将28H中的最低位移入C
RRCA
MOVC,41H
RRCA
MOVC,42H
RRCA
MOVC,43H
RRCA
MOV29H,A
LCALLDISPLAY;调用数码管显示子程序
AJMPMAIN;这是DS18B20复位初始化子程序
INIT_1820:
SETBP1.0
NOP
CLRP1.0;主机发出延时537微秒的复位低脉冲
MOVR1,#3
GET_TEMPER:
SETBP1.0
LCALLINIT_1820;先复位DS18B20
JBFLAG1,TSS2
RET;判断DS1820是否存在?
若DS18B20不存在则返回
TSS2:
MOVA,#0CCH;跳过ROM匹配
LCALLWRITE_1820
MOVA,#44H;发出温度转换命令
LCALLWRITE_1820;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒
LCALLDISPLAY
LCALLINIT_1820;准备读温度前先复位
MOVA,#0CCH;跳过ROM匹配
LCALLWRITE_1820
MOVA,#0BEH;发出读温度命令
LCALLWRITE_1820
LCA
RET;读DS18B20的程序,从DS18B20中读出两个字节的温度数据
READ_18200:
MOVR4,#2;将温度高位和低位从DS18B20中读出
MOVR1,#29H;低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)
RE00:
MOVR2,#8;数据一共有8位
RE01:
CLRC
SETBP1.0
NOP
NOP
CLRP1.0
NOP
NOP
NOP
SETBP1.0
MOVR3,#9
RE10:
DJNZR3,RE10
MOVC,P1.0
MOVR3,#23
RE20:
DJNZR3,RE20
RRCA
DJNZR2,RE01
MOV@R1,A
DECR1
DJNZR4,RE00
RET
DISPLAY:
CLRC
SUBBA,#30
JNBCY,T1
MOVA,B
CLRC
SUBBA,#25
JNBCY,XIANSHI
CLRP1.1
LJMPXIANSHI
T1:
CLRP1.2
XIANSHI:
MOVA,B
MOVB,#10;10进制/10=10进制
DIVAB
MOVB_BIT,A;十位在A
MOVA_BIT,B;个位在B
MOVR0,#4
CLRC;多加的
DPL1:
MOVR1,#250;显示1000次
DPLOP:
MOVDPTR,#NUMTAB1
MOVA,A_BIT;取个位数
MOVCA,@A+DPTR;查个位数的7段代码
MOVP0,A;送出个位的7段代码
CLRP2.1;开个位显示
ACALLD1MS;显示1MS
SETBP2.1
MOVDPTR,#NUMTAB
MOVA,B_BIT;取十位数
MOVCA,@A+DPTR;查十位数的7段代码
MOVP0,A;送出十位的7段代码
CLRP2.2;开十位显示
ACALLD1MS;显示1MS
SETBP2.2
JCXSW;多加的
MOVA,31H
MOVB,#160
DIVAB
MOVXS,B
XSW:
MOVA,XS
MOVCA,@A+DPTR
MOVP0,A
CLRP2.0
ACALLD1MS
SETBP2.0
SETBC;多加的
DJNZR1,DPLOP;250次没完循环
DJNZR0,DPL1;4个250次没完循环
RET;1MS延时(按12MHZ算)
D1MS:
MOVR7,#80
DJNZR7,$
RET
NUMTAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,7FH,7FH,7FH,7FH,7FH,7FH
NUMTAB1:
DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH
END
参考文献
[1]张毅刚.单片机原理及应用[M].高等教育出版社,2004.
[2]曹巧媛.单片机原理及应用(第二版)[M].北京:
电子工业出版社,2002.
[3]何力民编.单片机高级教程[M].北京:
北京航空大学出版社,2000.
[4]金发庆等编.传感器技术与应用[M].北京机械工业出版社,2002.
[5]赵娜,赵刚,于珍珠等.基于51单片机的温度测量系统[J].微计算机信息,2007.
[6]胡寿松.自动控制原理[M].北京:
国防工业出版社,2000.
[7]周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:
航空航天大学出版社,2006.
[8]王忠飞,胥芳.MCS-51单片机原理及嵌入式系统应用[M].西安:
西安电子科技大学出版社,2007.
[9]沙占右.王晓军.数字化测量[M].北京:
机械工业出版社,2009.
[10]索雪松等.传感器与信号处理电路[J].北京:
中国水利水电出版社,2008.
致谢
专业排版,专业论文写作修改降低论文重复率制作答辩幻灯片
免费提供论文下载论文指导等服务
免费咨询请联系淘宝旺旺:
文交天下友
淘宝搜索@文天下
新浪微博文交天下友_修改论文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温度 控制系统