设为首页收藏本站

美丽的网站-英华家电维修论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1097|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2011-3-27 23:02:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
当前位置: 家电在线 >> 用AT89C2051单片机制作消毒柜自控开关 >> 文章正文                                                              用AT89C2051单片机制作消毒柜自控开关                                                                                                                                                                                                                                                                      本文先容一个采用AT89C2051单片计算机芯片(以下均简称其为“单片机”)制作的消毒柜自控开关电路,该电路既可按照系统默认的时间参数自动运行,也可由使用者随时进行设置,通过按键输入新的时间参数。电路运行后,能周期性地自动(定时)控制消毒柜内紫外线消毒灯管的加电和断电,适时完成对柜内餐具或其它物品的消毒工作。具有电路简单、制作轻易、使用灵活、设置方便等优点,非常适合在部队、厂矿、机关、学校、医院等集体食堂和家庭及各类餐馆、饭店的消毒柜中安装使用。通过该电路,您可以进一步了解到“单片机”电路的应用扩展功能和指令应用技巧,仅供读者参考。1.电路的主要功能与特点①由于本电路的时钟是对晶振分频后获得的,具有极高的频率稳定性,且延时系采用数字计数的方式进行,因而对时间的控制精度较高,可有效地避免普通RC延时电路控制时间不正确、不可靠的题目出现。②初始加电时,被控负载(紫外线消毒灯管)将自动处于加电状态,本电路的两位数码显示器将自动显示出系统默认的“消毒时间”,只要不进行新的时间设置,电路就将按系统默认控制负载循环工作的时间方式(本例为:消毒10分钟、暂停25分钟),自动开始运行。③电路答应随时通过按键开关自行输入设置新的消毒、暂停时间参数,消毒和暂停的时间范围均可在1分钟(最短时间)至99分钟(最长时间)之间任意设置(分辨率为1分钟),这为用户根据消毒柜的使用季节、环境温度、柜内存放物品的种类及数目等具体情况,适时进行设置,选用合适的消毒(通、断电)时间提供了方便。④在进行新的时间参数设置时,数码管上的小数点将自动停止闪动,表明电路已退出工作状态,进入了设置状态,此时,固态继电器将立即截止,紫外线灯管停止加电工作。⑤在进行时间参数设置和正常消毒及等待的工作过程中,系统均采用两位数码管做“十位”和“个位”的倒计时显示,同时用数码管上小数点的同步闪亮作为秒显示,显示直观、正确。⑥系统设有柜门是否封闭的自动检测功能,当柜门尚未封闭时,电路将强制封闭紫外线消毒灯管的电源,以防止紫外线外泄对职员造成伤害。2.电路硬件电路见图1。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才会点亮。电源变压器B、桥式整流器QZ、7805三端稳压器WY及C4"C7组成了电源电路,可为整个电路提供稳定的+5V直流工作电源。电路中所需元件的规格参数均如图1中所标注。3.程序先容本程序使用汇编语言编写。主程序和定时中断子程序的流程图分别如图2a、图2b所示。程序运行后,在初始化程序中,首先对片内RAM空间进行分配和定义,其中,42H和43H分别用于存放个位和十位数码管中拟显示的数据;4AH、4BH、4CH、4DH为四个记忆单元,分别用于存放设置好的“加电(消毒)时间”与“断电(暂停)时间”的十位和个位的数据,当电路工作时,根据需要,适时被分别读入42H和43H中。在定时计数中断子程序中,要完成秒信号的产生、60秒计数、定时时间到否的查询等功能。其中,秒信号的产生是利用对单片机内部定时器T1产生的中断信号进行多次累加后形成的,该信号将由P1.0输出,用以完成秒闪烁功能。同时,该信号还经过60次计数后产生分信号,最后,再以分钟为时间间隔,从设置好的定时时间数据内逐一递减并随时显示剩余的定时时间参数,形成倒计数的显示方式。在某一种工作状态(加电,或断电)下,当42H和43H同时都减为0时,则该状态下的定时过程也就完成了,系统将控制电路自动进入另一个工作状态(断电,或加电),此时,将首先在42H和43H中读入存于“记忆单元”中的另一状态下的时间参数同时进行显示,随后即开始该状态下的定时并将依上所述工作过程一直循环工作下去。其中,每当需要对输出真个“紫外线灯管”加电控制时,都要先检测P3.5的电位状态,以确认柜门是否已经封闭,假如尚未封闭(P3.5为高电位),则控制SSR保持截止状态,“紫外线灯管”不被加电;假如已经封闭(P3.5为低电位),才能控制SSR导通,使“紫外线灯管”加电,进行消毒工作,这样即可确保不出现因紫外线外泄,对职员造成的伤害。在按键处理子程序中,要完成对两种按键信号的输入识别、键接点的软件延时除颤、十位和个位定时数据的分别减一设置等功能。在显示子程序中,采用了典型的查表程序,分别完成十位和个位数码管的动态显示,其指令表如附表所示。4.自行设置时间参数的方法本电路设置时间参数时,采用循环方式进行。在设置时,先按一下S2,进行“加电消毒”时间的个位数设置,此时,LED1点亮,秒闪动停止,十位数码管被熄灭,按动S1,可使个位的数码管做倒计数显示,选择到所需的数字即可。再按一下S2,将进行“加电消毒”时间的十位数设置,此时,个位数码管熄灭,按动S1,可选择十位上所需的数字。第三次按动S2,将进行“断电”时间的个位数设置,此时,LED1灭,按动S1,可选择个位上所需的数字。第四次按动S2,进行“断电”时间的十位数设置,按动S1,可选择十位上所需的数字。第五次按动S2,电路恢复到正常工作状态,此时,LED1处于熄灭状态,数码管将自动显示出新设置好的“加电”时间,秒显示开始闪亮,整个电路开始按照新设置的时间参数运行工作。在进行上述设置时,当调整到数码管显示为0时,若再按动S1键,对应的数码管将自动回到9,因此,每位数的设置都是可以循环调整和显示的。在设置和正常工作中的任意时刻,只要按动S0复位键,电路就将立即复位,此时,所有自行设置的时间参数会被自动消除,电路将回到刚加电时的初始状态,系统将按照默认的时间参数进行工作。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|粤ICP备13038386号|粤ICP备13038386号|美丽的网站-英华家电维修论坛 ( 粤ICP备13038386号 )     站长邮箱 505966338@qq.com

GMT+8, 2024-4-28 09:03 , Processed in 0.163073 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表