📄 2051动显.asm
字号:
;
; 2051动显程序-------2006.1
;
;
;=======================================================
ORG 0000H
AJMP START
ORG 0003H
AJMP COM_INT0
ORG 0050H
START:
MOV TMOD,#20H
MOV TL1,#255
MOV TH1,#255
SETB TR1
MOV S0CON,#01010000B
MOV PCON,#80H
MOV SP,#60H
mov IP0,#10H
SETB ex0
SETB IT0
SETB EA ;开总体中断
TEST:
CALL CHANGE
ACALL PLAY
AJMP TEST
WAIT:
JB P3.2,WAIT
CLR 124
;CALL CHANGE
;ACALL PLAY
JNB P3.2,WAIT1
WAIT1:
CALL PLAY
AJMP WAIT
COM_INT0:
;PUSH ACC
;PUSH DPH
;PUSH DPL
;PUSH PSW
clr 124
clr ex0
call rs_in
;POP PSW
;POP DPL
;POP DPH
;POP ACC
reti
RS_IN:
JB 124,FF_END
MOV R7,#16
MOV R1,#30H
NEXT_: JNB RI,$
CLR RI
MOV A,S0BUF
MOV @R1,A
INC R1
DJNZ R7,NEXT_
FF_END: setb 124
setb ex0
RET
SP_IN:
JNB RI,$
CLR RI
MOV A,S0BUF
MOV @R1,A
INC R1
RETI
PLAY:
MOV DPTR,#07F0H
MOV R0,#70H
MOV A,@R0
MOVC A,@A+DPTR
MOV P1,A
INC R0
MOV P3,#11000111B
ACALL TIMES
MOV A,@R0
MOVC A,@A+DPTR
MOV P1,A
INC R0
MOV P3,#11001111B
ACALL TIMES
MOV A,@R0
MOVC A,@A+DPTR
MOV P1,A
INC R0
MOV P3,#11010111B
ACALL TIMES
MOV A,@R0
MOVC A,@A+DPTR
MOV P1,A
INC R0
MOV P3,#11011111B
ACALL TIMES
MOV A,@R0
MOVC A,@A+DPTR
MOV P1,A
INC R0
MOV P3,#11100111B
ACALL TIMES
MOV A,@R0
MOVC A,@A+DPTR
MOV P1,A
INC R0
MOV P3,#11101111B
ACALL TIMES
MOV A,@R0
MOVC A,@A+DPTR
MOV P1,A
INC R0
RET
CHANGE:
MOV A,3FH
ANL A,#0F0H
SWAP A
MOV 71H,A
MOV A,3FH
ANL A,#0FH
MOV 70H,A
MOV A,34H
ANL A,#0F0H
SWAP A
MOV 73H,A
MOV A,34H
ANL A,#0FH
MOV 72H,A
MOV A,33H
ANL A,#0F0H
SWAP A
MOV 75H,A
MOV A,33H
ANL A,#0FH
MOV 74H,A
RET
PLAY1:
MOV A,#3FH
MOV P1,A
MOV P3,#11000111B
ACALL TIMES
MOV P1,A
MOV P3,#11001111B
ACALL TIMES
MOV A,#08H
MOV P1,A
MOV P3,#11010111B
ACALL TIMES
MOV P1,A
MOV P3,#11011111B
ACALL TIMES
MOV P1,A
MOV P3,#11100111B
ACALL TIMES
MOV P1,A
MOV P3,#11101111B
ACALL TIMES
MOV P1,A
RET
TIMES:
DS1: DJNZ R6,$
MOV R6,#3FH
RET
ORG 07F0H
WORD_TAB:
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -