当前位置:首页 > 基于单片机饮水机温度控制系统的设计
图2.8 键盘的机械抖动示意图
2.6 报警电路设计
报警电路主要是由发光二极管和蜂鸣器组成的,具有声、光报警功能的简单电路,其电路如图2.9所示。当温度超过设置的上、下限时,P2.2口输出高电平,三极管导通,蜂鸣器工作,发出声音。P2.3口输出高电平时,发光二极管正向导通,发光报警。
图2.9 报警电路
2.7 控制电路设计
控制部分电路图如图2.10所示。
·17·
图2.10 控制电路
该电路是由两个固态继电器作为控制开关,一个继电器控制加热装置,另一个继电器控制制冷装置。固态继电器是一种无触点通断型电子开关,是四端有源器件,其中两个端子为控制输入端,另外两个为输出受控端。为了实现输入与输出的隔离,器件采用了高耐压的光耦合器。当输入信号有效时,电路呈导通状态,反之,呈断开状态,可以实现类似电磁继电器的开关功能。固态继电器将MOSFET、GTR、普通晶闸管等组合在一起与触发电路封装在一个模块中,而且驱动电路与输出电路隔离。固态继电器是可控硅过零触发器,无触点,不用调节,对电网不会产生波形畸变。因此,非常适合本设计。
控制电路工作原理:当AT89C51的RXD口输出一个高电平时,三极管开始工作,驱动继电器J1工作,继电器J1呈导通状态,加热装置开始工作。同样,当AT89C51的TXD口输出一个高电平时,三极管开始工作,驱动继电器J2工作,继电器J2开关闭合,制冷装置开始工作。
·18·
第3章 软件设计
系统软件设计也就是程序设计,就是在完成了硬件系统的基础上,再编写相应的程序,下载到芯片里,通过执行程序指令控制硬件,从而实现各种功能。一般来讲,软件的功能可分为两大类。一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控制等。另一类是监控软件,它专门协调执行模块和操作者的关系,在系统中充当组织协调的角色。
软件设计就是用计算机所能接受的形式把解决问题的步骤描述出来。简单的说,软件设计就是编制计算机程序。一个好的程序应该完成规定的任务,而且应该层次清晰、易于阅读,并尽可能少占内存,缩短执行时间,但也不要一味地追求少占内存,缩短执行时间。这样做可能会使程序的可读性变差。随着大规模和超大规模集成电路的发展,芯片的内存容量也在不断的增加,计算机执行指令的时间也大大的缩短。因此,程序的长短和执行时间,不再显得那么重要,而程序的易读性和程序的开发周期,显得越来越重要。另外,在较复杂的程序设计中,必须充分考虑程序的可读性、稳定性、可扩展性、兼容性以及容错性等也是衡量与评价程序的优劣的重要指标。
由于用汇编语言编写的程序效率高,占用的内存单元和CPU资源少,执行速度快,还可直接访问存储器、输入/输出接口以及扩展的各种芯片,并可直接处理中断,直接管理和控制硬件设备,适用于实时控制系统,因此,本设计选用汇编语言来编写程序。
3.1 主程序流程图及简要说明
本设计的软件设计包括主程序、A/D转换子程序、键盘子程序、控制子程序及显示子程序。结合本系统的功能,程序长度不会超过AT89C51内部
·19·
的程序存储器,所以硬件上不用外扩程序存储器。
主程序流程如图3.1所示。本设计主程序工作过程为:首先对系统初始化,由于本系统要实现对饮水机的冷、热两个水箱的检测与控制,因此先要选择控制模式,这主要是经过硬件电路的按键S1来选择的。在确定进入加热或制冷模式后,调用A/D转换子程序对采集到的模拟量进行转换,转换完毕保存数据后,调用键盘子程序,这个子程序主要完成对温度上、下限的设置。完成设置后,调用控制子程序1或子程序2,通过对执行这个程序,实现报警、加热或制冷。最后调用显示子程序来显示温度值。整个系统是一个闭环的,系统工作是循环进行的,这也就实现了实时检测的设计要求。
图3.1 主程序流程图
开始 初始化 进入加热模式? Y 调用A/D转换子程序 调用键盘子程序 调用控制子程序1 N 调用A/D转换子程序 调用键盘子程序 调用控制子程序2 调用显示子程序 ·20·
共分享92篇相关文档