打印

6 个数码管都不会亮了

[复制链接]
1483|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhanghqi|  楼主 | 2017-6-30 18:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在问题是,上电能显示654321,可当按下P1.3口接的按键时,6 个数码管都不会亮了,程序哪里出了问题
程序目的:上电时数码管显示654321,每次按下P1.3口按键时
对31H中的数据加一,加到 10时,31H中清0并对下一个地址
(32H)中的数据加1,依次类推

相关帖子

沙发
wuhany| | 2017-6-30 18:54 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
zhanghqi|  楼主 | 2017-6-30 18:56 | 只看该作者
org 0000h
jmp start
org 0003h
reti
org 000bh
reti
org 0013h
jmp wzd1
org 001bh
reti
org 0023h
reti


wzd1: push psw      ;外中断入口
       push acc
       clr ea
       clr ex1
       jnb p1.3,key3    1.3为0时转KEY3
wzdfh:pop acc          ;外中断返回
       pop psw
       setb ea
       setb ex1
      reti
key3:call delay10ms
     jb p1.3,wzdfh
    l1: jnb p1.3,$
       inc 31h           1.3松开时31H加1
     mov a,#10
     cjne a,31h,wzdfh     ;31H中不等于10中断返回
     clr a
     mov 31h,a             ;31H中的数据清0并对下一地址中的数据加一
     inc 32h
     mov a,#10
     cjne a,32h,wzdfh
      clr a
     mov 32h,a
     inc 33h
     mov a,#10
     cjne a,33h,wzdfh
          clr a
     mov 33h,a
     inc 34h
     mov a,#10
     cjne a,34h,wzdfh
          clr a
     mov 34h,a
     inc 35h
     mov a,#10
     cjne a,35h,wzdfh
          clr a
     mov 35h,a
     inc 36h
     mov a,#10
     cjne a,36h,wzdfh
     clr a
     mov 36h,a
     jmp wzdfh

start:mov 31h,#1
       mov 32h,#2
       mov 33h,#3
       mov 34h,#4
       mov 35h,#5
       mov 36h,#6
       clr p1.5
       setb ea
        setb ex1
start1:call display
       jmp start1
display:mov r1,#31h
   mov r2,#00000001
play:  mov p0,#0ffh
       mov a,r2
       mov p2,a
       mov a,@r1
       mov dptr,#tab
       movc a,@a+dptr
       mov p0,a
       call delay1ms
       inc r1
       mov a,p2
       jb acc.5,endout
       rl a
       mov r2,a
       mov p2,#0h
       jmp play
endout:mov p0,#0ffh
       mov p2,#0
       ret
delay1ms:mov r3,#2
   d1:   mov r4,#250
   d2:   djnz r4,$
         djnz r3,d1
         ret
delay10ms: call play   ;10ms子程序,调用一次显示子程序约6ms,调两次约12ms
           call play
         ret

tab:db   48h,0ebh,52h,62h,0e1h,64h,44h,0eah,40h,60h
end

使用特权

评论回复
地板
yszong| | 2017-6-30 19:00 | 只看该作者

楼上的是汇编高手

使用特权

评论回复
5
dengdc| | 2017-6-30 19:01 | 只看该作者

程序应该显示一下就没有了.
中断方式

使用特权

评论回复
6
wyjie| | 2017-6-30 19:03 | 只看该作者
将SP值该一下.

使用特权

评论回复
7
zhanghqi|  楼主 | 2017-6-30 19:06 | 只看该作者
为什么呢?SP值怎么改

使用特权

评论回复
8
jiajs| | 2017-6-30 19:07 | 只看该作者
用软件仿真一下,関件\是否能进入中断测试,Sp初为07,加一语句mov sp =70h

使用特权

评论回复
9
jiahy| | 2017-6-30 19:09 | 只看该作者
怎么不一样呢?

使用特权

评论回复
10
lizye| | 2017-6-30 19:11 | 只看该作者

给堆栈入口地址。60h
把按键抬起判断放到最后
给你个建议以后看C语言写汇编
这样有助于你的汇编

使用特权

评论回复
11
shimx| | 2017-6-30 19:14 | 只看该作者
是不是中断处理的不好啊

使用特权

评论回复
12
zhanghqi|  楼主 | 2017-6-30 19:17 | 只看该作者
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位

使用特权

评论回复
13
aspoke| | 2017-7-2 11:03 | 只看该作者
这个按键是不是死循环?

使用特权

评论回复
14
232321122| | 2017-7-2 11:03 | 只看该作者
楼主的代码在哪里

使用特权

评论回复
15
ghuca| | 2017-7-2 11:03 | 只看该作者
这个按键不能占用显示的代码

使用特权

评论回复
16
soodesyt| | 2017-7-2 11:04 | 只看该作者
楼主使用的是汇编语言吗?

使用特权

评论回复
17
mnynt121| | 2017-7-2 11:04 | 只看该作者
数码管有什么问题吗?

使用特权

评论回复
18
plsbackup| | 2017-7-2 11:05 | 只看该作者
你的按键代码怎么写的?

使用特权

评论回复
19
kmzuaz| | 2017-7-2 11:05 | 只看该作者
程序是顺序执行的,不能正常执行代码了。

使用特权

评论回复
20
qiufengsd| | 2017-7-2 11:05 | 只看该作者
建议楼主上程序看看是什么问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

11757

帖子

5

粉丝