张碧娜
(锦州师范高等专科学校,辽宁锦州121000)
【应用研究】
单片机模拟多种霓虹灯闪烁效果
张碧娜
(锦州师范高等专科学校,辽宁锦州121000)
为实现不同模式的霓虹灯的闪烁效果,利用单片机作为核心控制器,用单片机的P1口作为输出口连接8个发光二极管,通过编写程序控制单片机引脚电平的高低变化,实现了发光二极管的亮灭.该设计克服了传统全硬件电路功能单一,只能按固定模式闪烁的缺点,满足了人们工作生活的需要.
单片机;程序;霓虹灯
随着科技的发展和人们日常生活的不断改善,在街上我们到处可以看见彩色的霓虹灯,尤其是在夜晚,各式霓虹灯非常漂亮,装点着城市的夜空,把我们带入了美轮美奂的世界.这些美丽的霓虹灯是如何实现的呢?目前市场上各式各样的LED彩灯控制器大多用全硬件电路实现,电路结构复杂,功能单一,这样制作的成品,只能按照固定的模式闪烁,不能根据不同场合、不同时间段的需要来调节亮灯的时间、灯闪烁的频率及闪烁的方式等参数.若利用单片机来制作设计彩灯,则可以克服上述缺点,而且单片机设计电路简单,闪烁模式可以根据需要而改变,形式新颖[1].
单片机就是把中央处理器、存储器、定时/计数器、I/O接口电路等一些计算机的主要功能部件集成在一块电路芯片上的微型计算机.单片机具有功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,而且其性价比高,因此被广泛地应用于各行各业.本文使用的80C51系列单片机采用的是CMOS工艺,能满足CMOS与TTL的兼容;具有强大的指令系统,111条指令能够满足所有的控制要求;系统扩展方便;具有双列直插DIP40封装引脚,必须扩展的引脚一般都在用户侧进行扩展,对单片机系统的内部总线没有影响.
本文利用80C51系列单片机作为核心控制器,用单片机的P1口作为输出口,经驱动电路(74LS240:8反相三态缓冲/驱动器)接8只发光二极管,用8只发光二极管模拟具有闪烁功能的霓虹灯.当输出位为0时,发光二极管点亮,输出位为1时,发光二极管熄灭.
如图1所示为8只发光二极管从左向右依次循环点亮的程序分析图,若想P1.0口对应的DS1灯点亮,只需要向P1.0口写0即可,若其他小灯都熄灭,则要向其他7个口写1,以此类推,实现8只发光二极管依次循环点亮的效果.
分析好如何实现8只发光二极管依次循环点亮的效果后,需要根据分析的结果画出该程序的流程图,方便我们后面进行单片机的软件的设计.本程序的流程图如图2所示.在这里需要强调的是,由于人眼的视觉暂留效应以及单片机执行每条指令的时间都很短,因此在控制二极管的亮灭时应延时一段时间,否则将看不到二极管的闪烁效果,而是会发现8只发光二极管同时保持一直点亮的状态[2].
单片机的程序是汇编语言的源程序,汇编语言的程序书写有两个特点:一是指令采用助记符,而不用机器码表示;二是地址采用标号,而不用实际数值表示.上面工作完成后,下面最重要的一步就是要根据程序流程图来编写实现发光二极管依次循环点亮的程序.只要对P1口的数值作以修改,并配合延时程序,就可以实现8只发光二极管依次循环点亮的效果,程序如下:
ORG 0790H
MOV P1,#0FFH
MOV A,#0FEH
LO33: MOV P1,A
LCALL DELAY
RL A
SJMP LO33
ORG 07A0H
DELAY:MOV R0,#0A0H
LO36: MOV R7,#0FFH
LO35: DJNZ R7, LO35
DJNZ R0,LO36
RET
用单片机设计霓虹灯,霓虹灯的闪烁方式可以根据需要而改变.上文详细介绍了P1口连接8只发光二极管依次循环点亮的模拟霓虹灯的闪烁效果,下面介绍其他两种不同的模拟霓虹灯的闪烁效果,硬件电路图不用作任何改变,仅需要对单片机的软件程序作修改就可以实现要求[3].
(1)8只发光二极管一起亮灭的模拟霓虹灯的闪烁效果,程序如下:
ORG 1000H
START:MOV P1,#00H
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
SJMP START
ORG 2000H
DELAY:MOV R3,#0FFH
DEL2: MOV R4,#0FFH
DEL1: NOP
DJNZ R4,DEL1
DJNZ R3,DEL2
RET
(2)8只发光二极管由两边向中间、再由中间向两边的模拟霓虹灯的闪烁效果,程序如下:
ORG 0000H
MOV P1, #00H ;灭灯
MOV R2, #5 ;循环5遍
DP0: MOV R3, #8 ;每遍8个状态
MOV DPTR, #TAB ;取表基址
MOV R0, #0 ;取表变址
DP1: MOV A, R0 ;变址送A
MOVC A, @A+DPTR ;查控制码
MOV P1, A ;控制码送P1口亮灯
LCALL DELAY ;延时
INC R0;修改地址指针
DJNZ R3, DP1 ;查8个状态
DJNZ R2, DP0 ;查5遍
MOV P1, #00H ;灭灯
SJMP $
DELAY:MOV R6,#0FFH
DEL2: MOV R7,#0FFH
DEL1: NOP
DJNZ R7,DEL1
DJNZ R6,DEL2
RET
RET
TAB: DB 7EH,BDH,DBH,E7H,E7H,DBH,BDH,7EH
END
以上就是利用单片机原理模拟的不同霓虹灯的闪烁效果.用单片机来做控制器,硬件电路设计好后,只需要对单片机的软件部分进行修改,就可以实现不同的霓虹灯的闪烁效果,希望给大家带来启发,使单片机能更好地为人们的生活服务.
[1]刘勇.基于单片机的创意彩灯控制系统的设计[J].装备制造技术,2010,(10):87-89.
[2]郭明磊.用单片机实现流水灯的控制设计[J].黑龙江科技信息,2008,(4):72.
[3]刘小平.基于单片机控制的LED彩灯设计与实践[J].科技经济市场,2007,(8):138-139.
(审稿人 胡 坤 邓景茹,责任编辑 王 巍)
The single chip microcomputer simulates the twinkling effects of various neon lights
ZHANG Bi-na
(Jinzhou Teachers College, Jinzhou Liaoning 121000)
In order to realize the twinkling effects of various neon lights, the single chip microcomputer is used to be a central controller, and the P1 port of the single chip microcomputer is used to be an output port to connect to 8 shining diodes. Then the lead level will be controlled by writing programs, which affects the shining diode whether it will be on or will be off. This design overcomes the disadvantages, such as ,the single function of the electrical circuit in traditional hardware, and the twinkling effects which are resulted from being connected to a certain mode. More importantly, it meets the living and working demands of people.
the single chip microcomputer;program;neon lights
2016—12—20
张碧娜(1979-),女(满族),辽宁锦州市人,讲师,主要从事应用电子技术方面研究.
TP273
A
1008-5688(2017)01-0084-03