找回密码
 立即注册

QQ登录

只需一步,快速开始

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

帮忙看下这个程序,按下后显示有抖动, 只显示以前的数字

[复制链接]
跳转到指定楼层
楼主
ID:62923 发表于 2014-6-15 18:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN:    MOV R2,#50
         MOV R1,#00H
                 MOV R3,#00H
                 MOV DPTR,#0000H
                 CLR C
   D0:  CALL ADCINT
        CALL DISP
   D1:        JNB P2.3,KEY1
        CALL DISP
                JNB P2.2,KEY2
                CALL DISP
                LJMP D0

ADCINT: MOV R1,#30H
            MOV DPTR,#7FF8H
            MOV R7,#08H
LOOP:MOVX  @DPTR,A
HER:  JNB  P3.0,HER
      MOVX  A,@DPTR
          MOV   @R1,A
          INC   DPTR
          INC   R1
          DJNZ  R7,LOOP
          
DISP: MOV  A,R2
      MOV  B,#10
          DIV  AB
          MOV  20H,A
          MOV  21H,B
          MOV DPTR,#TABLE
          SETB  P2.5
          CLR   P2.4
          MOV  A,20H
          MOVC  A,@A+DPTR
          MOV  P1,A
          LCALL  DELAY
          
      SETB P2.4
          CLR  P2.5
          MOV  DPTR,#TABLE
      MOV  A,21H
          MOVC A,@A+DPTR
      MOV  P1,A
          LCALL  DELAY
      RET
DELAY: MOV  R6,#5
D2:   MOV  R5,#249
DL0:   NOP
       NOP
           DJNZ R5,DL0
           DJNZ R6,D2
       RET
          
DELAY1: MOV  R6,#10
D3:   MOV  R5,#249
DL1:   NOP
       NOP
           DJNZ R5,DL0
           DJNZ R6,D3
       RET
          
//¼ó1×ó3ìDò          
KEY1:  
       JB  P2.3,D1
           MOV A,R2
           INC A
           MOV R2,A
          
           RET
          
//¼õ1×ó3ìDò          
KEY2:  
       JB  P2.2,D1
           MOV A,R2
           DEC A
           MOV R2,A
           RET          

TABLE:  DB   3FH,06H,5BH,4FH,66H      ;
        DB  6DH,7DH,07H,7FH,6FH

END



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:7485 发表于 2014-6-17 13:19 | 只看该作者
你使用” JNB P2.3,KEY1“语句中的”JNB“指令进入”KEY1“(不是调用子程序,所以没有入栈),
而在”KEY1:  
          JB  P2.3,D1
           MOV A,R2
           INC A
           MOV R2,A
           RET”
          中使用”RET“退出,按子程序退出,有出栈,栈顶地址不是正确的地址,所以出错。

至于你从KEY1(或KEY2)中退出后,欲往何处,无法推测,你自己按自己的意图,使用合适的跳转指令改正吧。
回复

使用道具 举报

板凳
ID:62923 发表于 2014-6-17 14:27 | 只看该作者
ahshmj 发表于 2014-6-17 13:19
你使用” JNB P2.3,KEY1“语句中的”JNB“指令进入”KEY1“(不是调用子程序,所以没有入栈),
而在”KEY ...

恩,谢谢你了,是这个问题,已经解决
回复

使用道具 举报

地板
ID:63641 发表于 2014-7-5 20:40 | 只看该作者
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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