标题: 基于51单片机水温控制系统综合实训资料文档 [打印本页]
作者: 月光下的背影 时间: 2019-6-9 17:26
标题: 基于51单片机水温控制系统综合实训资料文档
实验实现温度的智能控制,温度超过设置温度上下线会蜂鸣器会响及LED小灯发出亮光产生报警,实现实时温控为目的。
实训要求
(1)测量和控制温度
(2)控制精度在正负1
(3)控制输出通道为继电器或双向晶闸管
设计实施
1.系统概述
本实验采用51单片机和温度传感器18B20来设计的,温度测量范围宽,严密性高等特点,温度设计采用逢0.5进一的四舍五入的方法来消除其他客观或非客观因素带来的不利影响,实现温度的实时温度测量及显示,本实验还可自行设置超温报警和底纹报警控制,超出温度范围相应的继电器工作,继电器可以驱动相应的加热或制冷负载,上下限温度可通过按键设定功能。
2.主要单元电路(或功能程序)设计与分析
下面从软件电路方面分析电路各部分功能及其作用:
一 、首先介绍电路最核心的版块
单片机最小系统
AT89C51是一种4k字节闪烁可编程可擦除只读存储器的低电压 、高性能CMOS8位为微处理器存储器,俗称单片机。是一种高性能微处理器且为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。

2、晶振模块
晶振能把电能和机械能相互转换的晶体在共振的状体下工作,以提供稳定精确的单频震荡。为系统提供基本的时钟信号,使系统各部分保持同步,通常与锁相环电路配套使用。

复位模块在单片机上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。单片机rst引脚接收到2us以上的电平信号,只要保证电容的充放电时间大于2us,就可以实现复位,所以电容值是可以改变的。本电路中按下复位键以后液晶显示屏上会显示最初的设置。

二、其它重要模块
1、按键模块
按键1设置功能
设置功能的作用是可以调节上下限温度的限定值,比如温度下限为10摄氏度,按下设置键可以选中液晶显示屏中的下限温度,按下加减键可以做温度调整。
按键2加温
按下按键2可以增加上下限设定温度值。
按键3减温
按下按键3可以减小上下限设定温度值。

当温度达到设定值上下限的时候,蜂鸣器模块电路接通,蜂鸣器模块开始工作发出刺耳的报警声响。

3、18B20模块
18b20模块是一个温度采集模块,能够实时采集并传输温度。具有体积小,硬件开销低,抗干扰能力强,精度高的特点。采用单总线的接口方式 与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点。测量温度范围宽,测量精度高 DS18B20 的测量范围为 -55 ℃ ~+ 125 ℃ ; 在 -10~+ 85°C范围内,精度为 ± 0.5°C 。负压特性电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 DS18B20管脚排列:
1. GND为电源地;
2. DQ为数字信号输入/输出端;
3. VDD为外接供电电源输入端(在寄生电源接线方式时接地)

三、上下限水温报警显示控制模块
1、蜂鸣器、小灯报警模块
Led灯报警模块中接入了两个继电器控制当温度超过所设置温度的上下限以后继电器工作电路接通,led灯变亮发出报警信息。

2、显示模块
采用Lm016L液晶显示屏,蓝屏带背光白字体。用于显示控制温度

相同性质的电阻排列在一起,在电路中共同作用。

3.硬件组装与测试
硬件组装与调试,先看仿真结果:
1 正常初始化温度及运行状况

2上限温度报警

3下限温度报警

4 上下限温度调节

设计过程中遇到的问题:
在设计电路的过程中遇到了显示温度,而小灯和蜂鸣器在温度超过上下限之后小灯不亮,蜂鸣器不报警的情况,经查为电路接入电阻过高,导致元器件不能正常工作。
设计思路总流程图

四.实训小结
通过本次实训让自己认识到了那些方面不足,那些方面需要改进。使自己的动手能力和查阅资料独立思考的能力更加强大,再一个感谢指导老师的细心指导,让自己懂得了更多的知识。
五.附录
1.主要电路图和主程序流程图。

4.程序设计与调试
word文档51hei下载地址(如有错误 请大家指出 一起学习):
作者: ztlshr 时间: 2019-9-3 09:47
程序 有错误啊 rw 没有 定义怎么搞
作者: 优秀女大学生 时间: 2019-10-23 20:45
我想请问一下为什么我进行仿真的时候,超出水温上下限,灯没亮,蜂鸣器也没响。我修改了输入阻值,还是不行
作者: strelizia 时间: 2019-11-25 17:01
程序有问题,仿真也不行
作者: 伊苏i 时间: 2021-6-10 10:03
网页上的程序可以用 但是word里面的编译错误
作者: 18878648063 时间: 2022-6-17 22:27
怎么都不报警,是哪里出错了
作者: chengeiis 时间: 2023-1-11 21:58
本帖最后由 chengeiis 于 2023-1-12 19:54 编辑
sbit RS = P1^0;
sbit EN = P1^2;
sbit rw = P1^1;
加上就行了。试了可以正常运行!
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |