張碧娜
(錦州師范高等專科學校,遼寧錦州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