标题: Proteus为什么一上电就一直数码管中的数就一直连加 [打印本页]

作者: 呐喊的gyf    时间: 2019-11-27 20:57
标题: Proteus为什么一上电就一直数码管中的数就一直连加
实验功能是

用两个共阳极数码管来静态表示十进制两位数,从0至于99用以显示。
P3.7引脚yon做开关
每一次按下去加一个值。

我的问题是:为什么一上电就一直数码管中的数就一直连加,还有,按下按钮没反应。


单片机源程序如下:
  1.                 Count EQU 30H;
  2.                 SP1  BIT P3.7
  3.                 ORG 00H
  4.                 JMP START
  5.                 ORG 1000H
  6. START:         MOV Count,#00H
  7. NEXT:         MOV A,Count
  8.                 MOV B,#10
  9.                 DIV AB
  10.                 MOV DPTR,#TABLE
  11.                 MOVC A,@A+DPTR
  12.                 MOV P0,A
  13.                 MOV A,B
  14.                 MOVC A,@A+DPTR
  15.                 MOV P2,A
  16.            
  17. LOOP:
  18.         JNB SP1,INCR
  19.            
  20.            
  21.            
  22. INCR:JNB SP1,INCR
  23.      INC Count;
  24.         MOV A,Count
  25.         CJNE A,#100,NEXT


  26. TABLE:

  27. db 0c0h,0f9h,0a4h,0b0h

  28. db 99h,92h,82h,0f8h

  29. db 80h, 90h
  30.          END
复制代码


asm.zip

130.58 KB, 下载次数: 6


作者: Y_G_G    时间: 2019-11-28 08:44
你现在的问题是仿真的问题吗?
如果是仿真的问题,那就没有意义,花一大堆的时间去解决一个仿真的问题,然后,实际上电又是另外一回事,然后又有问题,再花一堆时间去解决实际问题
Proteus加载一次程序的时间要比你下载的时间长,还不如直接烧录看结果
汇编一定要有注释!
用每条指令都有,但至少在重要的地方有注释
作者: dy212300    时间: 2019-11-28 08:58
汇编看起来还是觉得没有C语言看得透彻,虽然汇编看起来高大上些
作者: moluxiyan    时间: 2019-11-28 09:03
在检查检查程序逻辑
作者: 小黑屋525    时间: 2019-11-28 09:14
那感觉是不是你的按键值判断错了!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1