天天看點

c51單片機跑馬燈彙編語言,單片機的跑馬燈簡單彙程式設計式

使用取反(CPL)實作跑馬燈的閃爍,随後給P0口指派實作移動。

注;使用的是12MHZ頻率,

ORG 0000H

LJMP LOOP1

ORG 0030H

LOOP1: MOV A,#11111111B

clr p1.4 ;打開使能

MOV R1,#5 ;閃爍5次

LOOP: CPL A ;取反

MOV P0 , A ;輸出

ACALL DEL

CPL A

MOV P0 , A

ACALL DEL

DJNZ R1 , LOOP ;減一非零判斷

MOV P0,#11100111B

ACALL DEL

MOV P0,#11011011B

ACALL DEL

MOV P0,#10111101B

ACALL DEL

MOV P0,#01111110B

ACALL DEL

LJMP LOOP1

LOOP3: ACALL DEL

SJMP LOOP1

DEL: MOV R5,#6H ;延時子程式部分

F3: MOV R6,#0FFH ;BCD碼為255

F2: MOV R7,#0FFH ;總延時為0.7803s

F1: DJNZ R7,F1

DJNZ R6,F2

DJNZ R5,F3

RET

END

帶C循環做移動,使用一條跳轉轉移指令就可實作一直循環下去,延時為1.3s!

ORG 0000H

SJMP BEGAIN

ORG 0030H

BEGAIN: MOV P0, #0FFH ;初始狀态

clr p1.4 ;打開led使能

mov P2, #00110101B ; 鎖存2個74hc573,防止數位管點陣幹擾.

MAIN : CLR A

MOV A ,#11111110B ; 0FEH

LOOP: RLC A

MOV P0 , A

ACALL DEL

LJMP LOOP

DEL: MOV R5,#10H

F3: MOV R6,#0FFH

F2: MOV R7,#0FFH

F1: DJNZ R7,F1

DJNZ R6,F2

DJNZ R5,F3

RET

END

——2010-6-11

——夢回清河