鱼C论坛

 找回密码
 立即注册
查看: 1567|回复: 5

51单片机显示0到9

[复制链接]
发表于 2014-7-14 15:37:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
              ORG         0000H
START:   MOV        DPTR,#TABLE
              MOV        A, #00H
S2:              MOVC      A,@A+DPTR
              CJNE       A,#00H,S1
               LJMP      START
S1:         MOV       P1,A
               INC       A
              CALL      DELAY
               LJMP     S2
TABLE: DB  0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H        ,00H

DELAY:  MOV     R7,250
   L1:  MOV     R6,200
   L2:  MOV     R5,20
          DJNZ    R5,$
          DJNZ    R6,L2
          DJNZ    R7,L1
          RET     
          END
本人想显示数码管0-9十个数字,但是上面那段程序运行时只显示0,而且一直停在0,调试时发现每次跳转时就不能跳到S2,而是跳到MOV  A,#00H这一行,百思不得其解,所以请求大家,这个是为什么.

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-14 21:18:19 | 显示全部楼层
本帖最后由 Jong0019 于 2014-8-5 07:54 编辑

0000000000000
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-14 22:59:16 | 显示全部楼层
本帖最后由 沉思的牛 于 2014-7-14 23:02 编辑

我不是很懂51的汇编;
帮你看了一下,存在一些问题
从START开始:
MOV       DPTR, #TABLE     //取TABLE首地址
MOV       A, #00H               //累加器清零
MOVC     A, @A+DPTR      //取DPTR[A]=DPTR[0]=0C0H
CJNE       A, #00H,S1          //不等于,跳转到S1
S1:
MOV      P1,A                   //把数据传送到P1锁存器,你的段选端口,但是我没看见你的位选
INC         A                          //A++    A=0C1H
CALL      DELAY                  //调用延时
LJMP     S2                         //跳回S2
当你再次跳转到S2时, 你想取段选数据;
你的段选数据就不对了, DPTR[A] =DPTR[0C1]超过你的TABLE

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-14 23:05:00 | 显示全部楼层
望楼主下次发代码用代码编辑器:handshake
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-15 11:00:41 | 显示全部楼层
关键是对于MOVC      A,@A+DPTR这条语句的理解,这条语句在执行前,累加器A中存的是偏移地址,执行后存的是查到的字型码。要想实现显示0到9的目的,需要偏移地址加1,而你的问题是:把字型码加1了,再次查表就查不到0到9的字型码了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-7-15 13:04:23 | 显示全部楼层
:lol::lol::lol::shy::shy::shy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 08:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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