单片机/MCU论坛
400万+工程师在用
华为|鸿蒙开发者日
直播报名
400万+工程师在用
华为|鸿蒙开发者日
直播报名

18191358366

4年用户 22经验值
擅长:可编程逻辑 测量仪表 嵌入式技术 光电显示 存储技术 EDA/IC设计 处理器/DSP
私信 关注
[问答]

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

2016-12-20 17:06

理想中的仿真是这样的

/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

回帖(3)

陈工

2016-12-21 13:17:07
不用汇编好多年

gada888

2016-12-21 13:47:02
不用仿真很多年

刘兴

2016-12-22 13:20:21
抱歉,不用汇编写程序

更多回帖

打开APP