用AT89C2051单片机制作蒸饭柜定时开关-控制电路

  作者:沉默的offer 时间:2018-08-16


AT89C20517805
用AT89C2051单片机制作蒸饭柜定时开关
ZF04-A型蒸饭柜是一种专供集体食堂使用的大型炊事设备,其整体结构采用不锈钢设计.具有功率大、效率高、蒸饭速度快、操作简单等优点。但由于在该蒸饭柜上未设置定时断电的自动控制机构.因此,在使用时必须采用人工计时。待时间到达(蒸饭结束)时再由人工切断电源,这在使用中感到非常不便。为此。笔者采用AT89C2051单片计算机芯片设计制作了一个用于蒸饭柜的定时自控开关电路,该电路既可按照系统默认的时间参数自动运行,也可由使用者随时进行设置,通过按键输入新的时间参数。电路运行后,即能在预定的时间内自动完成蒸饭和断电控制。具有电路简单、制作容易、使用灵活、设置方便等优点,非常适合在部队、厂矿、机关、学校、医院等集体食堂和各类餐馆、饭店的蒸饭柜中安装使用。现将该电路介绍如下,仅供感兴趣的朋友参考。
1.电路的主要功能与特点
①电路简单,全部电路仅用一个单片机芯片配合少量外围分立元件.即可完成:脉冲振荡、分段延时、1~60计数、99一O倒计数、两位数译码、定时参数设置的输入与记忆、显示及输出控制等多种功能。由于本电路的时钟脉冲是对晶振分频后获得的.具有极高的频率稳定性,且延时系采用数字计数的方式进行。因而对时间的控制精度较高,一致性好。可有效地避免普通RC延时电路控制时间不准确、不可靠,特别是一致性差的问题出现。
②初始加电时。本电路的两位数码显示器将自动显示出系统默认的。蒸饭时间”(本例为:蒸饭40分钟)。只要不进行新的时间设置,电路就将按系统默认的定时控制方式自动开始运行.此时。固态继电器SSR导通。交流接触器 JC得电吸合,蒸饭柜加电工作。
③电路允许随时通过S1和S2按键开关自行输入、设置新的蒸饭定时时
间参数,其范围可在1分钟(最短时间)至99分钟I最长时间)之间任意设置(分辨率为1分钟),这为用户根据蒸饭柜的使用季节、环境温度、蒸饭用的米、面品种及数量等具体情况。适时进行设置,选用合适的蒸饭(通电)定时时间提供了方便。
④在进行新的时间参数设置时。设置指示灯将被自动点亮,同时,数码管上的小数点也将自动停止闪动,表明电路已进入了设置状态,此时。固态继电器SSR将立即截止。JC释放,蒸饭柜暂停加电工作。
⑤在进行时间参数设置和正常蒸饭的过程中。系统均采用两位数码管做“十位”和“个位”的倒计时显示。同时用数码管上小数点的同步闪亮作为秒显示。显示直观、准确。
⑥系统设有柜门是否关闭的自动检测功能,当柜门尚未关闭时.电路将强制切断蒸饭柜的电源,以防止柜内热蒸气外泄对操作人员造成伤害。
⑦当电路的定时时间终到时.两位数码管将同时各显示一个负号“一”且数码管上的小数点将停止闪亮,SSR也将立即截止.使JC释放,切断蒸饭器的工作电源。
2.电路硬件
电路见图1。AT89C2051单片机芯片IC1做为本电路的核心,C3和R10构成了简易的上电自动复位电路。JT、 C1、C2与ICl的相关引脚构成了单片机的时钟电路。显示器采用两只“共阳”型数码管。ICl的15个I/O口全部使用。其中。PI.0为秒显示输出口,通过一只限流电阻接至各数码管的小数点电极上,正常工作时,将以小数点的闪亮作为秒信号显示~P1.1-P1.7作为七段数码管的段选信号(低电平有效)的输出口,分别通过一只限流电阻,接至各数码管的相应电极上。数码管显示采用动态扫描的方式进行,其动态位选信号分别由 ICl的P3.4和P3.5输出。高电平有效。
其输出信号通过VTl、VT2分别驱动两只数码管交替(动态)显示。ICl的P3.0和P3.1为设置输入口,其对“地”间各接有一只常开型自复位按键开关S1和 S2。其中,S1为。设置功能键”。S2为。一1操作键”,通过与软件配合,利用 S1、S2即可完成控制蒸饭柜加电定时时间参数的输入与设置。P3.2为设置状态指示口。其对+5V间通过一只限流电阻与接LEDl发光管相接,通过软件设置.在正常工作时,使P3.2为高电位,则 LEDl处于熄灭状态;当电路进入设置状态时。使P3.2为低电位,则LEDl被点亮。P3.3为柜门状态检测输入口。当柜门关闭时。柜门开关Sm闭合,P3.3被接至低电位;当柜门打开时,柜门开关Sm开路。P3.3被悬空(通过内部上拉电阻接至高电位),这样.通过与软件配合。即可准确进行识别~P3.7为输出控制口,与 R9、LED2及固态继电器SSR的输入端和+5V构成串联回路。由P3.7经固态继电器适时驱动交流接触器JC吸合与释放,通过接触器接点的闭合与断开。实现对蒸饭柜的定时断电功能。LED2为蒸饭状态指示灯,当蒸饭柜加电工作时. LED2点亮。电源变压器B、桥式整流器 QZ、7805三端稳压器WY及C4~C7组成了电源电路,可为整个电路提供稳定的+5V直流工作电源。
电路中所需元件的规格参数均如图1中所标注。
3.程序介绍
本程序使用汇编语言编写。主程序和定时中断子程序的流程图分别如图2a、图2b所示。程序运行后。在初始化程序中.首先对片内RAM空间进行分配和定义。其中.42H和43H分别用于存放个位和十位数码管中拟显示的数据;4AH、4BH为两个记忆单元,分别用于存放设置好的加电(蒸饭)时间的十位和个位的数据,当电路工作时,根据需要。适时被分别读入42H和43H中。在定时计数中断子程序中,要完成秒信号的产生、60秒计数、定时时间到否的查询等功能。其中。秒信号的产生是利用对单片机内部定时器T1产生的中断信号进行多次累加后形成的.该信号将由P1.0输出,用以完成秒闪烁功能。同时,该信号还经过60次计数后产生分信号,最后,再以分钟为时间间隔.从设置好的定时时间数据内逐一递减并随时显示剩余的定时时间参数,形成倒计数的显示方式。在加电(蒸饭)工作状态下.当42H和43H同时都减为0时。则该状态下的定时过程也就完成了.系统将控制蒸饭柜自动断电。同时.两位数码管均显示出。一。。在按键处理子程序中.要完成对两种按键信号的输入识别、键接点的软件延时除颤、十位和个位定时数据的分别减一设置等功能。在显示子程序中。采用了典型的查表程序。分别完成十位和个位数码管的动态显示,其指令表如附表所示。为了提高电路的抗干扰性能。确保系统工作稳定、可靠。防止程序出现“跑飞”.还在程序的各相关部位设置了的。软件陷阱。。
4.自行设置时间参数的方法
本电路时间参数的设置,采用循环方式进行。在设置时.先按一下S1.即可进入定时时间的个位数设置。此时, LED1点亮.LED2熄灭,秒闪动也同时停止.十位上的数码管被自动消隐。按
动S2.可使个位上的数码管做倒计数显示,选择到所需的数字即可。再按一下 S1,将进入定时时间的十位数设置。此时.个位数码管被自动消隐,按动S2,可选择十位上所需的数字。第三次按动 S1,电路便恢复到正常的工作状态。此时,LEDl熄灭,LED2点亮,两只数码管将自动显示出新设置好的“定时”时间,秒显示开始闪亮,整个电路开始按照新设置的定时时间参数运行工作。
在进行上述设置时,当调整到数码管显示为O时。若再按动S2“一1”键。对应的数码管将自动回到9。因此。每位数的设置都是可以循环调整和显示的。





关键词:

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关电路