基于51单片机的恒温控制自动报警加热系统(源码+万字报告+部署)

目 录

1 引 言 - 5 -
1.1 课题研究意义 - 5 -
1.2 国内外现状 - 6 -
1.3 课题研究内容 - 6 -
2 系统方案设计 - 7 -
2.1 系统整体方案设计 - 7 -
2.2 主控制器设计论证 - 7 -
2.3 显示方案设计 - 8 -
2.4 报警方案设计 - 9 -
2.5 温度检测方案设计 - 9 -
3 系统硬件设计 - 10 -
3.1 主控制器设计论证 - 10 -
3.2 显示电路 - 12 -
3.3 报警电路 - 13 -
3.4 温度检测电路设计 - 14 -
3.5 温度控制电路设计 - 15 -
3.6 按键电路设计 - 15 -
4 系统软件设计 - 17 -
4.1 软件整体设计 - 17 -
4.2 显示软件设计 - 18 -
4.3 温度检测软件设计 - 19 -
5 系统测试 - 21 -
5.1 Proteus仿真软件简介 - 21 -
5.2 系统仿真 - 21 -
5.2 温度检测上电测试 - 22 -
5.3 温度报警设置上电测试 - 23 -
5.4 温度报警控制上电测试 - 25 -
结 论 - 27 -
谢 辞 - 28 -
参 考 文 献 - 29 -
附录 - 30 -

1 引 言
1.1 课题研究意义
温度的测量是现在很多领域需要去检测的数据,比如在农业领域、制造行业、汽车上传等领域,温度的测量都是很重要的,温度数据太大或者太小,都可能对该环境产生影响,所以就需要时刻对所处环境的温度进行检测。有的领域对温度的要求比较严格,如果温度稍有异常,就有可能造成严重的损失,因为温度是非常容易受到环境因素的影响,进而造成温度采集非常的困难。湿度就会受空气变化的影响,阳光的变化也会影响湿度数据。因此,目前很多的温度采集方案都有一定的缺陷,采集出的数据会有一定的误差,这样采集后的数据有失去了参考价值。最古老的采集方法是选用干湿球或者毛发去采集,这些采集方法在很多场合都不能达到检测效果,采集的数据不稳定。所以设计开发一种温度采集系统非常有意义。
1.2 国内外现状
其他地区的温度方案发展的很早,早在20世纪70年代前后就出现了。现在全球各个地区的温度的控制方案都有这不同的研究水平,一些地区向着智能化的方面进行研究设计。现在,经济较强的地区都设计出了以微处理器为核心的自动操作环境检测的智能化水平很高的温度控制设备。但是我国的温度控制技术仍然有待于提高,温度内对于温湿度等参数的控制程度低,很多仍然靠人工依据经验来管理。还有,我们地区的环境操作设备核心问题是设备的性能不强。我们地区的温度环境的操作实力还比较落后,所以温度的作物的产量就比较低。其他地区的温度设备性能比我们的强很多,而且都有相关的要求,可是费用非常的高,一些监控设备在我们地区的环境情况下没有办法使用。还有目前大部分对温度环境参数检测的地方,还是需要通过人工去进行测量,获取各项数据,此方案不能准确的测量出温度环境的具体情况,而且要耗费人力物力,容易造成较大的损失,这样会加大成本,无法达成想要的控制要求。国内的农业土地利用率很低,尤其是环境控制技术达不到我们期望的要求。
1.3 课题研究内容
系统是基于51单片机的恒温控制自动报警加热系统,主要的核心器件是STC89C52单片机,可以实现密码开锁功能。分析了智能电子密码设计的基本功能,将各个功能有机的联系在一起,设计初系统整体设计方案,完成系统结构设计。确定各个功能的具体方案,明确所有设计细节、器件选型。根据选择的器件型号,设计初系统各部分电路图,将各个功能的电路图连接在一起,绘制出系统整体电路图。按照连接关系设计软件,软件设计通过C语言进行编程,完成各个功能代码开发,进行模块化设计,最终组合在一起,并且按照逻辑流程设计初软件设计流程图。最终对系统进行调试,对代码的逻辑功能进行优化,判断代码是否可行,对设计缺陷不短进行改进,最后完成系统功能。
2 系统方案设计
2.1 系统整体方案设计
系统是基于51单片机的恒温控制自动报警加热系统,主要的核心器件是STC89C52单片机。工具包括显示控制、主控制器、报警控制、按键输入、温度调节。在基于51单片机的恒温控制自动报警加热系统硬件设计中,选择单片机作为系统的核心控制原件,具体设计内容包含选取的基于51单片机的恒温控制自动报警加热系统设计方案、单片机以及传感器的种类及型号,此外还需结合各部件进行显示模块的设计;在系统软件设计中,最核心的内容为系统程序的设计,程序运算结果可由显示模块加以呈现。系统不断采集环境温度数据,按照设置的温度范围,控制温度调节设备,并可以进行声音报警提示。如图2-1所示。

图2-1项目架构图
2.2 主控制器设计论证
方案一:单片机是系统设计中最为重要的方案之一,所以系统使用STC89C52处理器。这款MCU设计了高集成化的存储时间很长的单片机设计方式去制造,此处理器可以使用MCS-51指令操作,并且在硬件接口上都是通用的。此MCU在功耗方面表现非常优秀,功耗很小,设计中使用的是CMOS的处理器,此处理器是8BIT的,MCU中具有8K比特的存储空间,此存储空间可以进行读写操作,读写次数高达上十万次,完全满足开发需要。STC家族的MCU在工厂制造出厂会对其进行加密设计,外接的任何技术手法都不会对STC家族的MCU完成解密工作,此处理器的运行速度非常快,处理器的最高速度能够上升到420兆赫兹,处理器在很多复杂环境下都可以正常运行,稳定性非常优秀,最为需要关注的一点是,该处理器的成本可观,价格很低,在电子市场中随处可见。
方案二:选择MSP430型号处理器,此处理器可以进行16位数据处理,指令系统也非常简单,容易上手,具有多种寻址方式(七种操作方案、四种目的操作方案)、具有28条内部指令操作、还有很多其他类型指令;此单片机的寄存器还带有内部存储功能,在进行程序计算时,此功能非常有用。设计中的查表算法非常有用。在这样的处理器进行代码设计,可以完成更加规范,完好的程序。此处理器最大的特点就是低功耗模式,此模式下运行能耗非常低,可以再很多有低能耗要求的场合进行使用。此低功耗模式,可以通过编程进行控制,灵活应用,非常方便。缺点:工作电压不是+5V的,需要额外增加+5V转换电路;过压或者过流时都会击穿I/O口;另外内部没有EEPROM,不能实现数据的存储。
方案三:选择STM32F103RBT6处理器,处理器搭配的是ARM型32位的M3核的CPU,此款处理器计算速度快、采购成本低、功耗低的32位处理器。目前此处理器在大量的电子商品上进行使用,比如电子农业领域、电动汽车领域、共享行业等领域,这些领域都有使用此产品的例子。处理器的运行速度可达72兆赫兹,高速的运行,是由于内部设备都可以进行高速操作,STM32最大的特点就是输入输出接口数量多。此款处理器还搭配了两个模数转换器,转换精度达到12个数据位,检测精度很高,可以处理18路模拟数据,处理器的模数转换的很多参数都可以进行代码控制、可编程操作,例如模数转换频率,多通道的扫描方式。
方案选择:由于设计需要低成本,器件使用效率也要达到最高,方案二还需要进行电源再转换,设计电路复杂,明显成本要高,方案一就可以满足整个系统设计要求,设计费用远小与另外两个方案,所以选择方案一。而方案三的利用率不能更好的提现,所以方案三也排除。
2.3 显示方案设计
方案1:数码管。采用数码管完成系统相关数据的显示,一个数码管能只能显示一个数值,多个数值需要多个数码管进行显示,数码管动态扫描有着明显的LED的缺点,因为在扫描过程中,是需要移位实现的,这就需要借助于移位寄存器。同时一旦需要对整个电路进行测试时,就会跳出很多障碍。所以本设计也不采用LED。
方案2:系统的显示方案选择LCD1602。液晶显示效果清晰,一目了然,液晶显示的字样数量很多,包括所有的数字、字母,都可以进行显示。此款液晶电路设计非常简单、成熟,硬件电路设计上没有问题,设计通过地址数据输入、显示数据输入就可以对液晶进行控制,显示需要显示的数据,液晶显示不用进行扫描,只要输入数据,再不进行下一次刷新的时候,是不会更新显示内容的。最重要的是液晶的电源和系统电源一致,不用单独设计电源系统。LCD1602。该模块显示的内容多种多样,并且非常简单明了,价格合理,对于本设计而言,非常适用。虽然接口线连接的比较多,后期对整个电路进行测试时,就会非常容易得到测试结果。
方案选择:系统只需要显示温度数据大小,方案二成本高,而且不适合,因此选择方案一。
2.4 报警方案设计
系统需要进行报警设计,蜂鸣器可以发出响亮的蜂鸣声,所以选择蜂鸣器。系统在需要进行报警的时候,可以控制蜂鸣器蜂鸣。蜂鸣器的声调也可以进行控制,通过软件代码既可以完成。
2.5 温度检测方案设计
方案一:温湿度采集选用DHT11进行采集,此产品内部具有自动校准的功能。产品的采集方法就是数字式采集设计,此采集方案执行可靠、采集的数据精度高,而且产品的寿命长。产品带有电阻式实物采集技术,这种技术在和处理器进行结合设计时非常简单、方便。产品采集的温湿度数据精度高、执行可靠、采集稳定、操作容易等很多特点。产品在使用前一定要在规定的环境中进行校准,这样才可以使用。校准的控制需要在软件程序里进行控制,通过程序写入,在采集环境温湿度数据的时候,必须使用校准数据。此产品通过一条数据线就可以完成采集数据的传输。产品集成度很高,设计非常小巧。
方案二:选用DS18B20采集温度数据,检测数据精确。此产品的数据线为一条,仅仅一条数据线就可以完成温度数据的传输,这条数据线既要传输数据信号,也要传输指令信号。产品在出厂的时候就有各自的ID数据,相当于各自的身份,可以通过数据线进行在线查询。产品和处理器的连接方式,就只有一条线,单片机通过一个IO口就可以进行温度数据的获取。此产品在温度采集方面非常准确,对于温度的检测很敏感,但是不能采集湿度数据。在远距离采集时,也可以使用此方案,通过数据手册知道,单片机通过特定的函数就可以获取到温度数据,采集频率很高,可以实时进行温度数据的获取。
方案确定:因为方案一同时获取温度、湿度数据,方案二只获取温度数据,方案二,温度采集数据更加准确,因此采用方案二。
3 系统硬件设计
3.1 主控制器设计论证
3.1.1 概述
STC89C52内部有8K的Flash存储电路,可以存储相关的数据,此单片机应用非常广,开发简单、电路设计容易,可以加快开发团队的开发进度,缩短开发周期。开发成本低,被很多企业所选择。器件内部的运行速度很快,引脚数量大,是很多开发方案的首选。输入输出数量为32个,分别设计为4组,引脚口0,引脚口1,引脚口2,引脚口3,有多个定时器,定时数据准确,中断设计也很方便,定时器和中断的结合使用,能够实现很多比较复杂的功能要求,也可以嵌套很多中断执行。
除了普通使用的输入输出接口,单片机还需要时钟接口、复位接口、电源接口。时钟的接口是18脚、19脚,设计选择的是12兆赫兹的晶圆。复位接口是9脚,通过单片机的9脚输入复位信号。复位动作输入的9脚接口能够加入备用电源,这样可以保证芯片内部的数据不会因掉电消失。单片机的31脚接口是EA,这个引脚是可以确定处理器代码的存放位置,是内部还是外部,将高电平输入到31脚,这样就表示单片机使用的是内部存储的代码,如果将低电平输入到31脚,这样就表示单片机使用的是外部存储的代码。如图3-1所示。

图3-1单片机引脚说明
3.1.2 晶振电路
片机的运行离不开晶振电路,此电路是单片机系统必不可少的外围硬件,如果此电路出现异常情况,单片机系统必定会瘫痪,无法运行,导致整个系统出现故障。单片机的所有程序都在烧写的时候写入到只读存储器里,单片机系统在启动的之后必须要进行程序的读取。处理器读取一条代码的用时,这个时长就是处理器的一个机器周期,这个时长对于处理器就是节拍。处理器设计了晶振,这样就产生了时钟,整个系统都需要时钟的存在才可以启动运转。因此,晶振电路是处理器运行的核心外围电路。本设计选择的是12兆赫兹的振源。单片机的内部带有振源,但是由于设计需要,这里选择了外部振源。电路图入图3.2所示。
晶振的作用就是给处理器节拍信号,也就是脉冲,处理器就是按照这个节拍进行工作,所以此节拍就是处理器的工作速度。此方案选择12兆赫兹振源,所以处理器就会进行每秒12兆的速度工作,每个处理器的运行速度都是有限的,不能太高,此处理器的最大速度是420兆赫兹,如果振源选择的太大,单片机无法按照此速度进行工作。
振源的两个引脚与单片机的XTAL0、XTAL1相接,这样就可以给处理器输入节拍,此电路的设计必须要防止干扰,特别是在器件布局上要特别注意,如果电路设计不好,单片机获取不到节拍信号,系统运行肯定瘫痪。晶振工作的时候可能有偕波,这种信号不会影响到单片机对节拍信号的获取,但是也会造成稳定性的影响,晶振的设计厂家都给出了设计方案,在振源的输出到单片机的输入之间各接入两个电容,电容的大小在10pf到50pf之间,电容的另一端接GND,此设计就可以消除偕波的影响。电路如图3-2 所示。

图3-2晶振电路
3.1.3 复位电路
处理器设计了复位功能电路,就是在系统想要重回到从新启动的状态之后,就可以通过此功能电路对系统进行复位。其实处理器在开始上电运行的时候,就是一个复位的状态,所以处理器启动就是需要进行复位的。单片机的重启需要复位电路对复位接口输入一定要的信号脉冲,要求的有效脉冲信号是5ms时间。大部分设计的方案是选择上电复位。但很多时候需要进行手动复位,所以设计了按键复位设计,这样可以非常方便的进行系统复位操作。在开发和使用中都非常有用。如图3.3所示。
复位电路中有电容、电阻、按键3中器件,电容电阻的参数也是至关重要的。厂家给出来电容的大小为10微法,电阻的大小是1000欧姆。通过阻容充电就可以计算出来,电容充电到3.5伏,即为电源电压的70%,还可以得到充电时间10K*10UF=0.1S。在处理器系统启动到100毫秒内,电容就会进行充电一直到3.5伏。然而1000欧姆电阻的电压就会下降,减小到1.5伏。所以在系统启动的100毫秒内,复位接口的电压会从5伏下降到1.5伏。处理器输入1.5伏以下就是低电平,所以在系统启动的100毫秒里,处理器就会产生复位。如图3-3所示。

图3-3复位电路
3.2 显示电路
系统的显示选择数码管进行显示,数码管完全可以满足设计的需要,此器件可以满足显示所有数字字符,可以满足设计功能。单片机通过数据口配合时序接口就可以控制数码管显示的内容。通过软件的操作可以对数码管显示任何位置指定显示的内容,操作方便、简单。最重要的是此数码管要求的电源参数和单片机系统的一致,这样就可以通用电源,不必进行电源转换,减少的设计工作。
LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留"效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8位时,只需两个8位I/O口。
在本设计中显示部分采用数码管显示器,能够满足显示比赛倒计时,两队比分数据,各自设计4位一体式数码管进行显示,电路图如图3-4所示。通过74HC245对数码管进行驱动,由于数码管选择的是四位一体数码管,所以8550和数码管的位选信号进行连接,这样仅仅需要一个8550即可完成四位一体4组数码管的驱动设计电路。

图3-4 液晶接口电路图
3.3 报警电路
报警选用蜂鸣器进行报警提示。当系统采集的温湿度数据超过设置的临界数据,系统控制蜂鸣器进行声音报警提示,通过声音提示用户。在具体的电路实现过程中,只有蜂鸣器对电路的要求颇高,要想使其能够正常使用必须要在电路当中接入一个三极管来对电流进行控制。电路中的三极管采用三线连接的让是接入,分别与蜂鸣器、单片机、GND相连接,三极管高低组态会对电流进行放大,使其能够满足蜂鸣器工作所需。只要单片机引脚处的电平发生了高或低的变化,蜂鸣器就会随之发出警报。在系统中因为选用的是8550,所以系统初始通电并不会引起蜂鸣器的报警。
系统中的蜂鸣器在接通电源之后,因其是一个电磁式装置,内部线圈与磁条之间会对振动膜片施加力的作用,当出现温湿度异常时,即PWM输出低电平,此时蜂鸣器以周期性的方式发出声响。这样的一个报警电路设计结构非常简单而实用,如图3-5所示。

图3-5 蜂鸣器报警电路图
3.4 温度检测电路设计
在本设计当中,系统对空气温度的检测我们要求其误差值要能够保持在0.1摄氏度范围内,在对传感器的选择上选用了DS18B20温度传感器来作为检测传感装置,该传感器在结构上要比电容传感器要更加简单,但有着较大的温度特征,需要对温度进行一定的补偿。在温湿度传感中反应迅速且十分稳定,所以选用DS18B20温度传感器从性价比上来看还是比较高的。此产品的数据线为一条,仅仅一条数据线就可以完成温度数据的传输,这条数据线既要传输数据信号,也要传输指令信号。产品在出厂的时候就有各自的ID数据,相当于各自的身份,可以通过数据线进行在线查询。产品和处理器的连接方式,就只有一条线,单片机通过一个IO口就可以进行温度数据的获取。

图3-6 温度检测接口电路图
3.5 温度控制电路设计
温度控制硬件设计选取继电器进行实现。利用继电器的动作操作加热设备或者制冷设备的开与闭动作实现加热或制冷的性能。系统利用DS18B20获取温度信息,判断是否进行加热处理。由于单片机的IO电流不够,所以需要设计继电器驱动电路,选择NPN三极管控制继电器。采用光耦PC817对电路进行隔离,保护控制器端不会受到继电器端电气影响,起到保护作用。电路图如下图所示。

图3-7 温度控制电路
3.6 按键电路设计
在本系统当中所要使用的按键并不多,包括复位键在内一共只有5个,所以我们将按键与单片机的接口相对应,也即是KEY1、KEY2、KEY3、KEY4接入到单片机端口上键盘电路用于设置系统状态。在按键被按下,此时单片机的引脚上会产生低电平,系统程序运行中会对这两个引脚上的电平进行检测,发现这两处的引脚电平为低,说明相应的按键被按下,随之系统执行相应的功能。K2为设置选择按键,K3为加按键,K4为减按键。对系统温度上下限进行设置。

图3-12 按键电路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值