|
本人從初中就對(duì)電子,無(wú)線電產(chǎn)生了濃厚的興趣,至今已有10年的時(shí)間了。我對(duì)模擬電子技術(shù)和數(shù)字電子技術(shù)還算比較熟悉吧,實(shí)踐上也不算賴。但對(duì)單片機(jī)我才是剛剛學(xué),是一個(gè)單片機(jī)初學(xué)者。對(duì)單片機(jī)還比較陌生。學(xué)了一段時(shí)間的單片機(jī),給我的感覺(jué)就是它太強(qiáng)大了!太好玩了!太有意思了!它可以用最簡(jiǎn)單的硬件電路,依靠程序來(lái)實(shí)現(xiàn)復(fù)雜的控制。流水燈就是一個(gè)很好的例子。下面我就給大家介紹一下我做的具有30種花樣的流水燈,和大家一起分享。
本花樣流水燈,主要是由AT89S51單片機(jī)及8個(gè)不同顏色的發(fā)光二極管組成。共有30種花樣。運(yùn)用“MOV A,#data,RL,RR,INC,DEC”指令編出各種花樣的數(shù)據(jù)碼,并將這些數(shù)據(jù)碼送入端口(P0口)顯示。廣泛的應(yīng)用于商場(chǎng),飯店,超市,KTV,廣場(chǎng)等地方。
匯編源程序如下:
ORG 0000H
MOV P0,#0FFH
START:MOV R0,#8
MOV A,#0FEH
LOOP1:MOV P0,A
ACALL DELAY
RL A
DJNZ R0,LOOP1
MOV R1,#8
MOV A,#7FH
LOOP2:MOV P0,A
ACALL DELAY
RR A
DJNZ R1,LOOP2
MOV R2,#4
LOOP3:MOV P0,#55H
ACALL DELAY
MOV P0,#0AAH
ACALL DELAY
DJNZ R2,LOOP3
MOV R3,#3
LOOP4:MOV P0,#7EH
ACALL DELAY
MOV P0,#0BDH
ACALL DELAY
MOV P0,#0DBH
ACALL DELAY
MOV P0,#0E7H
ACALL DELAY
MOV P0,#0DBH
ACALL DELAY
MOV P0,#0BDH
ACALL DELAY
MOV P0,#7EH
DJNZ R3,LOOP4
MOV R3,#3
LOOP5:MOV P0,#0E7H
ACALL DELAY
MOV P0,#0DBH
ACALL DELAY
MOV P0,#0BDH
ACALL DELAY
MOV P0,#7EH
ACALL DELAY
MOV P0,#0BDH
ACALL DELAY
MOV P0,#0DBH
ACALL DELAY
MOV P0,#0E7H
ACALL DELAY
DJNZ R3,LOOP5
MOV R4,#3
LOOP6:MOV P0,#00H
ACALL DELAY
MOV P0,#18H
ACALL DELAY
MOV P0,#3CH
ACALL DELAY
MOV P0,#7EH
ACALL DELAY
MOV P0,#0FFH
ACALL DELAY
DJNZ R4,LOOP6
MOV R4,#3
LOOP7:MOV P0,#00H
ACALL DELAY
MOV P0,#81H
ACALL DELAY
MOV P0,#0C3H
ACALL DELAY
MOV P0,#0E7H
ACALL DELAY
MOV P0,#0FFH
ACALL DELAY
DJNZ R4,LOOP7
MOV R4,#3
LOOP8:MOV P0,#0EFH
ACALL DELAY
MOV P0,#0CFH
ACALL DELAY
MOV P0,#8FH
ACALL DELAY
MOV P0,#0FH
ACALL DELAY
MOV P0,#0F7H
ACALL DELAY
MOV P0,#0F3H
ACALL DELAY
MOV P0,#0F1H
ACALL DELAY
MOV P0,#0F0H
ACALL DELAY
DJNZ R4,LOOP8
MOV R4,#4
MOV A,#0EFH
LOOP9:MOV P0,A
ACALL DELAY
RL A
DJNZ R4,LOOP9
MOV R4,#4
MOV A,#0F7H
LOOP10:MOV P0,A
ACALL DELAY
RR A
DJNZ R4,LOOP10
MOV R5,#9H
MOV A,#00H
MOV P0,A
LOOP11:INC A
MOV P0,A
RL A
ACALL DELAY
DJNZ R5,LOOP11
MOV R5,#9
MOV A,#00H
MOV P0,A
LOOP12:INC A
RR A
MOV P0,A
ACALL DELAY
DJNZ R5,LOOP12
MOV R5,#9
MOV A,#00H
MOV P0,A
LOOP13:DEC A
MOV P0,A
RL A
ACALL DELAY
DJNZ R5,LOOP13
MOV R5,#9
MOV A,#00H
MOV P0,A
LOOP14:DEC A
RR A
MOV P0,A
ACALL DELAY
DJNZ R5,LOOP14
MOV R5,#4
MOV A,#00H
LOOP15:MOV P0,A
ACALL DELAY
MOV P0,#0FFH
ACALL DELAY
DJNZ R5,LOOP15
MOV P0,#00H
MOV R0,#8
MOV A,#01H
LOOP16:MOV P0,A
ACALL DELAY
RL A
DJNZ R0,LOOP16
MOV R1,#8
MOV A,#80H
LOOP17:MOV P0,A
ACALL DELAY
RR A
DJNZ R1,LOOP17
MOV R2,#4
LOOP18:MOV P0,#0AAH
ACALL DELAY
MOV P0,#55H
ACALL DELAY
DJNZ R2,LOOP18
MOV R3,#3
LOOP19:MOV P0,#81H
ACALL DELAY
MOV P0,#42H
ACALL DELAY
MOV P0,#24H
ACALL DELAY
MOV P0,#18H
ACALL DELAY
MOV P0,#24H
ACALL DELAY
MOV P0,#42H
ACALL DELAY
MOV P0,#81H
DJNZ R3,LOOP19
MOV R3,#3
LOOP20:MOV P0,#18H
ACALL DELAY
MOV P0,#24H
ACALL DELAY
MOV P0,#42H
ACALL DELAY
MOV P0,#81H
ACALL DELAY
MOV P0,#42H
ACALL DELAY
MOV P0,#24H
ACALL DELAY
MOV P0,#18H
ACALL DELAY
DJNZ R3,LOOP20
MOV R4,#3
LOOP21:MOV P0,#0FFH
ACALL DELAY
MOV P0,#0E7H
ACALL DELAY
MOV P0,#0C3H
ACALL DELAY
MOV P0,#81H
ACALL DELAY
MOV P0,#00H
ACALL DELAY
DJNZ R4,LOOP21
MOV R4,#3
LOOP22:MOV P0,#0FFH
ACALL DELAY
MOV P0,#7EH
ACALL DELAY
MOV P0,#3CH
ACALL DELAY
MOV P0,#18H
ACALL DELAY
MOV P0,#00H
ACALL DELAY
DJNZ R4,LOOP22
MOV R4,#3
LOOP23:MOV P0,#10H
ACALL DELAY
MOV P0,#30H
ACALL DELAY
MOV P0,#70H
ACALL DELAY
MOV P0,#0F0H
ACALL DELAY
MOV P0,#08H
ACALL DELAY
MOV P0,#0CH
ACALL DELAY
MOV P0,#0EH
ACALL DELAY
MOV P0,#0FH
ACALL DELAY
DJNZ R4,LOOP23
MOV R4,#4
MOV A,#10H
LOOP24:MOV P0,A
ACALL DELAY
RL A
DJNZ R4,LOOP24
MOV R4,#4
MOV A,#08H
LOOP25:MOV P0,A
ACALL DELAY
RR A
DJNZ R4,LOOP25
MOV R5,#9H
MOV A,#00H
MOV P0,A
LOOP26:INC A
MOV P0,A
RL A
ACALL DELAY
DJNZ R5,LOOP26
MOV R5,#9
MOV A,#0FFH
MOV P0,A
LOOP27:INC A
RR A
MOV P0,A
ACALL DELAY
DJNZ R5,LOOP27
MOV R5,#9
MOV A,#0FFH
MOV P0,A
LOOP28:DEC A
MOV P0,A
RL A
ACALL DELAY
DJNZ R5,LOOP28
MOV R5,#9
MOV A,#0FFH
MOV P0,A
LOOP29:DEC A
RR A
MOV P0,A
ACALL DELAY
DJNZ R5,LOOP29
MOV R5,#4
MOV A,#0FFH
LOOP30:MOV P0,A
ACALL DELAY
MOV P0,#00H
ACALL DELAY
DJNZ R5,LOOP30
LJMP START
DELAY:MOV R7,#00H
L1:MOV R6,#00H
L2:DJNZ R6,L2
DJNZ R7,L1
RET
END
注:晶振12MHZ
本程序已通過(guò)實(shí)踐驗(yàn)證�。�!


|
|