您当前的位置:五五电子网电子知识电子制作自动控制-单片机采用AT89C2051单单片机制作消毒柜自控开关电路 正文
采用AT89C2051单单片机制作消毒柜自控开关电路

采用AT89C2051单单片机制作消毒柜自控开关电路

点击数:7930 次   录入时间:03-04 12:00:14   整理:http://www.55dianzi.com   自动控制-单片机

  本文介绍一个采用AT89C2051单片计算机芯片(以下均简称其为“单片机”)制作的消毒柜自控开关电路,该电路既可按照系统默认的时间参数自动运行,也可由使用者随时进行设置,通过按键输入新的时间参数。电路运行后,能周期性地自动(定时)控制消毒柜内紫外线消毒灯管的加电和断电,适时完成对柜内餐具或其它物品的消毒工作。具有电路简单、制作容易、使用灵活、设置方便等优点,非常适合在部队、厂矿、机关、学校、医院等集体食堂和家庭及各类餐馆、饭店的消毒柜中安装使用。通过该电路,您可以进一步了解到“单片机”电路的应用扩展功能和指令应用技巧。

  1电路的主要功能与特点
  
  ①由于本电路的时钟是对晶振分频后获得的,具有极高的频率稳定性,且延时系采用数字计数的方式进行,因而对时间的控制精度较高,可有效地避免普通RC延时电路控制时间不准确、不可靠的问题出现。

  ②初始加电时,被控负载(紫外线消毒灯管)将自动处于加电状态,本电路的两位数码显示器将自动显示出系统默认的“消毒时间”,只要不进行新的时间设置,电路就将按系统默认控制负载循环工作的时间方式(本例为:消毒10分钟、暂停25分钟),自动开始运行。

  ③电路允许随时通过按键开关自行输入设置新的消毒、暂停时间参数,消毒和暂停的时间范围均可在1分钟(最短时间)至99分钟(最长时间)之间任意设置(分辨率为1分钟),这为用户根据消毒柜的使用季节、环境温度、柜内存放物品的种类及数量等具体情况,适时进行设置,选用合适的消毒(通、断电)时间提供了方便。

  (4)在进行新的时间参数设置时,数码管上的小数点将自动停止闪动,表明电路已退出工作状态,进入了设置状态,此时,固态继电器将立即截止,紫外线灯管停止加电工作。

  ⑤在进行时间参数设置和正常消毒及等待的工作过程中,系统均采用两位数码管做“十位”和“个位”的倒计时显示,同时用数码管上小数点的同步闪亮作为秒显示,显示直观、准确。

  ⑥系统设有柜门是否关闭的自动检测功能,当柜门尚未关闭时,电路将强制关闭紫外线消毒灯管的电源,以防止紫外线外泄对人员造成伤害。

  2、电路硬件
  
  电路见下图。AT89C2051单片机芯片IC1作为本电路的核心,C3和R1构成了简易的上电自动复位电路。

  JT、C1、C2与IC1相关引脚构成了单片机的时钟电路。显示器采用两只共阳型数码管。IC1的15个I/O口全部使用,其中,P1.0为秒显示输出口,通过一只限流电阻接至各数码管的小数点电极上,正常工作时,将以小数点的闪亮作为秒信号显示;P1.1-P1.7作为七段数码管的段选信号(低电平有效)输出口,分别通过一只限流电阻,接至各数码管的相应电极上。数码管显示采用动态扫描的方式进行,其动态位选信号分别由IC1的P3.2和P3.3输出,高电平有效,其输出信号通过VT1、VT2分别驱动两只数码管交替(动态)显示。IC1的P3.0和P3.1为设置输入口,其对“地”间各接有一只常开型自复位按键开关S1和S2.其中,S1为“-1操作键”.S2为“设置功能键”;通过与软件配合,利用S1、S2即可完成控制紫外线灯管加电时间与断电时间的输入与设置。P3.4为消毒时间设置状态指示控制口,通过一只电阻接至LED1,电路正常工作时,LED1不会亮,只有进行“消毒”时间设置时,LED1才会点亮。而进行“断电”时间设置时.LED1将被熄灭。

  P3.5为柜门状态检测输入口,当柜门关闭时,柜门开关Sm闭合.P3.5被接至低电位;当柜门打开时,柜门开关Sm开路,P3.5被悬空(通过内部上拉电阻接至高电位),这样,通过与程序配合,即可准确进行识别;P3.7为输出控制口,通过一只电阻接至一个固态继电器SSR的输入端,由固态继电器适时驱动紫外线消毒灯管实现周期性地加电与断电,完成断续自动消毒功能。LED2为消毒状态指示灯,只有当电路的紫外线灯管处于消毒工作状态时.LED2才会点亮。电源变压器8、桥式整流器QZ、7805三端稳压器WY及C4~C7组成了电源电路,可为整个电路提供稳定的+5V直流工作电源。

  电路中所需元件的规格参数均如下图中所标注。



www.55dianzi.com

  3、程序介绍
  
  本程序使用汇编语言编写。主程序和定时中断子程序的流程图分别如下图a、图b所示。

  程序运行后,在初始化程序中,首先对片内RAM空间进行分配和定义,其中,42H和43H分别用于存放个位和十位数码管中拟显示的数据:4AH、4BH、4CH、4DH为四个记忆单元,分别用于存放设置好的“加电(消毒)时间”与“断电(暂停)时间”的十位和个位的数据,当电路工作时,根据需要,适时被分别读入42H和43H中。在定时计数中断子程序中,要完成秒信号的产生、60秒计数、定时时间到否的查询等功能。其中,秒信号的产生是利用对单片机内部定时器T1产生的中断信号进行多次累加后形成的,该信号将由P1.O输出,用以完成秒闪烁功能。同时,该信号还经过60次计数后产生分信号,最后,再以分钟为时间间隔,从设置好的定时时间数据内逐一递减并随时显示剩余的定时时间参数,形成倒计数的显示方式。在某一种工作状态(加电,或断电)下,当42H和43H同时都减为0时,则该状态下的定时过程也就完成了,系统将控制电路自动进入另一个工作状态(断电,或加电),此时,将首先在42H和43H中读入存于“记忆单元”中的另一状态下的时间参数同时进行显示,随后即开始该状态下的定时并将依上所述工作过程一直循环工作下去。其中,每当需要对输出端的“紫外线灯管”加电控制时,都要先检测P3.5的电位状态,以确认柜门是否已经关闭,如果尚未关闭(P3.5为高电位),则控制SSR保持截止状态,“紫外线灯管”不被加电;如果已经关闭(P3.5为低电位),才能控制SSR导通,使“紫外线灯管”

  加电,进行消毒工作,这样即可确保不出现因紫外线外泄,对人员造成的伤害。在按键处理子程序中,要完成对两种按键信号的输入识别、键接点的软件延时除颤、十位和个位定时数据的分别减一设置等功能。在显示子程序中,采用了典型的查表程序,分别完成十位和个位数码管的动态显示,其指令表如附表所示。

  4.自行设置时间参数的方法
  
  本电路设置时间参数时,采用循环方式进行。在设置时,先按一下S2,进行“加电消毒”时间的个位数设置,此时.LED1点亮,秒闪动停止,十位数码管被熄灭,按动S1,可使个位的数码管做倒计数显示,选择到所需的数字即可。再按一下S2,将进行“加电消毒”

  时间的十位数设置,此时,个位数码管熄灭,按动Sl,可选择十位上所需的数字。第三次按动S2,将进行“断电”时间的个位数设置,此时.LED1灭,按动Sl,可选择个位上所需的数字。第四次按动S2,进行“断电”时间的十位数设置,按动S1,可选择十位上所需的数字。第五次按动S2,电路恢复到正常工作状态,此时,LED1处于熄灭状态,数码管将自动显示出新设置好的“加电”时间,秒显示开始闪亮,整个电路开始按照新设置的时间参数运行工作。

  在进行上述设置时,当调整到数码管显示为0时,若再按动Sl键,对应的数码管将自动回到9,因此,每位数的设置都是可以循环调整和显示的。在设置和正常工作中的任意时刻,只要按动SO复位键,电路就将立即复位,此时,所有自行设置的时间参数会被自动消除,电路将回到刚加电时的初始状态,系统将按照默认的时间参数进行工作。




本文关键字:开关  单片机  制作  消毒柜  自动控制-单片机电子制作 - 自动控制-单片机