汪老师1分享 - 51单片机基于Proteus的温控系统设计与仿真


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机基于Proteus的温控系统设计与仿真

1 硬件电路设计

1.1 硬件电路概述

温度控制系统设计就是对温度这种参数进行采集然后根据实际要求来进行超限报警和实时显示等一系列功能设计[7]。由于不同的用户对温度范围有着不同的要求,此时便可通过按键操作来轻松实现对所需要设定的温度范围进行更改,然后在通过单片机对温度传感器传回来的数据与用户所设定的温度范围进行比较,可以实现超限报警的功能。可以广泛应用于对温度有特殊需求的地方,比如说学校的机房与农业生产中的大棚种植等,也有某些重要的实验也要求在一定的温度范围之内,多可以通过本系统来实现温度的检测和控制功能。

1.2 单片机系统模块

1.2.1 AT89C51介绍

AT89C51单片机是在MSC-51系列最为重要经典的一种微型计算机设计型号,也是最普遍使用的单片机内核和指令系统,用中文简单称作为单片机[8]。它不仅具备不断反复自动读取和不断写入的存储元件,而且此类存储元件的研究设计和开发制造使用过程主要原因是由于它所设计的指令集及读入输出管理引脚完全兼容。从发布至今到现在,MSC-51系列的单片机依然是如今单片机技术学习与各种工农业生产应用的主流。

AT89C51的主要特性如表1所示[9]:

表1 AT89C51的主要特性

容性

51兼容

存储

4K字节可编程闪

寿

1000写/擦循环

数据保留时间

10年

静态工作范围

0Hz-24Hz

可编程I/O线

32个

位定时器/计数器

2个16位

断源

5

1.2.2 AT89C51引脚功能介绍

AT89C51有40个引脚,其引脚图如图1所示。

图1 AT89C51引脚图

主要引脚功能如下所示:

GND和VCC:是直流电源输出引脚,VCC为相应的直流电源,5.00V±20%。

RST:一个复位引脚输入的终端,此复位引脚上至少一个需要同时显示2个不同工作时间机器振荡周期的复位高电平(12个振荡周期)。

ALE/PROG-:地址锁存允许/编程脉冲,对内部FLASH编程时用于输入编程脉冲。

PSEN-:外部选通rom自动快速读取有效选择推通信号,每个选通机器人在全生命周期中平均应该至少出现2次有效选通信号,作为外部选通rom的内部oe[10]。

EA-/Vpp:内/v和外rom的电源选择和使用内rom的可编程稳压电源,低稳压电平时只要你需要直接访问一个片外的内rom。

1.2.3 单片机最小系统

单片机最小系统,由电源、晶振、复位电路这三个部分组成[11]。

首先是电源,人们在日常生活中也常常接触这个部分,简单来说就是供电是使电子设备可以工作的必需品,从人民的日常使用的家用电器没有电也寸步难行可以看出来。15现下人们最主要使用的单片机有两个电源标准,分别是5v与3.3v这两种电压,也有着一些单片机系统的使用电压比较低的情况,这些特殊情况被特殊地方与场合所使用,在当前的学习阶段我们不对此有着过多的研究,本次设计被采用的AT89C51这种型号的单片机,所要求的供电电压为5v这个标准,本次设计是利用软件进行仿真实现其功能,然后也可以通过所购买的开发板进行实物测试,开发板的接口就是与电脑连接的5v电压。

其次是晶振,晶体振荡器也是它的全称,很多东西多可以从名字看出其蕴含的本意,因此我们也得知了这种器件本质就是不断的震荡。由于单片机需要被提供时钟信号来进行工作,时钟信号的意思就是像军队一样需要一个领头按时发布命令,因此单片机所有的工作多是基于这个时钟信号所发布的命令。晶振振荡器接在单片机的18与19这

两个引脚,因为晶振需要先将它震动起来并且保持稳定,所以最后在晶振电路中加一个电容构成完整的电路。最后就是单片机的复位电路:

(1)上电复位:如果单片机中有200行的程序都是被我们所写,当首次运行的程序达到第100行的情况下,电突然在这种情况下被切断,就在这样的情况下我们有可能会导致遗失一些位于单片机内部某些区域内的信息和数据,也有可能我们不会遗失这些信息和区域内部的信息。因此,设备在被下次自动打开的关键时候,单片机内部是否能够正常地实现不会遗失数据这个功能我们是迫切期盼的。所以在加电后,内部初始化这种状态的过程被单片机所继续进行,上电复位大概就是对这种过程的简洁介绍,这种方法可以使单片机每次运行的时候多可以从用户所设定的最初状态开始,我们日常使用的电脑开机过程就是上电复位最广泛的应用。

(2)按键复位:如果当我们的所写的程序开始运行的时候被一些意外状况所干扰从而产生死机这种情况,也有可能产生程序跑飞这种状况,这个时候有一个复位按键可以被我们所使用,就可以重新使程序初始化并且再一次运行,按键复位大概就是这种意思,也叫做手动复位,我们日常所使用电脑的开机键就是最广泛的应用[12]。

(3)程序自动复位:如果当我们所编写的应用程序无法运行的情况下,单片机有一种可以自动复位的程序,就像看门狗一样可以实现自动复位的功能,对机制的具体认识在当前学习阶段不做更多深入。于是看门狗这种机制可以自动复位的功能,在程序无法运行与失去控制的状况下。

1.3 温度测量模块

1.3.1 温度传感器的选用

由于这次的毕业设计主要是设计一个对温度控制的系统,其中对温度测量模块可以选用两种温度传感器。

第一种方法是选择模拟式的温度传感器,其中我最初想法是选用pt100这种热敏式的电阻来作为环境温度传感器,热敏式电阻元件是一种现代技术发展较为成熟的元器件,基本上都是由一种半导体材料组合而成,主要的工作原理就是阻值会随着环境温度的改变而发生变化,可以通过对随着环境温度变化而产生变化的电压或电流进行采集,经过A/D模块,将采集到的数据传输给单片机,在进行处理,最后显示器中在呈现其温度数值[13]。这种设计方法主要优点是热敏电阻具有灵敏度非常高的特性、测温范围也比较广泛(-50℃~600℃)、电阻体型较小,应用广泛等优点。

第二种就是我们所选用的数字式温度传感器,其中最具有代表性的就是DS18B20这种数字型号,和之前的热敏电阻相比较来说,这种数字式地采用了集成式芯片以及应用了单总线技术,所以可以使干扰变少很多,于是准确性也就提高了,最重要的是数字式的可以把采集到的数据转换成单片机可以识别的数据。使得数据的传输与处理过程更加简易,也使得整个总体的硬件结构设计更为简洁,可以明显地使成本减少,设计电路更加方便与实物焊接更加简洁,基于软件平台的开发与调试也更加简单,开发的时间也被大幅度减少[14]。

由于热敏测温电阻的工作可靠性比较不好,因此测温的准确率比较低。而且需要A/D转换电路将模拟信号转换成单片机所识别的数字信号,过程比较繁琐。相对比来说,数字式的温度传感器可以直接输出数字信号并且测量精度也较高。所以最终选用第二种方法来进行对温度系统的设计。

1.3.2 温度测量原理

本次的论文设计是采用一线制的数字温度传感器DS18B20来作为本课题的温度传感器[15]。因为晶振受到干扰从而产生的频率不怎么被温度所影响,从而计数器就收到了传感器所发送的数据信号,然后在内部进行数据转换,从而生成单片机可以认识的语言,这样温度测量便完成了。

1.3.3 温度传感器与单片机连接图

温度测量电路由DS18B20温度传感器和AT89C51单片机两个部分组成,通过单线数据传输总线DQ与单片机的引脚相连接[16]。温度传感器将检测到的环境温度数据转换成为单片机可以认识的语言,之后单片机再将温度数据进行处理在传送给其他模块。单片机与温度传感器的连接图如图2所示[17]。

图2 温度传感器与单片机的连接图

1.4 温度显示模块

1.4.1 显示方案的选用

由于这次的毕业设计主要是设计一个对温度控制的系统,其中对温度显示模块可以选用两种显示屏。

第一种选择方法就是自己选择常见的一种数码管,数码管厂家可以把它划分成为八段或者七段的两种类型,七段可以比八段少一个微弱的红色小数点,然后两种基本功能相同。它是一种显示屏,可以通过对LED不一样的数码管的引脚传输一定量的电流使得LED产生光亮,从而可以使数码管显示一些参数被表示为温度,时间,日期等。数码管具有如下的优点:比较坚固耐用、节能性能比较好,使用年限比较久以及具有多种变换的颜色等等优点。在人们的日常生活中,由于其成本低廉和坚固耐用受到人们的广泛欢迎。应用于电冰箱、空调,热水器等家用电器中。

第二种就是选用液晶显示屏,液晶显示屏是以液晶材料来组成最基本的器件。在最初的方案设想中是选用LCD1602这种型号的,是因为它有着以下的优势:体型较小便于节省空间、节省电力便于不发热、辐射较低有利于健康,画面比较舒适等优点。主要应用于电视机和计算机等日常家电的屏幕显示。

由于不是应用在日常生活中,而是用于单片机系统的研究与仿真上,便不去考虑其成本较为低廉,而是选择第二种显示内容更加广泛与屏幕更加舒适的液晶显示器。

1.4.2 温度显示原理

lcd1602液晶显示器本身就是一种由各种液晶元器件以各种液晶材料为基础构成的,它们所可以进行显示的一个基本原理是在两块LCD板子中间分别填充一种液晶材料,然后再根据电压对这两块LCD板子材料里面分子顺序进行了改变。从而能够达到掩盖光源以及渗入光源的主要目标,来显示其中的深度与浅度不同样的层次感以及与其错落有致的影响效果。而且把三元颜色滤光层分别放入两块模板中间,就已经能够做到了显示彩色影像的这个目的[18]。

1.4.3 LCD602与单片机连接图

温度显示模块由一台单片机和LCD1602液晶显示屏两部分组成,通过一台LCD1602液晶显示屏的三根控制线直接与一台单片机的三个I/O口直接相互连接,再将8为数据线与一台单片机的I/O口进行了上拉式的电阻连接。最后VSS接地,VDD连接5V的直流电源,以及VEE接一个可调电阻从而达到控制亮度的功能,连接方式如图3所示。

图3 LCD1602与单片机连接框图

1.5 温度报警模块

1.5.1 报警电路原理

如果当前环境的温度不在设定的范围内,则系统就需要向用户发出警报,发出警报的报警电路由三部分组成,分别是PNP三极管、扬声器和LED。当与温度传感器数据连接的端口发出高电平,那么三极管集电极就会发生反偏,然后发射极正偏,这样三极管就导通了,最后驱动蜂鸣器发出刺耳的报警声音。同时与LED连接的端口也是高电平,LED会发亮。

1.5.2 报警电路与单片机连接图

报警电路由蜂鸣器、电阻、三极管以及LED组成,当所收集到的环境温度超过用户所设定的温度范围的时候,经过单片机处理就会向报警电路模块传来一股电流。这股电流经过三极管的放大,可以带动蜂鸣器,以达到报警的目的。报警电路与单片机的连接图如图4所示。

图4 报警电路与单片机连接图

2 系统仿真设计与功能实现

2.1 Proteus软件

Proteus这个软件,它是一款外国开发的仿真软件,已经有20多年的历史了,但是依旧广泛受到全球自动化工业设计人员的喜爱与应用[24]。除了和其他的eda软件具有同样的原理图绘制的方法,以及PCB布线功能等。最主要关键性的一点它自身具有独特的应用技术发展优势,它的实时集成电路和实时仿真系统具有实时进行交流无线互动的技术特点和应用功能,并且在针对应用微处理器的实际开发应用上面,还可以允许我们用户自身可以直接在一个基于应用微处理器集成原理设计框架图的应用虚拟自动化应用集成系统原型上直接进行实时编程,并且我们可以同时实现在原理图的基础上进行各种实时运行调试,还可以让我们自身能够清楚地的观看到系统正常运行后的实时输入和显示输出处理效果,配合该集成系统所有的需要实时配置的各种应用虚拟化集成仪器,例如示意图波辑器和分析仪等,Proteus也同时为我们自身搭建了一个完备的应用电子设计技术研究和产品开发工作的方便之处。

因此这是一个绘制PCB以及用来模拟实物运行的非常好用的软件,是当下仿真单片机以及其他元件的一款好软件。为学习单片机的广大人员提供了一个良好的在线平台去随心所欲地去检验自己所设计的单片机系统,再也不用像实物仿真那样费心费力了。

2.2 系统仿真

2.2.1 原理图仿真实现

原理图主要仿真步骤是:

(1)新建工程文件与原理图仿真设计

(2)找到所需要的元器件

(3)按照原理图连接导线

(4)在单片机里载入KEIL所编译出来的C语言.HEX文件

(5)设置仿真参数

(6)进行仿真

仿真结果如图5所示:

图5仿真界面

2.2.2 电路功能仿真实现

设计好的框图被画好之后,加载用keil4编写完成后的代码(也就是.hex文件),就可以清晰地看到一个比较形象化的模拟现场中所设计的东西正常运行的样子。该软件具备强大的元件库,而且使用者可以实时方便地看到仿真的结果,这种方式是非常简洁明了的,它的操作灵活性在很大程度上降低了对时间和人力资源的浪费。然而这种软件对于系统的仿真还是有其不足之处,在进行仿真时所有的数据都很准确,但是其实硬件之间会存在一些误差,所以我们在进行仿真工作完成后,进行现场实物制作时,还需要根据具体情况作出修改。

2.3 仿真电路原理图及结果

本设计要求设置温度范围在-20℃到100℃,超过这个范围则报警。不同的仿真结果如下图9所示,仿真原理图中DS18B20温度传感器采集到的温度分别是101℃和-21℃,超过了所设定的温度值,则仿真中LED灯亮,蜂鸣器发出

警报。

A 仿真-21℃

B 仿真101℃

图6不同仿真结果

2.4 仿真结果分析

从上述仿真结果中我们可以清楚地看得出来,这个分别指的是当前一个温度传感器已经超过了所设置的温度上限值和最低温度下限值之间的结果。当前环境中的温度值的数据信号被收集后,单片机将这种数据进行吸收,然后在把这种吸收的数据处理之后再发送给液晶显示屏上,这样便能够直接地显示当前环境中的温度值。

由上图仿真结果可知LCD1602显示为-21℃和101℃,已经超过所设定的温度上下限,此时单片机驱动LED灯亮起和蜂鸣器发出响声。

原理图

如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行! 

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值