朱艳,吴加凤,吴婷
(金山职业技术学院,江苏 镇江 212200)
随着时代的进步,人们常用科技装饰我们的生活,很多领域应用了霓虹灯,如电子广告牌、汽车车灯、大型指示牌、舞台效果、工业控制的控制面板等。但目前大多数的霓虹灯控制器价格较贵,能实现的花式也有限[1-3]。单片机、传感器及微机控制等一系列高新科技的发展,带动了霓虹灯控制器的设计、制造等方面的快速发展[4]。因此,以AT89S52单片机为系统核心,采用C语言编程进行软件设计[5],以此实现多花式霓虹灯的设计,对于开发出一种易于操作且性价比高的霓虹灯控制器有着重要意义。
1.1.1具体实现功能
利用单片机控制霓虹灯,通过独立式按键,选择不同的点亮方式,然后将控制信号传输给发光二极管和数码管,从而完成不同的显示要求,例如实现霓虹灯的全亮或闪烁、不同颜色灯的点亮、霓虹灯的轮流点亮闪烁等,其中闪烁的频率可调。
1.1.2 控制原理图
在本次设计中,硬件部分原理图如图1所示。
图1 霓虹灯控制器原理图
选用常用的AT89C52单片机,其内部采用40条引脚双列直插式的封装。该单片机有四组I/O口P0、P1、P2和P3,用来连接LED、数码管和键盘等,I/O口的数量符合本设计的要求。内部还有8K的RAM足以满足本设计的程序容量,无需扩展外部存储器。引脚排列如图2所示。
图2 AT89C52芯片引脚
控制部分主要是由独立式按键完成。采用1个选择模式的自锁开关接在P0.0上,8个按键开关分别接至P2口,不同的按键可用来选择常亮、闪烁、闪烁频率、组合亮等不同的花式。具体电路如图3示。
图3 开关控制电路图
P0、P1、P2、P3是单片机的I/O口,用以连接LED发光二极管、数码管和键盘等。由于单片机I/O端口的带负载能力有限,LED发光二极管采用共阳极的接法连接在P1口,并用电阻分压[6-7]。单片机P1口输出为低电平时,对应的发光二极管被点亮。电路图如图4所示。
图4 发光二极管电路图
共阴和共阳极数码管的引脚如图5所示。数码管连接在P3口,并给数码管的第四段接上Vcc,当P3口输出共阳极字型码,即可显示出相应的数字。具体的电路如图6所示。
图5 引脚定
图6 数码管电路图
该系统中软件可以分为主程序和子程序。选择使用C语言编程,开发平台是Keil uVision4。软件流程图如图7所示。
图7 软件流程图
系统主程序主要是在处理按键的查询,模式切换由1个自锁式开关实现;样式的选择由8个按键式开关实现;以及1个功能复位按键。主程序既可以调用各种子模式子程序和延时子程序,还可以一直保持查询是否有功能切键、模式切键按下,一旦有,就会进入相应的程序处理。
2.3.1 模式一
当自锁开关打开,通过if语句判断P0.0为高电平时,可读取独立式键盘1-8的信号进行判断,检测到哪个键按下,便实现指定样式,且可设置延迟时间,从而实现不同的闪烁时长。
2.3.2 模式二
通过读取独立键盘1-8的信号,实现对应发光二极管的点亮,同时,数码管也显示对应的数字。
使用Keil uVsion 4编程完成后,在Protues上进行仿真实验。结果如图8所示,可以看到,LED已经选择性的闪烁。霓虹灯实物图如图9所示。
图8 仿真结果
图9 霓虹灯实物图
测试结果是,模式一时发光二极管有以下几种样式,(1)可显示全亮;(2)全闪烁和轮流点亮的闪烁频率可增加或减少;3)以奇偶两组的形式闪烁;(4)从中间向两边依次点亮;(5)依次点亮相同颜色的二极管,形成闪烁。模式二时,相应的发光二极管被点亮,同时,数码管显示对应的数字。总体来说,文中霓虹灯控制器基本达到了所有设计要求。
基于单片机系统,运用数字电子技术,研制出简单实用的霓虹灯控制系统,性价比高,推广性强。随着科学技术的迅猛发展,霓虹灯控制系统的研制会更加升级,例如远程控制等,相信以后定将越来越智能化。