标题: 51单片机水温控制器设计文档与Proteus仿真图分享 [打印本页]
作者: hgfhgj 时间: 2020-7-8 18:31
标题: 51单片机水温控制器设计文档与Proteus仿真图分享
核心电路设计与论证方案一:采用AT89C51单片机设计的水温控制器,AT89C51运算速度高,外围扩展电路容易,软件编程简单容易,功耗低,体积小,成本低。
方案二:采用FPGA,它的名称是现场可编程门列阵,它是集成度最高的一种电路,一些较为复杂的数学式子和逻辑运算都可以通过它来完成,运算精度高。可通过EDA软件进行仿真。
本系统选用方案一作为设计方案。在水温控制系统中稳定性好,且制作成本较低,符合设计要求。
2.2 显示模块论证方案一:用四位数码管显示,需要数码管驱动电路,需要占用8条数据线和4条地址线,共12个引脚。显示内容较少,而且需要选择动态扫描方式。
方案二:选用LCD1602显示密码。显示内容丰富,可以显示字符,程序配套,易于编程,8条数据线和rw读写、en片选、rs数据/命令选择线,共需11个引脚,无驱动电路。
综上所述,选择方案二显示。
2.3 温度检测电路模块方案一:采用温度传感器AD590,AD590检测输出的信号是模拟信号,因此需要变成数字信号,需要A/D转换电路。
方案二:采用DS18B20。DS18B20将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。测温范围为-55℃~+125℃,测温精度为士0.5℃。
方案二与方案一相比,设计电路简单,无需进行A/D转换,所以选择方案二。
综上,本文采用AT89C51单片机位主控元件,LCD1602液晶屏显示方式,以温度传感器DS18B20为温度检测电路,加上按键电路对温度值设定以及加热电路,构成一个安全可靠的水温控制系统。
2.4总体设计本设计采用以AT89C51单片机控制方案。 利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,不但能实现基本的温度显示与检测功能,还能根据实际需要添加键盘控制电路、加热功能。系统结构框图如图2.1所示。
图2.1系统结构框图
第3章 单元电路设计
3.1按键控制模块本设计中共设置了3个按键,分别为温度设置按键、加温度按键、减温度按键。如图3.1所示,为按键控制电路。从上到下分别为按键K1、K2、K3 ,K1为温度设置按键,K2为加温度按键,K3为减温度按键。通过温度设置按键K1、K2、K3可以设置温度,在液晶屏上显示出来,并且可根据设置的温度与实际温度进行大小比较,进而控制加热电路。
图3.1 按键控制电路
3.2显示模块本设计采用LCD1602作为显示装置,LCD1602显示屏具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,因此,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。
如图3.2所示,为LCD1602液晶显示电路。其中液晶屏的RS、RW、EN引脚分别接到单片机的2.2、2.1、2.0引脚,D0~D7引脚分别与单片机的P0.0~P0.7口相接。RP1为电阻排,上拉电压。LCD1602在运行时显示两行字,第一行显示字为英文字母“Temperture”,第二行的显示为温度值。
图3.2 显示电路
3.3温度检测模块连续3次输入密码错误将产生报警,通过蜂鸣器来实现报警功能。每当有按键按下时,蜂鸣器都会鸣叫一声。当密码输入正确,顺利开锁时,发光二极管就会被点亮,上锁时,二极管熄灭。电路图如图3.3所示。
图3.3 温度检测电路
3.4加热模块当设置温度高于当前温度传感器DS18B20检测到的温度时,单片机AT89C51的P1.6引脚会输出低电平,使继电器开关闭合,加热电路接通。加热电路如图3.4所示。
图3.4 加热电路
3.5单片机最小系统AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,高性能 CMOS8 位微处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51 是一种高效微控制器。单片机 XIAL1 和XIAL2 别接 30PF 的电容,中间再并联一个12MHz的晶振,形成单片机的晶振电路。由AT89C51,晶振电路和复位电路共同组成了单片机最小系统,如图3.5所示,单片机最小系统电路图。
图3.5 单片机最小系统电路图
第4章 系统软件设计
4.1 主程序的设计本设计第一次进入此系统的时候,开始会进行初始化操作,首先由温度传感器DS18B20开始检测温度,然后在液晶屏LCD上显示检测到的温度,当有按键按下时,系统会对设置的温度进行检测,并与实际温度比较大小,判断是否开启加热电路。具体流程如图4.1所示。
图4.1 主程序流程图
4.2 DS18B20程序设计DS18B20温度传感器程序的主要功能包括初始化,数据读取与写入数据,执行完一系列的命令后返回。如图4.2所示,为DS18B20程序设计图。
图4.2 DS18B20程序设计图
主要代码是:
4.3 按键程序设计 开始的时候,系统会判断是否有按键按下,如果没有按键按下,系统会返回,若有按键按下,系统会判断,加温度按键和减温度按键,然后根据要求判断是否启动加热电路。具体流程如4.3所示。
图4.3 按键程序流程图
第5章 系统仿真与调试使用Proteus绘制原理图,然后将Keil生成的hex程序文件载入到单片机中,点击运行:
如图5.1所示,为常温时显示温度图。常温时温度传感器检测到的温度,显示在液晶屏LCD1602上。
图5.1 常温时显示温度
如图5.2 所示,为常温时,温度传感器检测温度的仿真图。
图5.2 温度传感器检测温度
2.按键控制仿真
当设置温度高于传感器检测到的温度时,系统会启动加热电路。用灯泡代替加热器,灯泡发光,说明加热器在工作,灯泡不发光,说明加热器未工作。如图5.3所示,为设置温度为95℃时的仿真图,图5.4为设置温度后,加热电路加热时的仿真图。
图5.3 设置升温仿真图
图5.4 加热电路开启加热
温度低于传感器检测到的温度时,加热电路自动关闭,如图5.4所示,为设置降温仿真图,如图5.5所示,为加热电路关闭加热。
图5.4 设置降温仿真图
图5.5 加热电路关闭加热
为了防止有人不劳而获,源程序就不分享了,附件只有仿真图:
仿真图.7z
(230.15 KB, 下载次数: 51)
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |