標(biāo)題: 發(fā)兩個(gè)跑馬燈的匯編程序-在51hei-5上測(cè)試通過 [打印本頁(yè)]
作者: jjide 時(shí)間: 2010-6-19 01:03
標(biāo)題: 發(fā)兩個(gè)跑馬燈的匯編程序-在51hei-5上測(cè)試通過
使用取反(CPL)實(shí)現(xiàn)跑馬燈的閃爍,隨后給P0口賦值實(shí)現(xiàn)移動(dòng)。
注;使用的是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 ;延時(shí)子程序部分
F3: MOV R6,#0FFH ;BCD碼為255
F2: MOV R7,#0FFH ;總延時(shí)為0.7803s
F1: DJNZ R7,F1
DJNZ R6,F2
DJNZ R5,F3
RET
END
-------------------------------------------------------------------------
帶C循環(huán)做移動(dòng),使用一條跳轉(zhuǎn)轉(zhuǎn)移指令就可實(shí)現(xiàn)一直循環(huán)下去,延時(shí)為1.3s!
ORG 0000H
SJMP BEGAIN
ORG 0030H
BEGAIN: MOV P0, #0FFH ;初始狀態(tài)
clr p1.4 ;打開led使能
mov P2, #00110101B ; 鎖存2個(gè)74hc573,防止數(shù)碼管點(diǎn)陣干擾.
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
作者: brantyou 時(shí)間: 2010-6-19 11:48
路過。。。。看看。。。。
作者: tellmewhy20 時(shí)間: 2011-6-2 16:20
學(xué)習(xí)了,謝謝
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |