找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1448|回复: 3
打印 上一主题 下一主题
收起左侧

单片机设计篮球计时器用汇编语言写的,为什么数码管显示一直在跳呢?

[复制链接]
跳转到指定楼层
楼主
ID:1047669 发表于 2022-10-14 13:05 来自触屏版 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ORG 000H
  LJMP MAIN
  ORG 0003H
  LJMP CHANGE
  ORG 000BH
  LJMP TIME
  ORG 0013H
  LJMP TIAOSHI
  ORG 001BH
  LJMP YANSHI
MAIN:MOV SP,#50H
     MOV TCON,#04H
         MOV 20H,#00H
         MOV 21H,#0CH
         MOV 22H,#00H
         MOV 23H,#00H
         MOV 24H,#02H
         MOV 25H,#01H
         MOV 26H,#0CH
         MOV 30H,#00H
         MOV 31H,#00H
         MOV 32H,#02H
         MOV 33H,#01H
         MOV 34H,#00H
         MOV 35H,#00H
         MOV 36H,#00H
         MOV 37H,#00H
         MOV TMOD,#11H
         MOV TH0,#0D8H
         MOV TL0,#0F0H
         MOV IE,#1000111B
         MOV IP,#05H
         MOV R2,#64H
         CLR P3.6
START:LCALL DISPT
      LCALL DISPF
          JNB P1.0,PP1
          JNB P1.1,PP2
          JNB P1.2,PP3
          JNB P1.3,PP4
          JNB P1.4,PP55
          JNB P1.5,PP66
          JNB P1.6,PP77
          JNB P1.7,PP88
          JB P3.0,START
          LCALL DELAY
          JB P3.0,START
STOP1:JNB P3.0,STOP1
      LCALL DELAY
          JNB P3.0,STOP1
          CPL TR0
          LJMP START
PP55:LJMP PP5
PP66:LJMP PP6
PP77:LJMP PP7
PP88:LJMP PP8
PP1:LCALL DELAY
    JB P1.0,PPB
STOP11:JNB P1.0,STOP11
       LCALL DELAY
           JNB P1.0,STOP11
           INC 22H
           MOV A,22H
           LJMP STOREA
PP2:LCALL DELAY
    JB P1.1,PPB
STOP22:JNB P1.1,STOP22
       LCALL DELAY
           JNB P1.1,STOP22
           MOV A,22H
           ADD A,#02
           MOV 22H,A
           LJMP STOREA
PP3:LCALL DELAY
    JB P1.2,PPB
STOP33:JNB P1.2,STOP33
       LCALL DELAY
           JNB P1.2,STOP33
           MOV A,22H
           ADD A,#03
           MOV 22H,A
           LJMP STOREA
PP4:LCALL DELAY
    JB P1.3,PPB
STOP44:JNB P1.3,STOP44
       LCALL DELAY
           JNB P1.3,STOP44
           DEC 22H
           MOV A,22H
STOREA:MOV B,#0AH
       DIV AB
           MOV 34H,B
           MOV 35H,A
PPB:LJMP START
PP5:LCALL DELAY
    JB P1.4,PPC
STOP55:JNB P1.4,STOP55
       LCALL DELAY
           JNB P1.4,STOP55
           INC 23H
           MOV A,23H
           LJMP STOREB
PP6:LCALL DELAY
    JB P1.5,PPC
STOP66:JNB P1.5,STOP66
       LCALL DELAY
           JNB P1.5,STOP66
           MOV A,23H
           ADD A,#02
           MOV 23H,A
           LJMP STOREB
PP7:LCALL DELAY
    JB P1.6,PPC
STOP77:JNB P1.6,STOP77
       LCALL DELAY
           JNB P1.6,STOP77
           MOV A,23H
           ADD A,#03
           MOV 23H,A
           LJMP STOREB
PP8:LCALL DELAY
    JB P1.7,PPC
STOP88:JNB P1.7,STOP88
       LCALL DELAY
           JNB P1.7,STOP88
           DEC 23H
           MOV A,23H
STOREB:MOV B,#0AH
       DIV AB
           MOV 36H,B
           MOV 37H,A
PPC:LJMP START
DELAY:MOV R4,#5H
DL00:MOV R5,#0FFH
DL11:DJNZ R5,DL11
     DJNZ R4,DL00
         RET
;;;;;;;;;;;;±ò;;;;;;;;;;;;;;;
TIME:PUSH ACC
     PUSH PSW
         MOV TH0,#0D8H
         MOV TL0,#0F0H
         DJNZ R2,RET0
         MOV R2,#64H
         MOV A,20H
         CLR C
         DEC A
         MOV 20H,A
         MOV A,21H
         CJNE A,#00H,PFF
         CLR TR0
         MOV 20H,#00H
         MOV 21H,#00H
         MOV 32H,#00H
         MOV 33H,#00H
         LCALL MINGYIN
         MOV 21H,26H
         MOV 30H,#00H
         MOV 31H,#00H
         MOV 32H,24H
         MOV 33H,25H
         LJMP RET0
PFF:MOV A,20H
    CJNE A,#0FFH,OUT
        MOV 20H,#59
        MOV 30H,#09H
        MOV 31H,#05H
        MOV A,21H
        DEC A
        MOV 21H,A
OUT:MOV A,20H
    MOV B,#0AH
        DIV AB
        MOV 30H,B
        MOV 31H,A
        MOV A,21H
        MOV B,#0AH
        DIV AB
        MOV 32H,B
        MOV 33H,A
RET0:POP PSW
     POP ACC
         RETI
YANSHI:PUSH ACC    ;¨±÷
       PUSH PSW
           MOV TH1,#0D8H
           MOV TL1,#0F0H
           DJNZ R2,RET1
           MOV R2,#64H
           DJNZ 39H,RET1
           MOV 39H,#30H
           MOV R2,#64H
           CLR TR1
           CLR P3.6
RET1:POP PSW
     POP ACC
         RETI
;;;;;;;;;;;;ù×ò
MINGYIN:SETB P3.6
        MOV R2,#9FH
AAA:MOV R3,#9FH
BBB:DJNZ R3,BBB
    LCALL DELAY
        LCALL DELAY
        LCALL DELAY
        DJNZ R2,AAA
        LCALL DELAY
        CLR P3.6
        SETB TR1
        RETI
;;;;;;;;;;;±ò
DISPT:MOV R0,#30H
      MOV R3,#0F7H
          MOV A,R3
PLAYT:MOV P2,A
      MOV A,@R0
          MOVC A,@A+DPTR
          MOV P0,A
          LCALL DL1
          MOV P2,#0FFH
          MOV A,R3
          RR A
          JNB ACC.7,LD1
          INC R0
          MOV R3,A
          LJMP PLAYT
LD1:RET
;;;;;;;;;;;±·ò
DISPF:MOV R0,#34H
      MOV R3,#7FH
          MOV A,R3
PLAYF:MOV P2,A
      MOV A,@R0
          MOV DPTR,#DSEG1
          MOVC A,@A+DPTR
          MOV P0,A
          LCALL DL1
          MOV P2,#0FFH
          MOV A,R3
         
          JNB ACC.3,LD1
          INC R0
          MOV R3,A
          LJMP PLAYF
          AJMP LD1
;;;;;;;;;;;÷±±ò
DISPW:MOV R0,#24H
MOV R3,#0F7H
          MOV A,R3
PLAYW:MOV P2,A
      MOV A,@R0
          MOV DPTR,#DSEG1
          MOVC A,@A+DPTR
          MOV P0,A
          LCALL DL1
          MOV P2,#0FFH
          MOV A,R3
          RR A
          JNB ACC.1,LD1
          INC R0
          MOV R3,A
          LJMP PLAYW
DL1:MOV R7,#05H
DL:MOV R6,#0FFH
DL6:DJNZ R6,DL6
    DJNZ R7,DL
        RET
DSEG1:DB 3FH,06H,5BH,4FH,66H
      DB 6DH,7DH,07H,7FH,6FH
;;;;;;;;;;;;;÷±×ò
TIAOSHI:PUSH ACC
        PUSH PSW
                JB P3.3,CHU
                LCALL DELAY
                JB P3.3,CHU
STOPQ:JNB P3.3,STOPQ
      LCALL DELAY
          JNB P3.3,STOPQ
IF10: LCALL DISPW
      LCALL DISPF
          JNB P1.3,DECT
          JB P1.0,WHAIT2
          LCALL DELAY
          JB P1.0,WHAIT2
STOPE:MOV C,P1.0
      JNC STOPE
          LCALL DELAY
          MOV C,P1.0
          JNC STOPE
          INC 26H
          LJMP STORE
          DECT: MOV C,P1.3
          LCALL DELAY
          JC WHAIT2
STOPY:MOV C,P1.3
      JNC STOPY
          LCALL DELAY
          MOV C,P1.3
          JNC STOPY
          DEC 26H
STORE:MOV 21H,26H
      MOV 20H,#00H
          MOV A,26H
          MOV B,#0AH
          DIV AB
          MOV 24H,B
          MOV 25H,A
          MOV 30H,#00H
          MOV 31H,#00H
          MOV 32H,24H
          MOV 33H,25H
          LJMP IF10
WHAIT2:JB P3.3,IF10
       LCALL DELAY
           JB P3.3,IF10
STOPG:JNB P3.3,STOPG
      LCALL DELAY
          JNB P3.3,STOPG
CHU:POP PSW
    POP ACC
        RETI
;;;;;;;;;;;;;ò;;;;;;;;;;;;;;;;
CHANGE:PUSH PSW
       PUSH ACC
           JB P3.2,QU
           LCALL DELAY
           JB P3.2,QU
STOPCH:JNB P3.2,STOPCH
       LCALL DELAY
           JNB P3.2,STOPCH
           MOV A,22H
           XCH A,23H
           MOV 22H,A
           MOV A,34H
           XCH A,36H
           MOV 34H,A
           MOV A,35H
           XCH A,37H
           MOV 35H,A
QU:POP ACC
   POP PSW
   RETI
END
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2022-10-14 16:37 | 只看该作者
还未会写程序:既无注解、又无说明、更无电路图、还无图片。
全靠猜。这就需要高手,高手的时间和你一样闲着的。
回复

使用道具 举报

板凳
ID:401564 发表于 2022-10-14 16:49 | 只看该作者
这代码,半个注释都没有
EQU什么的都不用,全是23H,26H的
不说别人,就是写这代码的人,过几天估计就看不明白自己写了什么了
回复

使用道具 举报

地板
ID:384109 发表于 2022-10-14 17:21 | 只看该作者
这是反汇编过来的代码吧,数码管闪一般就是显示延时做的不好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表