基于STC89C52的温度控制系统的硬件设计论文.docx
- 文档编号:1996081
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:34
- 大小:1.47MB
基于STC89C52的温度控制系统的硬件设计论文.docx
《基于STC89C52的温度控制系统的硬件设计论文.docx》由会员分享,可在线阅读,更多相关《基于STC89C52的温度控制系统的硬件设计论文.docx(34页珍藏版)》请在冰点文库上搜索。
基于STC89C52的温度控制系统的硬件设计论文
计算机控制技术课程设计论文
题目:
基于STC89C52的温度控制系统的硬件设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
摘要
本次课程设计内容是检测温度,进行显示,并利用当前的温度值实现相应的控制功能。
为了实现温度控制功能,该设计以STC89C52为主要控制器,通过DALLAS公司的DS18S20温度传感器测温的新型数字温度计。
本数字温度计设计采用美国DALLAS半导体公司推出的一种智能温度传感器DS18B20作为检测元件,测温范围为-55~125℃,最大分辨率可达0.0625℃。
主控制器采用单片机STC89C52,其集成度高,片内资源丰富,接口模块包括SPI、SCI、A/D、PWM等。
显示电路采用3位共阳极LED数码管,从P0口输出段码,列扫描用P1口来实现。
由于采用了改进型智能温度传感器DS18B20作为检测元件,与传统的温度计相比,本数字温度计减少了外部的硬件电路,具有低成本和易使用的特点。
DS18B20温度计还可以在高温报警、远距离多点测温控制等方面进行应用开发,具有很好的发展前景。
随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。
因此本次设计内容的思想符合了市场的主潮流,有很好的应用前景,同时对设计人员也是很好的一次锻炼。
关键词:
STC89C52,DS18B20,温度控制,数码管显示
基于STC89C52的温度控制系统的
硬件设计
一引言
(一)课题研究的背景
随着大规模集成电路的发展,微型计算机的应用愈加广泛、日益深入。
其中,由单片机微型计算机构成的控制系统应经愈来愈受到人们的关注。
可以这样说,没有微型计算机的仪器不能称为先进的仪器,没有微型计算机的控制系统不能称其为现代控制系统。
在科技日益发展的今天微型计算机控制系统已经深入到我们的日常生活之中。
如温度、烟雾报警系统,温湿度检测系统,温度控制系统,红绿灯控制系统,等等。
无一不用了微型计算机的控制思想。
随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。
本次设计以STC89C52单片机为主要控制器,DS18B20温度传感器为温度检测元件,LED数码管为温度显示元件,直流电机为被控对象实现温度的显示控制功能。
通过本次课程实践,我们更加的明确了单片机的广泛用途和使用方法,以及其工作的原理。
(二)课题研究的目的和意义
随着社会的发展,温度的测量及控制变得越来越重要,温度控制系统已应用到人们生活的各个方面,温度控制的开发与人们工作生活息息相关。
本文采用单片机STC89C52设计了温度实时测量及控制系统。
单片机STC89C52能够根据温度传感器DS18B20所采集的温度在数码管上实时显示,并根据温度是否达到上限阈值,来决定是否启动风扇进行扇热,以达到将温度控制在允许的范围内。
通过本次的课程设计,使我们对单片机的结构和工作原理有了更深的了解,掌握了微机控制系统中软硬件的设计方法,提高了自己的动手能力,及分析问题解决问题的能力,理论联系实际,使自己所学的知识更好的应用到实际生活中,防止了课上说起理论滔滔不绝,一进实验室不知所措的尴尬局面的发生。
同时也提升了个人的综合竞争力,为自己今后进入社会打下了坚硬的理论和实践基础。
二硬件电路的设计
(一)系统设计的框架
本课题设计的是一种以STC89C52单片机为主控制器,以DS18B20为温度传感器,LED为显示器,直流电机为执行元件的温度控制系统。
该控制系统可以实时显示当前的温度,并根据温度是否达到上限阈值,来决定是否启动风扇进行扇热,以达到将温度控制在允许的范围内。
其主要包括:
电源模块、温度采集模块、按键处理模块、实时时钟模块、LED显示模块、通讯模块以及单片机最小系统。
下面主要介绍温度控制系统的硬件设计方法以及各显示模块的功能。
图1系统框架设计
图1为温度控制器的主要思路,在进行控制系统的设计时,总体的思路和框架是很重要的,它决定了在后来能否正确实现期望功能以及系统的可靠性的高低。
正确合理的系统设计框架会提高电路设计实施阶段的效率,同时也保证了在电路设计阶段时能对全局进行把握,对各个模块详实了解,以致在系统出现问题时,能准确对电路进行测试检验,来找出问题的所在处。
所以在系统的实际设计阶段之前,系统框架设计是必要的,这也是评价系统合理、稳定性的一部分。
(二)单片机最小系统电路
在课题设计的温度控制系统设计中,控制核心是STC89C52单片机,该单片机为51系列增强型8位单片机,它有32个I/O口,片内含4KFLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,而且价格便宜,其外部晶振为12MHz,一个指令周期为1μS。
使用该单片机完全可以完成设计任务,其最小系统主要包括:
复位电路、震荡电路以及存储器选择模式(EA脚的高低电平选择),电路如下图2所示:
图2单片机最小系统电路
1.STC89C52单片机的特性及引脚介绍
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
(1)增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.
(2)工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
(3)工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
(4)用户应用程序空间为8K字节,片上集成512字节RAM
(5)通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻
(6)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片
(7)具有EEPROM功能,具有看门狗功能,共3个16位定时器/计数器。
即定时器T0、T1、T2
(8)外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒
(9)通用异步串行口(UART),还可用定时器软件实现多个UART
图3STC89C52引脚图
STC89C52RC引脚功能说明
VCC(40引脚):
电源电压 VSS(20引脚):
接地
P0端口(P0.0~P0.7,39~32引脚):
P0口是一个漏极开路的8位双向I/O口。
作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。
在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。
此时,P0口内部上拉电阻有效。
在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):
P1口是一个带内部上拉电阻的8位双向I/O口。
P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。
P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
2.STC89C52单片机的时序介绍
STC89C52单片机的时序的定时单元有4个,它们分别为震荡周期、时钟周期、机器周期以及指令周期,且时间长度由小到大依次排列。
所谓震荡周期,就是一个震荡脉冲的持续时间,也可以称之为节拍。
它是晶体振荡器产生的时钟频率的倒数,也是单片机系统中最小、最基本的时序定时单位。
两个震荡周期加起来就称为时钟周期,一个状态包含两个节拍,分别为前拍P1和后拍P2在状态的前拍P1有效时,通常完成算数逻辑操作;在后拍P2有效时,一般进行内部寄存器之间的传输。
机器周期是CPU访问存储器或I/O端口一次所需的时间,并且规定一个机器周期包括个状态或者个振荡周期。
指令周期则是CPU取出一条指令,一直到该指令执行完成所需的时间,它以机器周期为单位。
通常一条指令执行所需的时间为1~4个机器周期。
在51系列单片机中,除乘法、除法指令是四周期指令外,其它的都是单周期指令或双周期指令。
综上所述,一个机器周期包含12个振荡周期或6个时钟周期,指令的执行时间称为指令周期,单片机按照指令执行所需的时间将其分为单周期指令、双周期指令和四周期指令3种,全部指令按其长度可分为单字节指令、双字节指令和三字节指令,各指令的操作在时间上有严格的次序,这种次序便称之为时序。
(三)温度检测系统电路
1.温度检测电路
温度检测控制系统中采用的检测元件是DS18B20,在该电路中,DS18B20的通信线是与单片机的P2.7口相连。
DS18B20温度传感器只有三根外引线:
单线数据传输总线端口DQ,外供电源线VDD,共用地线GND。
DS18B20有两种供电方式:
一种为数据线供电方式,此时VDD接地,它是通过内部电容在空闲时从数据线获取能量,来完成温度转换,相应的完成温度转换的时间较长。
这种情况下,用单片机的一个I/O口来完成对DS18B20总线的上拉。
另一种是外部供电方式(VDD接+5V),相应的完成温度测量的时间较短。
在本设计中采用外部供电方式实现DS18B20传感器与单片机的连接,其接口电路如图4所示。
图4温度采集模块
2.DS18B20的介绍
温度检测控制系统的主要元器件是DS18B20温度传感器DS18B20数字温度传感器,它是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计。
DS18B20主要有以下特点:
(1)只要求一个I/O口即可实现通信;
(2)在DS18B20中的每个器件上都有独一无二的序列号;
(3)实际应用中不需要外部任何元器件即可实现测温;
(4)测量温度范围在-55到+125℃之间;在-10~+85℃范围内误差为±5℃;
(5)数字温度计的分辨率用户可以从9位到12位选择。
将12位的温度值转换为数字量所需时间不超过750ms;
(6)内部有温度上、下限告警设置。
因此由于DS18B20有诸如此类的优点,使其在温度检测系统中被大量应用。
这在本次设计中是深有体会的,凭借它极其简单的电路连接和通信协议,使我们在实际的电路调试过程中节省了不小的精力。
3.DS18B20的引脚及其功能
图5DS18B20的引脚图
DS18B20引脚功能描述:
(1)GND地信号;
(2)DQ数据输入出引脚。
开漏单总线接口引脚。
当被用在寄生电源下,此引脚可以向器件提供电源;漏极开路,常太下高电平.通常要求外接一个约5kΩ的上拉电阻;
(3)VDD可选择的VDD引脚。
电压范围:
3~5.5V;当工作于寄生电源时,此引脚必须接地。
4.DS18B20的使用方法
DS18B20与单片机的通信是在一根线上完成的,即在一根总线上实现数据的双向传输,因此在一根I/O线上读写数据时必须遵循严格的读写时序要求。
18B20有自己的通信协议,该协议规定了三种时序:
初始化时序、读时序、写时序。
在对DS18B20进行读写操作时必须按照该时序进行操作,否则不能进行通讯。
(四)系统电源电路设计
为了电路实现上的简洁高效,防止因电源模块电路的复杂原因而导致故障的发生,本次的电源部分设计比较简单,其结构如下图:
图6电源模块
该电源模块中主要由两个滤波电容构成,一个滤除高频干扰,一个用于低频干扰,这样使电源电路更加可靠,不易受到干扰。
而不加滤波电容,直接单片机供电口与电源相连,则使单片机极不稳定,稍有外部干扰作用到单片机的电源口,都会使单片机产生波动,从而造成整个电路的工作的不稳定个,可靠性不高。
因此,在该电源模块设计中,滤波电路是提高电源稳定性所必需的。
(五)系统按键电路设计
为了提高系统的可操作性和实际应用的方便性,在需要时可以对系统进行手动操作,在本次电路设计中,添加了几个按键,分别为复位按键与控制直流电机正反转的按键,其接口电路如下图:
图7系统按键开关模块
复位按键是当电路出现故障或程序出现问题时,只要按下该键,系统程序就会从开始出执行。
该按键的存在提高了系统的稳定性与安全性,防止了程序进入死循环。
直流电机控制按键是为了控制电机的转向的,按下该键时,就会给单片机一个脉冲,系统程序检测到该脉冲后,就会改变电机的控制信号,使其改变转向,没按下一次,电机转向就改变一次。
该按键的设计也很好的适应了实际的环境因素,使电机的转向根据实际情况而调整。
(六)直流电机控制电路设计
该部分电路是系统控制的一个控制对象,该电机的控制是以温度为基础的,当温度达到上限阈值时,就会启动电机转动,带动电机上的扇叶旋转进行扇热,控制温度在上限阈值以下,从而达到控制温度的效果。
直流电机电路的设计成功与否决定了该系统的实际可用性,因此该部分电路必须严格设计,使电机控制电路能稳定、可靠、安全的运行。
其接口电路如下图:
图8直流电机控制模块
如图可知电机控制电路的控制口为P3.4和P3.5两个I/O端口,该两个控制口与直流电机驱动相连,通过对输出功率的放大以及对输出电压的极性的转换来控制电机的转动。
至于为什么需要加电机驱动,那是因为,单片机的I/O口的输出电流很小,根本不足以直接驱动电机的转动,这就要在主控制器与被控对象之间加一个控制单元,来间接控制电机的转动。
还有,即使是单片机可以直接驱动直流电机,这两者也不能直接相连,因为若电机出现故障会直接影响到主控制器的工作,后果严重的话会使系统瘫痪。
在本直流电机控制模块中,驱动选择的是L9110。
L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。
该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过800mA的持续电流,峰值电流能力可达1.5A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。
其引脚图如下:
图9L9110引脚图
L9110具有以下以下特性
(1)低静态工作电流;
(2)宽电源电压范围:
2.5V-12V;
(3)每通道具有800mA连续电流输出能力;
(4)较低的饱和压降;
(5)TTL/CMOS输出电平兼容,可直接连CPU;
(6)输出内置钳位二极管,适用于感性负载;
(7)控制和驱动集成于单片IC之中;
(8)具备管脚高压保护功能;
(9)工作温度:
-20°C-80°C。
L9110引脚功能,由图8可看出,L9110有8个引脚,其中分别有两个电源口和接地口,两个输入引脚,两个输出引脚,如下表所示:
表1L9110引脚功能
(七)温度显示电路设计
该电路的主要功能是对温度实时显示,使系统具有更好的可观性。
温度传感器DS18B20采集当前温度值并以数字量的形式送给单片机处理,控制器根据数字量与模拟量之间的对应关系,通过标度变换将数字量转换为工程上易于观测的十进制量。
由于DS18B20的精度很高,最高位0.0625℃,远远超过了系统所需要的精度。
该系统要求能显示0~99℃之间的温度,精度控制在0.1℃,因此显示电路部分需要三个数码管,分别用于显示小数位、各位与十位。
其接口电路如图10:
图10温度显示电路
在该温度显示电路中LED数码管使用的是共阳极的,它与共阴极的控制逻辑是反过来的,即每个共阳极数码管的电源端接在一起,通过控制阴极的电平高低来控制数码管的亮与灭。
在本系统中,数码管的段选信号是由P1.1、P1.2、P1.3控制的,位选信号是由P1.0~P1.7八个引脚控制的,通过控制相应的位选信号信号就能使相应的数码管选通,再通过控制相应的段选信号就能显示相应的数字。
因此用数码管做显示使用,是比较方便的,而且价格便宜,调试简单。
但是在利用共阳极数码管进行温度显示时,我们犯了一个很大的错误,那就是将LED数码管直接用I/O口进行驱动显示,指示在后期调试阶段,总不能正确显示温度值,要么不显示,要么显示特别暗。
刚开始总找不到解决方法,最后才发现此类问题和电机控制是相似的,那就是,I/O口的驱动电流是很小的,让它同时驱动如此多的数码管显示,已经超过了I/O的能力,致使在进行温度显示时出现显示错误。
因此为了正确显示温度,需要在I/O口与LED之间加一个三极管进行放大,其接口电路如图11:
图11LED显示信号放大电路
至此已经完成了整个控制系统的硬件电路设计,其主要由单片机最小系统、温度检测模块、电源模块、按键开关模块、LED温度显示模块、电机驱动模块等六大模块构成。
每个模块有自己独立功能,但又相互连接起来,相互作用。
温度检测模块检测当前温度值并以数字量的形式送给单片机;控制器根据数字量与模拟量之间的对应关系,通过标度变换将数字量转换为工程上易于观测的十进制量;然后将该数字量通过一定的显示规则送给LED显示模块进行实时显示,同时判断当前温度值是否超过温度上限阈值,并由此决定是否驱动电机转动进行扇热;若温度超过阈值,主控制输出控制信号,来启动电机转动进行扇热,以使温度降到阈值以下,并且根据正反转开关的状态来决定电机的转向。
由此得到整个系统的接口电路图:
图12温度控制系统总接口电路图
三系统的调试与软件设计
虽然从硬件连接图上看,系统的硬件设计已经结束,但是电路是否存在细小缺陷,如,焊点有没有虚焊,有没有短路,硬件设计的是否合理,是否有元器件损坏,电路工作是否可靠,等等,诸如此类的问题都是未知数。
这些问题对于后续工作来说是很重要的,如果解决不了,那么上面说设计的电路板就如同一块废料。
因此为了实现说需的功能还需要进行系统的调试,找出电路硬件上的缺陷与不足,同时进行软件的设计,而只有硬件电路上设计准确无误后,软件才能在硬件上实现其应有的功能。
在本次课程设计中,我是主攻硬件设计的,我的搭档是专门进行软件的设计,因此在这里软件部分的设计我就简略介绍一下,主要的工作还是硬件的设计与系统的调试,如果大家想详细了解该设计软件部分的设计信息,可以去看我的搭档的论文。
在实际进行测试时,毕竟要有通讯模块,将程序烧到单片机中,这就需要专门的下载工具,而由于市场上的下载器特别昂贵,甚至比我们整个电路板的设计成本还要高。
因此如果不是大量生产,购买这种下载器是不明智的,那要怎么做呢。
对于我们做一次就行的,只要用一个串口下载工具就可以解决,因为STC89C52单片机上有串口通讯口,可以将程序烧到单片机中,同时串口的成本是很低的,也就两三块钱一个,且在实验室也是有很多的。
因此在本实验中就使用串口进行通讯。
(一)串口通讯工具
串口通讯软件还是挺多的,这里我们就随便用了一个通讯通讯软件,其界面如下图:
图13串口通讯助手界面
当然,有了这个通讯助手还是不行的,因为计算机识别不了,这里还需要安装一个串口驱动。
这里使用的是CH340USB转串口驱动,其界面如下图:
图14串口驱动
驱动安装好之后,我们就可以将程序烧到单片机中,具体操作如下:
(1)将USB转串口接口接到电脑上,并将串口上的RxD、TxD分别与电脑单片机上的TxD、RxD接口相连;
(2)在串口助手上打开相应的“串口号”,如果正确安装串口驱动后,在串口中会显示出来的;
(3)再选择“打开程序文件”,找到keil生成的.hex文件,这一点需要先对keil进行配置,打开optionsfortarget‘target1’,然后勾选createHEXfile,最后对程序进行编译。
具体操作界面如下:
图15
(4)打开相对应的.hex文件之后,就可以烧程序了,烧程序时,先将单片机断电,然后点击“下载/编程”,接着对单片机进行供电,然后就可以看到程序被烧到单片机中了。
接下来就可以看到在程序的作用下,单片机的工作情况。
(二)系统软件设计
在本次课程设计中,我是主攻
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC89C52 温度 控制系统 硬件 设计 论文