您当前的位置:五五电子网电子知识单元电路娱乐-游戏电路基于AT89C2051单片机的彩灯控制电路 正文
基于AT89C2051单片机的彩灯控制电路

基于AT89C2051单片机的彩灯控制电路

点击数:7443 次   录入时间:03-04 12:00:35   整理:http://www.55dianzi.com   娱乐-游戏电路

  为了迎接和庆祝重大节日,许多单位都要利用彩灯(或灯箱,下同)组成各种文字或图案对一些建筑进行装饰布置,实践证明,采用相应的自动控制电路对彩灯加以控制,使其产生变化的“动感”效果,其装饰作用就会更加明显、突出。下面介绍这种用AT89C2051单片机构成的“节日彩灯控制电路”具有结构简单、制作容易、设置方便、使用灵活等优点,非常适合各单位制作、安装和使用。
  
  1、电路的主要功能与特点  
  
  ①输出控制路数多,最多可控制13路(组)彩灯按预定程序自动运行。
  
  ②输出控制功率大,每路输出控制功率超过1000W(电压为交流220V,电流为5A)。
  
  ③电路对各组彩灯的控制具有“光控启动”和“定时关闭”功能。当晚间光线暗淡(灵敏度可调)时,能自动“启动”对各路彩灯的程序控制;当程序开始运行后,电路即进入“软件定时”状态,只要软件设定的时间一到(本例为5小时),程序将自动使各路(组)彩灯同时锁定在熄灭状态,直到第二天环境光线再次变为“暗淡”时,才能再次开始对各路(组)彩灯的“光控启动”和“定时关闭”的控制过程,这样,即可实现在天黑后彩灯自动开启,后半夜彩灯自动熄灭的控制效果。
  
  ④程序进入“光控启动”状态后,将自动控制13(组)串彩灯以0.5秒的时间间隔,“从左至右”依顺序“逐个点亮”;待全部彩灯均被点亮后,延时2秒,13(组)串彩灯又同时以0.5秒的时间间隔同步闪亮5次;然后,再控制13串(组)彩灯以0.5秒的时间间隔,“从右至左”依顺序“逐个熄灭”;待全部彩灯均被熄灭后,再延时2秒.13串(组)彩灯将再次以0.5秒的时间间隔,“从左至右”依顺序“逐个点亮”,……;在整个“软件定时”的时间段内,电路将会自动按如上所述的控制过程循环工作下去。
  
  ⑤本电路采用了光电耦合式且具有“过零触发功能”的固态继电器GT进行无触点隔离输出控制,可有效防止负载(彩灯)电源接通或断开时对系统产生的不良影响。
  
  ⑥本电路控制各串彩灯的亮、灭顺序、间隔时间、闪烁次数、软件定时周期等参数的设置均可以很方便地通过修改相应的程序指令进行调整。
  
  2、电路硬件
  
  电路见下图。“AT89C2051单片机”芯片IC1做为本电路的核心,C6和R1构成了简易的上电自动复位电路。
  
  JT、C4、C5与IC1相关引脚构成了“单片机”的时钟电路。IC1的15个I/O口全部使用,其中.P1.0和P1.1(单片机内部的比较器输入端口)用于环境光线的检测控制,在P1.0与+5V间接有一只光敏电阻,其阻值将随环境光线亮度的升高而降低,从而可使P1.0(比较器的同相端口)输入电压随之改变,经比较后,即可控制P3.6(芯片内部比较器输出端口)的输出电平。电位器RP1可用于设定环境光控的“灵敏度”;在P1.2~P1.7及P3.0~P3.7(不含P3.6)各输出接口均通过一只限流电阻分别接至“光电耦合型过零触发固态继电器”
  
  GTl~GT13的输入端,GT1~GT13的输出端则分别与一串(组)彩灯相连,这样,“单片机”即可适时通过控制GT1~GT13的导通与截止,控制各组彩灯串的加电与断电,进而实现在整个定时时间范围内,对各组彩灯串的程序控制功能。电源变压器B、桥式整流器QZ、7805三端稳压器WY及C1~C3组成了电源电路,可为整个电路提供稳定的+5V直流工作电源。
  
  电路中所需元件的规格参数均如下图中所标注,其中.RG应选用暗阻大干500M、亮阻小于100K的“光敏电阻”。

彩灯控制电路



www.55dianzi.com

  3、程序介绍
  
  本程序使用汇编语言编写。主程序的流程图如下图所示。开机上电复位后,在初始化程序中,将完成对相关计数器的预置数值;然后,程序开始对环境光线进行检测,当芯片内部比较器输出端口P3.6为低电位(环境光线由“亮变暗”且满足硬件设定的门限值)时,程序便开始对各输出端口进行循环控制,首先以0.5秒的时间间隔,使P1.2~P1.7及P3.O~P3.7各输出接口“从左至右”依顺序输出低电位,则使与各相关输出端所接的固态继电器依次导通,使各组彩灯产生“逐个点亮”之效果;然后,程序将延时2秒,使P1.2~P1.7及P3.O~P3.7各输出接口电位也以0.5秒的时间间隔,同步地做高低变化5次.则各固态继电器也将同步地导通、截止各5次,使各组彩灯产生“闪亮”5次之效果;再经延时2秒后,程序将使Pl.2~P1.7及P3.O~P3.7各输出端口,同样以0.5秒的时间间隔,依次输出高电位,则各固态继电器也将依次地截止,控制13组彩灯产生“从右至左”依顺序“逐个熄灭”之效果;至此,程序完成一次“循环控制”过程。程序的“软件定时”功能是通过对“计数器”预置数进行递减来实现的,程序每完成一次对各输出端口的“循环控制”,就使“计数器”进行一次减1计数,随后,程序将查询计数器是否已被减到为O,如果尚未为0.就返回继续如上所述对各输出端口的“循环控制”;如果计数器已经为0.程序将立即使各输出端口输出高电位,则各固态继电器立即截止,各组彩灯同时熄灭,至此,一个“软件定时”时间段的定时过程即告结束。此后,程序将再次循环检测环境光线,直至环境光线再次出现“由亮变暗”的过程(且满足硬件设定的门限值)时,程序才会再次重复上述的“光控启动”和“软件定时”的控制过程。
  
  本电路的“软件定时”5小时,是利用单片机的“RO”与“Rl”两个寄存器复合成一个“计数器”而实现的。如前所述,程序每完成一次对各输出端口的“循环控制”,就使“计数器”减1,以本电路的13路输出控制方式和延时时间为例,程序完成一次对各输出端口的“循环控制”的时间周期应为16秒,也就是该“计数器”的减1计数脉冲周期为16秒,这样,只要使“RO”组成的“计数器”预置数设置为225,则将其减到O时就是3600秒,也就是1小时;由于通过软件设置,已使“RO”与“Rl”两个寄存器复用,因此,只要再使“R1”组成的“计数器”预置数设置为5.则将其减到O时,总的定时时间就正好是5个小时了。显然,如果需要改变“软件定时”的时间,只要相应地改变对“RO”与“R1”两个寄存器构成的“计数器”的预置数值,就可以很方便地实现。

程序流程图




本文关键字:单片机  娱乐-游戏电路单元电路 - 娱乐-游戏电路