用AT89C2051单片机的制作的电风扇“阵风/连续风”定时开关电路

作者:dolphin 时间:2016-09-21

  本文介绍一个采用AT89C2051单片机芯片(以下均简称其为“单片机”)制作的“电风扇定时开关电路”,该电路既可按照系统默认的定时时间参数自动运行,也可由使用者随时通过按键输入设置新的定时时间参数;在整个定时时间内,既可选择使用“连续风”状态,也可选择使用“阵风”状态。具有电路简单、制作容易、设置方便、使用灵活等优点。该电路的控制软件及硬件电路均已实际调试运行通过,非常适合在业余条件下制作、安装和使用,也可由电风扇专业生产厂将其作为自动控制电路,在新型电风扇产品中安装。通过该电路,可以进一步了解到“单片机”电路的应用扩展功能和指令应用技巧。

  1、电路的主要功能与特点

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

  ②初始加电时,被控负载【电风扇)将自动处于加电状态,本电路的三位数码显示器将自动显示出系统默认的“定时时间”,只要不进行新的时间设置,电路就将按系统默认控制负载定时工作的时间方式(本例为:300分钟)自动开始运行。

  ⑧电路允许用户随时通过按键开关自行输入设置新的定时时间参数,其范围可在1分钟(最短时间)至999分钟(最长时间)之间任意设置(分辨率为1分钟).这为用户根据使用的环境温度、自己身体条件、个人爱好等具体情况,适时进行调整设置,选用最合适的定时时间提供了方便。

  ④本电路采用了光电耦合式且具有“过零触发功能”的可控硅芯片GK和外接的大功率双向可控硅SKG,对电风扇进行无触点隔离控制,既可有效防止负载电源接通或断开时对系统产生的不良影响,又不会在工作中产生任何机械噪音。

  ⑤在进行新的时间参数设置时,各数码管上的小数点将自动停止闪动,表明电路已退出工作状态,进入了设置状态,此时.GK和SKG同时截止,使电风扇停止加电工作。

  ⑥在进行时间参数设置和整个定时过程中,系统均采用三位数码管做“百位、十位、个位”的倒计时显示,同时用数码管上小数点的同步闪亮作为秒显示,显示直观、准确。

  ⑦在整个定时状态下,电路具有允许用户随时自行选择使用“阵风”或“连续风”的控制功能。

  2、电路硬件

  电路见下图。“AT89C2051单片机”芯片IC1作为本电路的核心,C3和R10构成了简易的上电自动复位电路。JT、C1、C2与IC1相关引脚构成了“单片机”的时钟电路。显示器采用两只“共阳”型数码管。IC1的15个l/0口全部使用,其中,P1.0为秒显示输出口,通过一只限流电阻接至各数码管的小数点电极上,正常工作时,将以小数点的闪亮作为秒信号显示;P1.1-P1.7作为七段数码管的段选信号(低电平有效)输出口,分别通过一只限流电阻,接至各数码管的相应电极上。数码管显示采用动态扫描的方式进行,其动态位选信号分别由IC1的P3.3、P3.4和P3,5输出,高电平有效,其输出信号通过VT1、VT2、VT3分别驱动三只数码管交替(动态)显示。IC1的P3.0和P3.1为设置输入口,其对“地”间各接有一只常开型自复位按键开关S1和S2,其中.S1为“设置功能键”,S2为“-1操作键”;通过与软件配合,利用S1、S2即可完成控制电风扇定时工作时间的输入与设置。P3.2为设置“阵风,连续风”状态的选择控制口,接有一  只单刀双位拨动开关,当其拨至“阵风”位时,P3.2被接至低电位;当其拨至“连续风”位时,P3.2被悬空(通过单片机内部上拉电阻接至高电位),这样,通过与软件配合,即可完成“阵风/连续风”的选择控制功能。P3.7为输出控制口,通过一只电阻接至一片“光电耦合型过零触发双向可控硅”芯片GK的输入端,可适时通过“GK”触发外接的双向可控硅SKG导通与截止,控制电风扇的加电与断电,进而实现在整个定时时间范围内,对电风扇连续加电(连续风)或周期性的断续加电(阵风)的控制功能。电源变压器B、桥式整流器QZ、7805三端稳压器WY及C4~C7组成了电源电路,可为整个电路提供稳定的+5V直流工作电源。

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

  3、程序介绍

  本程序使用汇编语言编写。主程序和定时中断子程序的流程图分别如下图a、下图b所示。程序运行后,在初始化程序中,首先对片内RAM空间进行分配和定义,其中,42H、43H、44H分别用于存放个位、十位、百位数码管中拟显示的数据;4AH、4BH、4CH为三个记忆单元,分别用于存放设置好的三位数的定时数据,当电路工作时,根据需要,适时被分别读入42H、43H和44H中。在定时计数中断子程序中,要完成秒信号的产生、60秒计数、定时时间到否达及是否选择使用“阵风”方式的查询等功能。其中,秒信号的产生是利用对单片机内部定时器T1产生的中断信号进行多次累加后形成的,该信号将由P1.O输出,用以完成秒闪烁功能。同时,该信号还经过60次计数后产生分信号,最后,再以分钟为时间间隔,从设置好的定时时间数据内逐一递减并随时显示剩余的定时时间参数,形成倒计数的显示方式。在某一种(阵风或连续风)工作状态下,当42H、43H和44H同时都减为0时,则该状态下的定时过程也就完成了,系统将自动在P3.7口输出高电平,使“GK”和“SKG”同时截止,控制电风扇停止工作。与此同时,三位数码管将同时显示一个负号(一),且用于秒显示的各数码管上的小数点也将熄灭,用其表示电路的定时过程已经结束。在按键处理子程序中,要完成对两种按键信号的输入识别、键接点的软件延时除颤、三位(个位~百位)定时数据的分别减一等设置功能。在显示子程序中,采用了典型的查表方式,分别完成个位一百位数码管的动态显示,其指令表如附表所示。电路“阵风”功能的实现是首先由软件通过对P3.2口状态进行识别,当发现用户选择使用了“阵风”功能时,即由软件控制以60秒为间隔,使P3.7输出口周期性地输出高、低电位,因而使“GK”和“SKG”也周期性地导通与截止,电风扇自然就是断续地加电工作,从而实现“阵风”的效果,直至整个定时过程结束。

  4.自行设置时间参数的方法

  本电路设置定时时间参数时,采用循环方式进行。在设置时,先按一下S1设置键,电路将立即进入“定时时间”的个位数设置状态(此时,仅个位上的数码管显示,其余各位数码管会被自动消隐,秒闪动停止).按动S2.可使个位的数码管做倒计数显示,选择到所需的数字即可。然后,再次(第2次)按动S1.电路将进入“定时时间”的十位数设置状态(此时,仅十位上的数码管显示,其余各位数码管会被自动消隐,秒闪动停止),按动S2,可使十位的数码管做倒计数显示,选择到所需的数字即可。依此方法,可继续完成百位数字的设置。当百位数字的设置也完成后,再次(第4次)按动S1键时,电路将自动退出设置状态,而定时工作状态也同时被启动,数码管将自动显示出新设置好的三位数的“定时时间”参数,秒显示也开始闪亮,整个电路开始按照新设置的时间参数运行。

  在进行上述设置时,只要电路一进入设置状态,各数码管上的小数点将立即停止闪动,电路也立即退出定时状态,使“GK”和“SKG”同时截止,电风扇停止工作。在进行各位数字设置时,当调整到数码管显示为0后,若再按动S2(~1键)时,对应的数码管将自动回到显示9,因此,各位数字的设置均可以循环调整和显示。

  当电路正处于定时的过程中(定时时间未到)时,若按一下S1“设置”键,电路同样会立即退出定时状态而进入“设置”状态,此时,数码管上的小数点也将停止闪亮,“GK”和“SKG”同时截止,电风扇停止工作。若需恢复定时状态,仍须继续按动3次S1(设置)键,先使电路退出设置状态,电路即可按照系统先前所记忆的上次设置的定时时间(或系统默认的定时时间)重新开始进入定时工作状态。

关键词:用AT89C2051单片机的制作的电风扇“阵风\/连续风”定时

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

或用微信扫描左侧二维码

相关电路