版主请帮助!
我用89S51接DS12887,片选接P2.7,通过串口发送至数码管显示时间,可程序不通,
程序如下:(请版主抽点时间看一下,谢谢了!)
ORG 0000H
MOV DPTR,#7F0AH
MOV A,#20H
MOVX @DPTR,A
MOV DPTR,#7F0BH
MOV A,#82H
MOVX @DPTR,A
MOV DPTR,#7F00H ;TIME
MOV A,#00H ;S
MOVX @DPTR,A
INC DPTR
MOV A,#00H
MOVX @DPTR,A
INC DPTR ;M
MOV A,#00H
MOVX @DPTR,A
INC DPTR
MOV A,#00H
MOVX @DPTR,A
INC DPTR ;H
MOV A,#07H
MOVX @DPTR,A
INC DPTR
MOV A,#00H
MOVX @DPTR,A
INC DPTR
MOV A,#04H
MOVX @DPTR,A
INC DPTR ;DATE
MOV A,#01H
MOVX @DPTR,A
INC DPTR
MOV A,#01H
MOVX @DPTR,A
INC DPTR
MOV A,#04H
MOVX @DPTR,A
;
MOV DPTR,#7F0AH
MOV A,#20H
MOVX @DPTR,A
MOV DPTR,#7F0CH
MOVX A,@DPTR
MOV DPTR,#7F0DH
MOVX A,@DPTR
MOV DPTR,#7F0BH
MOV A,#22H
MOVX @DPTR,A ;KS
KS: MOV DPTR,#7F0AH ;SAVE TO 30H...
MOVX A,@DPTR
JB ACC.7,KS
MOV DPTR,#7F00H
MOV R0,#30H
MOV R1,#0AH
SAV: MOVX A,@DPTR
CJNE A,#0000B,SAV1
MOV @R0,#3FH
LJMP SAV10
SAV1: CJNE A,#0001B,SAV2
MOV @R0,#06H
LJMP SAV10
SAV2: CJNE A,#0010B,SAV3
MOV @R0,#5BH
LJMP SAV10
SAV3: CJNE A,#0011B,SAV4
MOV @R0,#4FH
LJMP SAV10
SAV4: CJNE A,#0100B,SAV5
MOV @R0,#66H
LJMP SAV10
SAV5: CJNE A,#0101B,SAV6
MOV @R0,#6DH
LJMP SAV10
SAV6: CJNE A,#0110B,SAV7
MOV @R0,#7DH
LJMP SAV10
SAV7: CJNE A,#0111B,SAV8
MOV @R0,#07H
LJMP SAV10
SAV8: CJNE A,#1000B,SAV9
MOV @R0,#7FH
LJMP SAV10
SAV9: CJNE A,#1001B,SAV10
MOV @R0,#6FH
SAV10:
INC DPTR
INC R0
DJNZ R1,SAV
LCALL DISP
;如果我用下面这条语句,数码管无任何显示,不用这条语句可以读到初始化的数据,数码管显示的数据正常,不知道为什么?
; LJMP KS
DISP: MOV SCON,#00H ;COM
MOV R3,#08H
MOV R0,#30H
LOOP: MOV A,@R0
MOV SBUF,A
FS: JNB TI,FS
CLR TI
INC R0
DJNZ R3,LOOP
RET
END
发表时间:2004年8月27日16:28:43