完整版基于单片机的水温控制器毕业设计论文.docx
- 文档编号:25798561
- 上传时间:2023-06-14
- 格式:DOCX
- 页数:28
- 大小:271.32KB
完整版基于单片机的水温控制器毕业设计论文.docx
《完整版基于单片机的水温控制器毕业设计论文.docx》由会员分享,可在线阅读,更多相关《完整版基于单片机的水温控制器毕业设计论文.docx(28页珍藏版)》请在冰豆网上搜索。
完整版基于单片机的水温控制器毕业设计论文
济南职业学院
毕业设计(论文)
题目:
基于单片机的水温控制器设计
系部:
电子工程系
专业:
电气自动化
学号:
学生姓名:
申函
指导教师:
李莉
职称:
讲师
二O一三年一月八日
济南职业学院
毕业论文(设计)任务书
课题名称:
__基于单片机的水温控制器设计
系部:
电子工程系
专业:
电气自动化
姓名:
申函
学号:
指导教师:
李莉
二O一三年一月八日
一、毕业论文(设计)的目的与要求:
毕业设计(论文)是教学过程中最后一个重要的实践性教学环节,是应用在校所学知识、结合工程实际,进行一次系统的、有机的解决工程实际问题的训练,目的是巩固、扩大和提高所学理论知识,使之系统化,并提升为解决实际工程技术问题的能力,通过本课题的实施可初步掌握工业企业的自动化技术改造基本方法和步骤。
通过毕业设计实践,可使学生进一步提高资料检索、计算、绘图、动手制作和编写说明书的职业技能。
2、毕业论文(设计)的内容:
三、毕业论文(设计)进程的安排
序号
论文(设计)各阶段名称
日期
备注
1
指导教师召集相关学生,向学生介绍毕业设计的相关规定,布置任务。
2
论文准备,期间老师不得少于两次指导学生。
准备期间,学生向指导教师汇报工作进度和工作情况,每周不少于一次。
3
毕业论文送交指导老师阅评
4
毕业答辩
公布成绩
4月27日前
四、任务执行日期:
自2013年1月8日至2013年4月27日止。
学生(签字)__________
指导教师(签字)__________
系主任(签字)__________
毕业设计(论文)成绩评定表
系部:
电子工程系专业:
电气自动化班级:
2010级3班
姓名
设计(论文)总成绩:
设计(论文)题目
指导教师评语
评定成绩:
签名:
年月日
评阅人评语
评定成绩:
签名:
年月日
答辩小组评语
答辩成绩:
组长签名:
年月日
注:
设计(论文)总成绩=指导教师评定成绩(30%)+评阅人评定成绩(30%)+答辩成绩(40%)
第一章绪论-8-
第二章系统总体设计-9-
2.1硬件总体设计-9-
2.1.1硬件系统子模块-9-
2.2软件总体设计-9-
第三章硬件系统设计-11-
3.1硬件电路分析和设计报告-11-
3.1.1单片机最小系统电路-11-
3.1.2键盘电路-12-
3.1.3数码管及指示灯显示电路-13-
3.1.4温度采集电路-14-
3.1.5电源电路-18-
3.1.6报警电路设计-19-
3.1.7加热管控制电路设计-20-
第四章系统软件设计-21-
4.1主程序流程图-22-
4.2各个模块的流程图-22-
4.2.1读取温度DS18B20模块的流程-22-
4.2.2键盘扫描处理流程-25-
4.2.3报警处理流程-26-
第五章系统调试-27-
5.1硬件电路调试-27-
5.2软件调试-27-
5.3系统操作说明-28-
5.4数据测试-28-
第六章结论-30-
参考文献-31-
结论-32-
摘要
本系统的设计可以用于热水器温度控制系统和饮水机等各种电器电路中。
它以单片机AT89S52为核心,通过3个数码管显示温度和4个按键实现人机对话,使用单总线温度转换芯片DS18B20实时采集温度并通过数码管显示,并提供各种运行指示灯用来指示系统现在所处状态,如:
温度设置、加热、停止加热等,整个系统通过四个按键来设置加热温度和控制运行模式。
关键词:
单片机;数码管显示;单总线;DS18B20
第一章绪论
本系统的设计可以用于水温控制系统和电饭煲等各种电器电路中。
它以单片机AT89S52为核心,通过数码管显示温度和语音提示实现人机对话,使用温度转换芯片DS18B20实时采集温度并通过数码管显示,并提供各种运行指示灯用来指示系统现在所处状态,如:
温度设置、加热、停止加热等,整个系统通过四个按键来设置加热温度和控制运行模式。
温度控制系统可以说是无所不在,热水器系统、空调系统、冰箱、电饭煲、电风扇等家电产品以至手持式高速高效的计算机和电子设备,均需要提供温度控制功能。
以计算机为例,当中的中央处理器的运行速度愈快,所耗散的热量便愈多,为免计算机系统过热而受损,有关系统必须加强温度过高保护功能。
传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。
现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方便。
自动控制仪器仪表总的发展趋势是高性能、数字化、集成化、智能化和网络化。
智能温度控制系统的设计是为了满足市场对成本低、性能稳定、可远程监测、控制现场温度的需求而做的课题,具有较为广阔的市场前景。
本系统的核心控制芯片选用的是51系列单片机AT89S52,单片机在各个技术领域中的迅猛发展,与单片机所构成的计算机应用系统的特点有关:
·单片机构成的应用系统有较大的可靠性。
·系统构建简洁、易行,能方便的实现系统功能。
由于构成的系统是一个计算机系统,相当多的功能由软件实现,故具有柔性特点。
第二章系统总体设计
2.1硬件总体设计
设计并制作一个基于单片机的热水器温度控制系统的电路,其结构框图如图2-1:
图2-1系统结构框图
2.1.1硬件系统子模块
(1)单片机最小系统电路部分
(2)键盘扫描电路部分
(3)数码管温度显示和运行指示灯电路部分
(4)温度采集电路部分
(5)继电器控制部分
(6)报警部分
2.2软件总体设计
良好的设计方案可以减少软件设计的工作量,提高软件的通用性,扩展性和可读性。
本系统的设计方案和步骤如下:
(1)根据需求按照系统的功能要求,逐级划分模块。
(2)明确各模块之间的数据流传递关系,力求数据传递少,以增强各模块的独立性,便于软件编制和调试。
(3)确定软件开发环境,选择设计语言,完成模块功能设计,并分别调试通过。
(4)按照开发式软件设计结构,将各模块有机的结合起来,即成一个较完善的系统。
首先接通电源系统开始工作,系统开始工作后,通过按键设定温度值的上限值和下限值,确定按键将设定的温度值存储到指定的地址空间,温度传感器开始实时检测,调用显示子程序显示检测结果,调用比较当前显示温度值与开始设定的温度值比较,如果当前显示值低于设定值就通过继电器起动加热装置,直到达到设定值停止加热,之后进行保温,如果温度高于上限进行报警。
第三章硬件系统设计
3.1硬件电路分析和设计报告
本设计主要思路是通过对单片机编程将由温度传感器DS18B20采集的温度外加驱动电路显示出来,包括对继电器的控制,进行升温,当温度达到上下限蜂鸣器进行报警。
P1.7开关按钮是用于确认设定温度的,初始按下表示开始进入温度设定状态,然后通过P1.5和P1.6设置温度的升降,再次按下P1.7时,表示确认所设定的温度,然后转入升温或降温。
P2.3所接的发光二极管用于表示加热状态,P2.5所接的发光二极管用于表示保温状态。
P2.3接继电器。
P3.1是温度信号线。
整个电路都是通过软件控制实现设计要求。
3.1.1单片机最小系统电路
因为89S52单片机内部自带8K的ROM和256字节的RAM,因此不必构建单片机系统的扩展电路。
如图3-1,单片机最小系统有复位电路和振荡器电路。
值得注意的一点是单片机的31脚必须接高电平,否则系统将不能运行。
因为该脚不接时为低电平,单片机将直接读取外部程序存储器,而系统没有外部程序存储器,所以必须接VCC。
在按键两端并联一个电解电容,滤除交流干扰,增加系统抗干扰能力。
图3-1单片机最小系统图
3.1.2键盘电路
键盘是单片机应用系统中的主要输入设备,单片机使用的键盘分为编码键盘和非编码键盘。
编码键盘采用硬件线路来实现键盘的编码,每按下一个键,键盘能够自动生成按键代码,并有去抖功能。
因此使用方便,但硬件较复杂。
非编码键盘仅仅提供键开关状态,由程序来识别闭合键,消除抖动,产生相应的代码,转入执行该键的功能程序。
非编码键盘中键的数量较少,硬件简单,在单片机中应用非常广泛。
图为按键和AT89S52的接线图,检测仪共设有4个按键,每个按键由软件来决定其功能,4个按键功能分别为:
(1)SW1:
设定按键(设定按键)
(2)SW2:
加法按键(当前位加5)
(3)SW3:
减法按键(当前位减5)
(4)SW4:
退出设置键(系统初始化)
图3-2单片机最小系统
3.1.3数码管及指示灯显示电路
(1)数码管显示说明
各个数码管的段码都是单片机的数据口输出,即各个数码管输入的段码都是一样的,为了使其分别显示不同的数字,可采用动态显示的方式,即先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。
由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚,过程如表3-1。
表3-1数码管编码表
段码
位码
显示器状态
08H
01H
□□□□□□□0
abH
02H
□□□□□□1□
12H
04H
□□□□□2□□
22H
08H
□□□□3□□□
a1H
10H
□□□4□□□□
24H
20H
□□5□□□□□
04H
40H
□6□□□□□□
aaH
80H
7□□□□□□□
本论文中使用了3个数码管,其中前两位使用动态扫描显示实测温度,在设置加热温度的时候,两个数码管是闪烁,以提示目前处在温度设置状态。
第三位数码管静态显示符号“℃”。
(2)运行指示灯说明
本热水器温度控制系统中共使用到3个LED指示灯和3个数码管。
右上角的红色LED是电源指示灯;
数码管右边的红色LED是加热指示灯,当刚开机或温度降到设定温度5℃以下时,该灯会亮,表示目前处于加热状态;当温度上升到设定温度时,该LED灭,同时数码管右边的绿色LED亮,表示目前处于保温状态,用户可以使用热水器;当温度再次下降到设定温度5℃以下时,绿色LED灭,红色加热的LED灯亮,不断循环。
图3-3LED数码管显示电路图
3.1.4温度采集电路
(1)DS18B20介绍
Dallas最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济。
Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
DS18B20、DS1822“一线总线”数字化温度传感器同DS18B20一样,DS18B20也支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。
DS1822的精度较差为±2℃。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
其DS18B20的管脚配置和封装结构如图3-4所示。
图3-4DS18B20封装
引脚定义:
①DQ为数字信号输入输出端;
②GND为电源地;
③VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
(2)DS18B20的单线(1-wirebus)系统
单线总线结构是DS18B20的突出特点,也是理解和编程的难点。
从两个角度来理解单线总线:
第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低(这点可以与微控制器和SPI器件间的通信做一个比较),所以DS18B20和处理器之间的通信必然要通过严格的时序控制来完成。
第二,DS18B20的输出口是漏级开路输出,这里给出一个微控制器和DS18B20连接原理图。
这种设计使总线上的器件在合适的时间驱动它。
显然,总线上的器件与(wiredAND)关系。
这就决定:
(1)微控制器不能单方面控制总线状态。
之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总线上数据之前的IO口的置1操作是为了给DS18B20一个发送数据的信号。
这是一个错误的观点。
如果当前DS18b20发送0,即使微控制器IO口置1,总线状态还是0;置1操作是为了是IO口截止(cutoff),以确保微控制器正确读取数据。
(2)除了DS18B20发送0的时间段,其他时间其输出口自动截止。
自动截止是为确保:
1时,在总线操作的间隙总线处于空闲状态,即高态。
2时,确保微控制器在写1的时候DS18B20可以正确读入。
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
①DS18B20的复位时序,如图3-5
图3-5DS18B20的复位时序图
②DS18B20的读时序
对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60us才能完成。
DS18B20的读时序图如图3-6所示。
图3-6DS18B20的读时序
③DS18B20的写时序
对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
如图3-7所示。
图3-7DS18B20的写时序图
(3)DS18B20的供电方式
在图3-8中示出了DS18B20的寄生电源电路。
当DQ或VDD引脚为高电平时,这个电路便“取”的电源。
寄生电路的优点是双重的,远程温度控制监测无需本地电源,缺少正常电源条件下也可以读ROM。
为了使DS18B20能完成准确的温度变换,当温度变换发生时,DQ线上必须提供足够的功率。
有两种方法确保DS18B20在其有效变换期内得到足够的电源电流。
第一种方法是发生温度变换时,在DQ线上提供一强的上拉,这期间单总线上不能有其它的动作发生。
如图3-8所示,通过使用一个MOSFET把DQ线直接接到电源可实现这一点,这时DS18B20工作在寄生电源工作方式,在该方式下VDD引脚必须连接到地。
图3-8DS18B20供电方式1
另一种方法是DS18B20工作在外部电源工作方式,如图3-9所示。
这种方法的优点是在DQ线上不要求强的上拉,总线上主机不需要连接其它的外围器件便在温度变换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线上传送。
此外,在单总线上可以并联多个DS18B20,而且如果它们全部采用外部电源工作方式,那么通过发出相应的命令便可以同时完成温度变换。
图3-9DS18B20供电方式2
本设计将温度传感器DS18B20与单片机TXD引脚相连,读取温度传感器的数值。
DS18B20与单片机连接图如图所示3-10所示。
图3-10DS18B20与单片机连接图
3.1.5电源电路
采用L7805稳压块,输出为5V。
电子组件要正常运作都需要电源电压供电,一般常用的电源电压为+5V或+12V,因为数字IC(IngegratedCircuit:
集成电路)所供给的电压为+5V,而CMOSIC所供给的电压为+12V,7805是一个稳压块。
7805稳压管把高电压转换到低电压,7805稳压管具有保护单片机的作用。
L7805输出端要并联上一个电解电容,滤除交流电干扰,防止损坏单片机系统。
本设计采用两种供电方式,一种为DC7~18V直流稳压电源变换成5V的直流电;另一种为四节干电池共6V经二极管加压后得到将近5V的直流电源,电源配以开关和指示灯,以方便使用。
黄色发光二极管表示保温,红色的表示加热状态。
图3-11系统电源设计图
3.1.6报警电路设计
同时可以在系统里设定温度上限值,由于加热停止后,加热管还有余热当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。
报警电路原理图如图所示。
图3-12报警电路图
图中的三极管8550的作用是增加驱动能力,比9012的驱动电流还大些,因此选用8550。
当程序进入报警子程序时,把P2.7置0,就会触发蜂鸣器,为了使报警声音效果更好,对P2.7取反,发出报警嘟噜声音。
3.1.7加热管控制电路设计
继电器是常用的输出控制接口,可以做交直流信号的输出切换。
它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等作用。
继电器控制接点操作说明如下:
●COM:
Common,共同点。
输出控制接点的共同接点。
●NC:
NormalClose常闭点。
以Com为共同点,NC与COM在平时是呈导通状态的。
●NO:
NormalOpen常开点。
NO与COM在平时是呈开路状态的,当继电器动作时,NO与COM导通,NC与COM则呈开路状态。
当89S52的P2.5输出高电平时,继电器不导通,反之当输出低电平时,继电器导通,这样就激活了连接回路。
第四章系统软件设计
本系统采用的是循环查询方式,来显示和控制温度的。
主要包括四段程序的设计:
DS18B20读温度程序,数码管的驱动程序,键盘扫描程序,以及报警处理程序。
4.1主程序流程图
图4-1主程序流程图
4.2各个模块的流程图
4.2.1读取温度DS18B20模块的流程
由于DS18B20采用的是一根数据线实现数据的双向传输,而对AT89S52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
DS18B20单线通信功能是分时完成的,它有严格的时隙概念。
因此系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,
DS18B20必须首先调用启动温度转换函数,根据数据手册上对应转换时间来超作,如为12位转换,则应该是最大750mS,另外在对DS18B20超作时,时序要求非常严格,因此最好禁止系统中断。
由于DS18B20是在一根IO线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20的读时序:
(1)对于DS18B20的读时序分为读0时序和读1时序两个过程。
(2)对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60us才能完成。
DS18B20的写时序:
(1)对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
(2)对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
系统程序设计主要包括三部分:
读出温度子程序、温度转换命令子程序、显示温度子程序。
图4-2读取温度DS18B20模块的流程图
程序代码为:
GET_TEMPER:
SETBDQ;读出转换后的温度值
LCALLINIT_1820;先复位DS18B20
JBFLAG1,TSS2
RET;判断DS1820是否存在?
若DS18B20不存在则返回
TSS2:
MOVA,#0CCH;DS18B20已经被检测到!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
跳过ROM匹配
LCALLWRITE_1820
MOVA,#44H;发出温度转换命令
LCALLWRITE_1820
LCALLDISPLAY;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒
LCALLINIT_1820;准备读温度前先复位
MOVA,#0CCH;跳过ROM匹配
LCALLWRITE_1820
MOVA,#0BEH;发出读温度命令
LCALLWRITE_1820
LCALLREAD_18200;将读出的温度数据保存到35H36H
RET
4.2.2键盘扫描处理流程
此流程为键盘扫描处理,CPU通过检测各数据线的状态(0或1)就能知道是否有按键闭合以及哪个按键闭合。
键盘管理程序的功能是检测是否有按键闭合,如果有按键闭合,消除抖动,根据键号转到相应的键处理程序,按键流程图如图4-3所示。
图4-3键盘扫描子程序流程图
4.2.3报警处理流程
运行程序后,温度传感器DS18B20即可对环境进行温度采集,并送LED数码管显示。
我们可以在程序里设定温度上限值,当采集到的外界温度高于当前所设定温度上限值时,程序就会进入报警子程序,触发蜂鸣器进行报警。
其程序流程图如图4-4所示。
图4-4报警子程序流程图
第五章系统调试
5.1硬件电路调试
仔细检查所接电路,按照硬件原理图接线,理论上是能实现的,如果数码管不显示,则应该检查线路是否正确,或是因为单片机没有工作,还有集电极和发射极是否接对。
如果只显示两个八,则可能是DS18B20没有接正确,检查上拉电路是否接好。
另外要注意的是,由单片机输出的控制信号比较小,需要进行放大才能驱动继电器工作,否则就不能实现升温过程,通常选用8550三极管来进行放大。
还有220V交流电绿色接头和加热管黄色接头必须接正确,否则导致电路烧坏。
蜂鸣器是低电平有效。
如果能注意这些问题,电路基本不会出错。
5.2软件调试
如果硬件电路检查后,没有问题却实现不了设计要求,则可能是软件编程的问题,首先应检查初始化程序,然后是读温度程序,显示程序,以及继电器控制程序,对这些分段程序,要注意逻辑顺序,调用关系,以及涉及到了标号,有时会因为一个标号而影响程序的执行,除此之外,还要熟悉各指令的用法,以免出错。
还有一个容
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 基于 单片机 水温 控制器 毕业设计 论文