用51单片机汇编实现 定时流水灯先由左往右,再由右往左

如题所述

第1个回答  2012-04-22
;用汇编语言编程如下:
.
ORG 0000H
MOV A, #7FH
MOV R2, #7
L: JNB F0, R
RL A
JMP O
R: RR A
O: MOV P1, A
CALL DL_500ms ;延时500ms
DJNZ R2, L
MOV R2, #7
CPL F0
JMP L
;------------------------------------
DL_500ms: ;延时500ms
MOV R5, #4
MOV R6, #205
MOV R7, #200
DJNZ R7, $
DJNZ R6, $ - 2
DJNZ R5, $ - 4
RET
;------------------------------------
END
第2个回答  2012-05-03
ORG 0000H
LJMP STA
ORG 000BH
LJMP TIMER0_ISR
ORG 0050H
STA:
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV A,#07FH
MOV P0,A
CLR 00H
SETB ET0
SETB TR0
SETB EA
SJMP $
TIMER0_ISR:
PUSH ACC
CLR TR0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
JB 00H,T0ISR1
MOV A,P0
RR A
MOV P0,A
JNB ACC.0,T0ISR0
RETI
T0ISR0:
SETB 00H
RETI
T0ISR1:
MOV A,P0
RL A
MOV P0,A
JNB ACC.7,T0ISR2
RETI
T0ISR2:
CLR 00H
RETI
END本回答被提问者采纳
第3个回答  2012-04-20
ORG 0030H

MOV A,#01H
MAIN: RL A
MOV P0,A追问

这样肯定不行,定时器都没用上,右移也没有