51单片机汇编数字秒表上不了板子

能用protues仿真但上不了板子

代码如下:

    ORG 0000H
    AJMP TOU
    ORG 000BH
    ;外部中断0入口地址
    LJMP MIAO
    ORG 0030H;定时器中0断入口地址
TOU:    MOV P3,#00H
    MOV P2,#00H
    SETB P2.5
    MOV R3, #00H
    MOV R4, #00H
    MOV R5, #00H
    MOV R6, #00H
START:    JNB P3.3,START
    MOV TMOD, #01H;定时器0工作在方式1
    MOV TL0, #0B0H;初始值为3CB0H, 即计数50000次
    MOV TH0, #3CH
    SETB IT0
    SETB EA;总中断EA=1
    SETB ET0;定时器TO的溢出中断允许控制位
    SETB TR0;定时器0开始计数
    SETB EX0;外部中断0中断请求允许控制位
S1:    LCALL XS
    SJMP S1;短跳转
MIAO:    MOV TL0, #0B0H
    MOV TH0, #3CH
    INC R3
    CJNE R3, #0AH, NEXT;判断毫秒值是否为10
    MOV R3, #00H
    INC R4
    CJNE R4, #0AH, NEXT;判断个位秒值是否为10
    MOV R4, #00H
    INC R5
    CJNE R5, #06H, NEXT;判断十位秒值是否为6
    MOV R5, #00H
    INC R6
    CJNE R6, #0AH, NEXT;判断分值是否为10
    MOV R3, #00H
    MOV R4, #00H
    MOV R5, #00H
    MOV R6, #00H
NEXT:    LCALL XS;调用显示子程序
    RETI;中断返回
XS:    MOV DPTR , #TAB
    SETB P2.1
    MOV P0,#07H
    CLR P2.1
    MOV A, R3
    MOVC A, @A+DPTR;查得 字形码
    SETB P2.0
    MOV P0, A
    CLR P2.0
    LCALL DEL;调用延时子程序
    SETB P2.1
    MOV P0,#0BH
    CLR P2.1
    SETB P2.0
    MOV A, R4
    MOVC A, @A+DPTR;查得字形码
    MOV P0,A
    CLR P2.0
    LCALL DEL;调用延时子程序
    SETB P2.1
    MOV P0,#0DH
    CLR P2.1
    SETB P2.0
    MOV A, R5
    MOVC A, @A+DPTR;查得字形码
    MOV P0,A
    CLR P2.0
    LCALL DEL;调用延时子程序
    SETB P2.1
    MOV P0,#0EH
    CLR P2.1
    SETB P2.0
    MOV A, R6
    MOVC A, @A+DPTR;查得字形码
    MOV P0,A
    CLR P2.0
    LCALL DEL;调用延时子程序
    RET
S2:    LCALL XS
    JNB P3.3, S2;P3. 3为跳转到S2
    SETB TR0;开定时器 0
    SETB ET0
    RETI
DEL:
    MOV R1,#10
DE:    MOV R2, #50
    DJNZ R2,$
    DJNZ R1, DE
    RET
TAB:    DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH
    END

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^