怎么做到我理想中的仿真?出什么问题了吗?

2019-07-15 12:18发布

理想中的仿真是这样的

/document/image:

可事实是这样的

小时显示没有个位。  
  
程序如下:
SECOND          EQU 30H
MINITE          EQU 31H
HOUR            EQU 32H
HOURK           BIT P0.0
MINITEK         BIT P0.1
SECONDK         BIT P0.2
DISPBUF         EQU 40H
DISPBIT         EQU 48H
T2SCNTA         EQU 49H
T2SCNTB         EQU 4AH
TEMP            EQU 4BH
  
        ORG 00H
        LJMP START
        ORG 0BH
        LJMP INT_T0
START:  MOV SECOND,#00H
        MOV MINITE,#00H
        MOV HOUR,#12
        MOV DISPBIT,#00H
        MOV T2SCNTA,#00H
        MOV T2SCNTB,#00H
        MOV TEMP,#0FEH
        LCALL DISP                       
        MOV TH0,#(65536-2000) / 256         
        MOV TL0,#(65536-2000) MOD 256
        SETB TR0
        SETB ET0
        SETB EA
WT:     JB SECONDK,NK1   
        LCALL DELY10MS
        JB SECONDK,NK1
        INC SECOND
        MOV A,SECOND
        CJNE A,#60,NS60
        MOV SECOND,#00H
NS60:   LCALL DISP
        JNB SECONDK,$
NK1:    JB MINITEK,NK2
        LCALL DELY10MS
        JB MINITEK,NK2
        INC MINITE
        MOV A,MINITE
        CJNE A,#60,NM60
        MOV MINITE,#00H
NM60:   LCALL DISP
        JNB MINITEK,$
NK2:    JB HOURK,NK3
        LCALL DELY10MS
        JB HOURK,NK3
        INC HOUR
        MOV A,HOUR
        CJNE A,#24,NH24
        MOV HOUR,#00H
NH24:   LCALL DISP      
JNB HOURK,$
NK3:    LJMP WT
DELY10MS:
        MOV R6,#10
D1:     MOV R7,#248
        DJNZ R7,$
        DJNZ R6,D1
        RET
DISP:                        
        MOV A,#DISPBUF      
        ADD A,#8
        DEC A
        MOV R1,A
        MOV A,HOUR
        MOV B,#10
        DIV AB
        MOV @R1,A            
        DEC R1
        MOV A,#10              
        MOV@R1,A   
        DEC R1
        MOV A,MINITE
        MOV B,#10
        DIV AB
        MOV @R1,A
        DEC R1
        MOV A,B
        MOV @R1,A
        DEC R1
        MOV A,#10
        MOV@R1,A
        DEC R1
        MOV A,SECOND
        MOV B,#10
        DIV AB
        MOV @R1,A
        DEC R1
        MOV A,B
        MOV @R1,A
        DEC R1
        RET
INT_T0:
        MOV TH0,#(65536-2000) / 256
        MOV TL0,#(65536-2000) MOD 256
        MOV A, #0FFH
        MOV P3,A
        MOV A,#DISPBUF
        ADD A,DISPBIT           
        MOV R0,A      
        MOV A,@R0
        MOV DPTR,#TABLE
        MOVC A,@A+DPTR
        MOV P1,A
        MOV A,DISPBIT
        MOV DPTR,#TAB
        MOVC A,@A+DPTR
        MOV P3,A
        INC DISPBIT
        MOV A,DISPBIT
        CJNE A,#08H,KNA
        MOV DISPBIT,#00H
KNA:    INC T2SCNTA         
        MOV A,T2SCNTA
        CJNE A,#100,DONE
        MOV T2SCNTA,#00H
        INC T2SCNTB
        MOV A,T2SCNTB
        CJNE A,#05H,DONE
        MOV T2SCNTB,#00H
        INC SECOND
        MOV A,SECOND
        CJNE A,#60,NEXT
        MOV SECOND,#00H
        INC MINITE
        MOV A,MINITE
        CJNE A,#60,NEXT
        MOV MINITE,#00H
        INC HOUR
        MOV A,HOUR
        CJNE A,#24,NEXT
        MOV HOUR,#00H
NEXT:   LCALL DISP
DONE:   REti
TABLE:  DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H   
TAB:    DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
        END
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。