室内温度自动调节控制系统课程设计.docx

上传人:b****6 文档编号:5640778 上传时间:2022-12-29 格式:DOCX 页数:23 大小:792.40KB
下载 相关 举报
室内温度自动调节控制系统课程设计.docx_第1页
第1页 / 共23页
室内温度自动调节控制系统课程设计.docx_第2页
第2页 / 共23页
室内温度自动调节控制系统课程设计.docx_第3页
第3页 / 共23页
室内温度自动调节控制系统课程设计.docx_第4页
第4页 / 共23页
室内温度自动调节控制系统课程设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

室内温度自动调节控制系统课程设计.docx

《室内温度自动调节控制系统课程设计.docx》由会员分享,可在线阅读,更多相关《室内温度自动调节控制系统课程设计.docx(23页珍藏版)》请在冰豆网上搜索。

室内温度自动调节控制系统课程设计.docx

室内温度自动调节控制系统课程设计

室内温度自动调节控制系统

摘要

在人们日常生产及生活过程中,经常要用到温度的检测和控制。

随着微型计算机和传感器技术的迅速发展,自动检测领域发生了巨大变化,室内温度自动检测控制方面的研究有了很大进展。

同时现代电子产品性能进一步提高,产品更新换代的节奏越来越快。

本次课程设计是基于STC89C52单片机基础板所做的温度检测调节系统,不仅对于学习单片机技术等专业知识有实际意义,而且还可以增强动手能力。

这次设计的系统,硬件电路主要包括单片机最小系统电路,温度采集电路,显示电路,语音播报电路,按键电路,继电器电路等。

软件程序主要包括主程序,读出温度子程序,计算温度子程序,显示温度刷新子程序,语音播报程序等。

我们利用DS18B20温度传感器采集温度通过STC89C5单片机系统在应用板上利用LCD1602液晶显示屏显示实时测得的温度,通过程序进行语音播报;当温度超过设定的上限时,继电器闭合,并驱动动机工作,以实现降温。

经过调试,结果显示LCD屏准确显示了室温,并能进行语音播报。

当温度超过设定上限时,继电器闭合,风扇工作,开始降温;实现了系统设计要求的功能。

关键词:

室内温度,自动控制,STC89C52单片机,语音播报。

 

 

0前言

在信息高速发展的今天,科学技术日新月异,科技的进步带来了测量技术的发展,现代控制设备发生了翻天覆地的变化。

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中室内温度检测就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。

温度是一个永恒的话题和人们生活环境有着密切关系的物理量,是国际单位制的七个基本单位之一,作为各种信息的感知、采集、转换的功能器件温度传感器的作用日显突出,温度的检测与控制是日常生活中比较典型的应用。

如在日常生活中测量并记录室内的温度,可以了解室内温度变化情况。

而我们所要设计的系统正是进行温度的检测,并实现自动控制室温。

 

1总体方案设计

1.1设计方案论证

针对本课题的设计任务,进行分析得到:

本次设计用温度传感器进行温度的测量,转化了的温度信号由传感器直接得到了数字信号。

该数字温度显示电路的设计,在总体上大致可分为以下几个部分组成:

1.单片机控制电路;2.温度传感器;3.LCD显示电路。

方案一

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。

方案二

进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,DS18B20为常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

所以采用温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

本文设计的室温自动控制系统原理框图如图1所示。

图1系统原理框图

1.2主控制器

控制器芯片种类很多,有凌阳公司的16位单片机,也有51系列的单片机。

方案一:

选用AT89C51,该芯片能使用C语言进行程序的编写,方便阅读。

但是,其集成程度低,功能单一,需要使用到其它功能时,只能通过扩展外电路来实现,使得整个电路复杂,成本高,稳定性低。

同时,I/O口输出功率小,一般器件都需要加驱动才能够正常使用。

方案二:

STC89C52RC是微处理器低功耗,超低价高速(0-90M),高可靠5V工作电压单片机,使产品更小,因为本系统要求的性能不是太高,而且处于模拟阶段,利用单片机芯片就可以控制。

其中单片机的更轻,功耗更低,如果相关新增功能没有用到,则不需看相应部分。

用STC提供的STC-ISP.exe工具可以将原有的代码下载进STC相关的单片机即可,内部Flash擦写次数为100,000次以上。

用户程序是用ISP/IAP机制写入,一边校验一边写,无读出命令。

综合考虑我们选择方案二STC89C52RC作为我们的主控芯片。

1.3LCD液晶显示

因为LCD1602液晶显示屏具有微功耗、体积小、显示内容丰富、超薄轻巧等特性,常用在袖珍式仪表和低功耗应用系统中,且1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字),所以选择其进行实时温度显示。

图2LCD1602液晶显示屏

1.4温度传感器

   温度传感器DS18B20结构图如图3所示,引脚左负右正,一旦接反就会立刻发热,有可能烧毁。

同时,接反也是导致该传感器总是显示85℃的原因。

正确接法:

面对着扁平的那一面,左负右正。

DS18B20的性能特点如下[1]:

a.独特的单线接口仅需要一个端口引脚进行通信;

b.多个DS18B20可以并联在惟一的三线上,实现多点组网功能;

c.无须外部器件;

d.可通过数据线供电,电压范围为3.0~5.5V;

e.零待机功耗;

f.温度以9或12位数字;

g.用户可定义报警设置;

h.报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

i.负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;

 

DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。

因此,在实际应用中要将分辨率和转换时间权衡考虑。

高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。

第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。

当DS18B20接收到温度转换命令后,开始启动转换。

转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。

单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。

当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。

如图表1,DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。

若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。

因此,可用多只DS18B20同时测量温度并进行报警搜索。

在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。

主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。

温度LSB

温度MSB

TH用户字节1

TL用户字节2

配置寄存器

保留

保留

保留

CRC

表1

DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。

器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。

计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。

其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。

 

2硬件电路设计

2.1.主控制器

单片机STC89C52RC具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

STC89C52RC是一种低功耗,高性能的8位微控制器,具有8K在系统可编程FLASH存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上FLASH允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得STC89C52RC为众多嵌入式控制应用系统提供高灵活,超有效的解决方案。

该单片机的最小系统包括电源部分,串口部分,单片机部分,晶振电路和复位电路。

最小系统原理图如图4所示[2]。

图4最小系统原理图

2.1.1电源部分

如图5是单片机小系统的电源部分原理图[3]。

图5总电源电路

通过5V变压器,上图电路是可以为整个设计的各个部分提供电源(+5V),由图可知,电源部分由一个电源插槽J7和电源开关S1、一个发光二极管、一个1K电阻和一个容值为1UF的稳压电容组成。

当电源接通后,打开开关,发光二极管会发光。

2.1.2串口电路

串口原理图如图6所示。

主要作用是进行电平转换,提高信号传输的速度。

图6串口原理图

串口电路是由一个MAX232芯片、5个0.1UF的电容和一个串口组成。

电路中的MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电,在电路中的C1~C4是必不可少的,缺一不可,具有调节电压值的作用。

由图可知,当数据线接上串口DB9时数据经过3号引脚送给MAX232的13号引脚,在经过12号引脚输出将电平转换送往单片机芯片中,在经过一系列单片机讲信号送给11号引脚经过芯片电平转换由14号引脚送给串口的2号引脚,已达到电平转换的作用。

2.1.3晶振电路

如图7所示,晶振电路用于产生单片机工作所需的时钟信号,电路选用11.0592MHZ的晶振和容值为22PF的电容,在单片机芯片的18(XTAL1)、19(XTAL2)号引脚之间跨界警惕震荡器和微调电容,就可以构成一个稳定的自激振荡器。

图7晶振电路图图8复位电路

2.1.4复位电路

如图8为复位电路,复位主要作用是使CPU和系统中其他功能部件都恢复到确定的初始状态,并从该状态开始工作。

复位电路有上电复位和手动复位两种。

上电复位:

当上电时,电容相当于短路,此时电阻上的电压约等于VCC,经过一段时间后电阻电压逐渐变小直至为零。

手动复位:

按键后,电容器被短路放电、RST直接和VCC相连,就是高电平,此时进入复位状态。

松手后,电源开始对电容器充电,此时,充电电源在电阻上,形成高电平送到RST,仍然是复位状态,稍后充电结束,电流降为零,RST降为低电平,开始正常工作。

本系统的复位电路采用的是手动复位的方式[5]。

2.2显示电路

动态显示电路使用STC89C52RC的P0.0至P0.7端口作为LED的字段输出口,P2.4至P2.7作为LED的位选控制口,采用PNP管9012驱动共阳LED显示器的第3引脚公共极COM,显示器从最左边的位开始点亮LED。

其接口原理图如下图9所示:

图9显示电路

2.3数据采集电路

   数据采集电路如图10所示。

DS18B20的内部结构主要包括:

寄生电源,温度传感器,64位激光ROM和单总线接口,存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限值得TH和TL触发器,存储和逻辑控制,8位循环冗余码发生器等七部分。

   DS18B20测量温度时使用特有的温度测量技术,将被测温度转换成数值信号,测量结果将存入温度寄存器中。

   

图10数据采集电路

2.4语音电路

WT588D模块内部包含了FLASH存储器和相关的外围电路,只需要在外部接上控制端、电源及扬声器,就能进行工作。

 BUSY指示:

BUSY端接上发光二极管就能显示语音的播放状态,可以从电脑软件上设置为语音播放时点亮或语音播放时熄灭。

供电:

模块在5V供电时,串两个二极管到VCC端,模块在3V供电时,可直接把电源接到VCC端。

 

PWM音频输出:

直接驱动扬声器的方式,扬声器两端接PWM+和PWM-,此状态输出时,PWM+/PWM-两端不可短路、不可接电容电阻到地。

如需采用此状态外接功放,可用差分方式输出到功放。

 

DAC音频输出:

外接功放驱动扬声器方式,不可直接驱动扬声器。

PWM+/DAC端做音频输出,PWM-端腾空。

DAC端需接一个1.2K电阻和104电容到地,再把音频输出给功放。

本次设计的系统采用的是DAC音频输出语音电路如图11所示。

图11语音电路

2.5按键电路

本文设计的按键电路如图13所示。

采用独立按键的结构形式,每个按键相互独立,分别与单片机的一根输入线相连,配置灵活,软件简单,适用于按键较少的场合。

当按键开关未按下时,开关处于断开状态,单片机I/O口为高电平;当按键开关按下时,开关处于闭合状态,单片机I/O口为低电平。

由于按键开关闭合和断开瞬间都会产生5~10ms的抖动,对于单片机来说完全可以感应到,因此采用软件消除抖动。

图12按键电路

3软件设计

3.1主程序设计

如图13为主系统原理图,系统的主程序主要用来初始化一些参数,对DS18B20的配置数据进行一系列的设定。

另外对DS18B20的状态不断的查询,以读取当前的温度值,并对温度进行处理,温度值的BCD码处理后,将其段码送显示缓冲区,以备定时扫描服务程序处理。

图13主程序流程图

3.2温度转换程序

读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。

其程序流程图如图14所示。

图14温度转换流程图图15温度显示流程

3.3温度显示程序

此程序是将采集到得数据用LED数码管显示,然后将实际温度与设置的报警上下限进行比较,决定是否发出报警信号。

由于T为实际温度的绝对值,TH,TL也是温度的绝对值,因此判断大小关系时,要通过正负号来确定。

其程序流程图如图15所示。

 

4调试分析

4.1硬件调试

单片机应用系统的硬件和软件调试是交叉进行的,但通常是先排除样机中明显的硬件故障,尤其是电源故障,才能安全地和仿真器相连,进行综合调试。

4.1.1硬件调试方法

在样机加电之前,首先用万用表等工具,根据硬件电器原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号、规格和安装是否符合要求。

应特别注意电源的走线,防止电源之间的短路和极性错误,并重点检查扩展系统总线(地址总线、数据总线和控制总线)是否存在相互间的短路或与其它信号线的短路。

第二步是加电后检查各个插件上引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机插座上的各点电位,若有高压,联机时将会损坏仿真器。

第三步是在不加电情况下,除单片机以外,插上所有的元器件,最后用仿真适配器将样机的单片机插座和仿真器的仿真接口相连,为联机调试做准备[6]。

4.1.2电源调试

用数字万用表电压档测量电池输出的电压值是否正常,如果显示不正常,将数字电压表打到蜂鸣器挡,用两个表笔检测电路是否短路或断路。

4.1.3语音模块调试

将所需要的语音录入语音芯片中,通过按键看是否播放录音。

4.2软件调试

本次设计采用的是keil仿真器进行软件调试,此系统可以开发应用软件,以及对硬件电路进行诊断、调试等。

它的具体功能是可以进行CPU仿真,可以单步、跟踪、断点和全速运行,而且,程序的编译过程中,可以对设计软件进行自诊断,并自动给出故障原因。

同时用户调试程序时,可以通过窗口观察寄存器的工作状况,以便及时发现和排除编程中可能出现的错误。

软件的调试是利用keil软件,模块化调试,通过观察存储单元数据的变化,查找并解决程序的语法和逻辑错误,具体的调试步骤如下:

1.把系统的各个模块在仿真软件中逐个调试,如数据采集模块、显示模块等。

2.对各个需要赋值模块调试时,赋入初值,单步调试,观察数据窗口,看输出结果是否为设计时想要的结果。

3.把各个模块组合起来,全速运行,看程序是否能流畅的,是否能实现设计的系统

调试的图片如下图16所示:

图16STC—ISP界面图

2.软件调试过程:

首先接上USB——RS232C信号线,安装串口驱动程序;然后打开STC——ISP界面,进行软件调试。

按下面顺序:

1)选择自己的CPU型号STC89C52RC

2)选择自己的端口:

根据之前安装的串口驱动程序,右键——我的电脑——属性——硬件——COM查看自己的输出端口号

3)选择波特率、最高、最低

4)打开程序文件

5)自己编写的程序编译后生成的.Hex文件

6)点击、下载程序至单片机,调试

7)重复2和5

注意:

在调试程序时,要把拨码开关拨到相对应的ON状态。

如下图17为系统调试完成后,正常运行的现场图

图17系统工作现场图

5结论

经过了四个星期的课程设计,让我对以前学的理论知识有了较深的体会,学习用理论指导实践,在实践中发现了自己有很多不足之处,并不断完善自己。

因为前两周准备考研,没做多少东西,但这次的课程设计还是让我体会到很多东西,不仅仅是知识本身的,更多的是自己动手能力和逻辑思维能力的锻炼。

同时,也知道自己还有许多要学的东西。

在以后的工作中,单片机是必须掌握的基础工具,所以我们认真学习单片机的知识,这对我们找工作是很有帮组的,遇到问题并不可怕关键是我们要找到方法去解决问题,一定要勤于动手,这样自己才会有提高。

另外,对温度传感器的认识也不仅仅只停留在书本上了,亲身体会到了LCD显示屏和LED灯的应用。

当然在这次宝贵的课程设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。

在和同学的协作中去完成电路原理图的绘制,焊接电路板,最后进行调试,当然这些过程都离不开老师的悉心指导;这些工作必须按部就班,有计划保质量地完成,否则后面的工作就无法进行。

最后特别要感谢老师及同学在这四个星期对我的帮助。

 

参考文献

[1]唐文彦传感器(第四版)[M],北京:

机械工业出版社,2006

[2]夏路易:

Protel99SE[M],第一版,北京:

北京希望电子出版社,2002

[3]王俊峰:

电工技术基础[M],第二版,北京:

电子工业出本社,2010

[4]谭浩强:

C程序设计[M],第四版,北京:

清华大学出版社,2010

[5]谢自美:

电子线路设计测试与应用[M],第二版,武汉:

华中理工大学出版社,2004

[6]蔡美琴:

MCS-51系列单片机系统及其应用,第二版,北京:

高等教育出版社,2008

 

附录1电路原理图

 

 

附录2.PCB图

 

 

附录3主程序

/********************************************************

温度控制语音播报

操作方法:

将POWERSUPPLYSWITCH中的1602开关打开,用杜邦

线将驱动板上的VCC和GND连在基础板的OUTPOWER上,

用杜邦线将驱动板RST和DATA与P34和P35连接,用杜

邦线将驱动板DS与P20连接起来,DC与P05连接,把

温度传感器插在驱动板U1上

********************************************************/

#include

#include

#include<588.c>

sbitrs=P2^0;

sbitwr=P2^1;

sbitlcden=P2^2;

sbitDC=P0^5;//电动机控制

bitflag0;

uchardisplay[2];

ucharbai,shi,ge;

ucharnum=0;

voiddelayus(uints)

{

uinti;

for(i=0;i

for(i=0;i

}

voiddelay(uintz)//延时函数

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

voidwrite_com(ucharcom)//液晶写指令

{

rs=0;

P1=com;

lcden=0;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

voidwrite_data(uchardate)//液晶写数据

{

rs=1;

P1=date;

lcden=0;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

voidinit()//液晶初始化

{

wr=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_com(0x80);

}

voiddistwo(ucharadd,uchartemp)//液晶显示两位数字

{

ucharshi,ge;

shi=temp/10;

ge=temp%10;

write_com(0x80+add);

write_data(shi|0x30);

write_data(ge|0x30);

}

voiddiszifu(ucharadd,uchar*temp)

{

uchari;

write_com(0x80+add);

for(i=0;temp[i]!

='\0';i++)

{

write_data(temp[i]);

delay(5);

}

}

voiddistemp(ucharadd,uinttemp)

{

bai=temp/100;

shi=temp%100/10;

ge=temp%100%10;

write_com(0x80+0x40+add);

write_data(bai|0x30);

write_data(shi|0x30);

write_data(0x2e);

write_data(ge|0x30);

write_data(0x43);

display[2]=(bai<<4)|(shi);

display[1]=ge;

display[0]=0x22;

}

voidsound_temp()//温度播报函数

{

send_oneline(bai);

delay(500);

send_oneline(10);

delay(500);

if(shi!

=0)

{

send_oneline(shi);

delay(500);

}

if(ge!

=0)

{

send_oneline(11);

delay(500);

send_o

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1