首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

为何数字不按顺序跳动,且跳动时快时慢

2013-02-17 
为什么数字不按顺序跳动,且跳动时快时慢:ORG 0000HAJMP STARTORG 000BH TO中断入口地址AJMP SERVE 跳转

为什么数字不按顺序跳动,且跳动时快时慢:
      ORG 0000H
      AJMP START
      ORG 000BH ;TO中断入口地址
      AJMP SERVE ;跳转中断到中断服务
START:MOV R2,#0
      MOV R3,#10
MAIN: MOV DPTR,#TAB
      MOV A,R2
      MOVC A,@A+DPTR
      MOV P2,A
      INC R2
      MOV SP,#60H
      MOV B,#10  ;设置循环次数10次
      MOV TMOD,#01H  ;设置T0工作在模式1
      MOV TL0,#0B0H
      MOV TH0,#3CH
      SETB ET0
      SETB EA
      SETB TR0

      DJNZ R3,MAIN
      AJMP START
SERVE:MOV TL0,#0B0H
      MOV TH0,#3CH
      DJNZ B,LOOP    ;一秒结束
      CLR TR0
 LOOP:RET

   TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
       END
[解决办法]
   ORG 0000H
      AJMP START
      ORG 000BH ;TO中断入口地址
      AJMP SERVE ;跳转中断到中断服务
START:
      MOV SP,#60H
      MOV TMOD,#01H  ;设置T0工作在模式1
      MOV TL0,#0B0H
      MOV TH0,#3CH
      SETB ET0
      SETB EA
      SETB TR0

MAIN:
      MOV B,#10  ;设置循环次数10次
      MOV R3,#10
      MOV R2,#0
      MOV DPTR,#TAB
     JZ  AJMP START
MAIN1:
      MOV A,B
      JZ MAIN
      AJMP MAIN1

SERVE:
      PUSH ACC
      MOV TL0,#0B0H
      MOV TH0,#3CH
      DEC B
      MOV A,R2
      MOVC A,@A+DPTR
      MOV P2,A
      INC R2
      POP ACC
RETI

   TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
       END

热点排行