打印

好心人,能帮我解决一下吗?

[复制链接]
2015|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuweige|  楼主 | 2007-2-2 13:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
mov  37h,#05h
mov  36h,#05h
inC 37h
MOV A,37h
CJNE A,#0aH,DISPLAY
MOV 37h,#00H

inC 36h
MOV A,36h
CJNE A,#0ah,DISPLAY
MOV 36h,#00H

以上为加一显示的程序,我想改成减一的程序,能进行。54。 
53。52。 51。50,49.的数码显示变化不知如何修改,请大家帮
助改一改,先谢谢了。
 

相关帖子

沙发
duanhnhy| | 2007-2-2 15:57 | 只看该作者

RE

能不能再具体点?这样一点点没法帮你呀!最好把整个程序贴上来!

使用特权

评论回复
板凳
wuweige|  楼主 | 2007-2-2 16:27 | 只看该作者

想做个999999倒数器,其中减一程序不会写,望大伙能启发我

使用特权

评论回复
地板
highway| | 2007-2-2 16:32 | 只看该作者

DEC是减1,然后变换为BCD即可,从低字节开始减

使用特权

评论回复
5
binbinwb| | 2007-2-2 16:36 | 只看该作者

把完整的程序贴上来看看先

使用特权

评论回复
6
yf_tech| | 2007-2-2 16:47 | 只看该作者

来了

mov  37h,#05h
mov  36h,#05h
DEC  inC 37h
MOV  A,37h
CJNE A,#0,DISPLAY
MOV  37h,#0AH

DEC  36h
MOV  A,36h
CJNE A,#0,DISPLAY
MOV  36h,#0AH

使用特权

评论回复
7
stycx| | 2007-2-2 16:56 | 只看该作者

999999? 大了点,几位一组分开处理吧

使用特权

评论回复
8
wuweige|  楼主 | 2007-2-2 17:14 | 只看该作者

回复

main:mov  30h,#09h
mov  31h,#09h
mov  32h,#09h
mov  33h,#09h
mov  34h,#09h
mov  35h,#09h

deC 35h
MOV A,35h
CJNE A,#00H,DISPLAY
MOV 35h,#0aH

deC 34h
MOV A,34h
CJNE A,#00H,DISPLAY
MOV 34h,#0aH

deC 33h
MOV A,33h
CJNE A,#00H,DISPLAY
MOV 33h,#0aH

deC 32h
MOV A,32h
CJNE A,#00H,DISPLAY
MOV 32h,#0aH

deC 31h
MOV A,31h
CJNE A,#00H,DISPLAY
MOV 31,#0ah

deC 30h
MOV A,30h
CJNE A,#00H,DISPLAY
MOV 30h,#0aH
aJMP DISPLAY
ret

以上为草稿,大意是按一下键,999999数字减一,变成999998,再按一下,变成999997,。。。以次类推,根据大概意思,程序该如何修改,请指教

使用特权

评论回复
9
highway| | 2007-2-2 17:14 | 只看该作者

错了,应该使用SUBB,低字节减去,再高的减0

不明白联系我

使用特权

评论回复
10
wuweige|  楼主 | 2007-2-2 17:20 | 只看该作者

请问highway大侠,你能再说具体点吗,咋联系你呀?

使用特权

评论回复
11
5880527| | 2007-2-2 17:52 | 只看该作者

个人意见

个人感觉还是不要这样处理的好,如果其他地方还要用到这个数据,999999=F423FH,你用SUBB减好些的,显示时再转换一下

使用特权

评论回复
12
diannaoza| | 2007-2-2 17:59 | 只看该作者

SUBB这么减行不?

1:
ORG 0000H
AJMP BEG

ORG 0030H
BEG:

MOV 30H,#02
MOV 31H,#03
LOOP:

MOV A,30H
SUBB A,#01
MOV 30H,A

JNC LLL1
CLR C

MOV A,31H
SUBB A,#01H
MOV 31H,A

LLL1:
NOP
AJMP LOOP
END


2:
;;;ORG 0000H
AJMP BEG

ORG 0030H
BEG:

MOV 30H,#02
MOV 31H,#03
LOOP:
MOV A,30H
SUBB A,#01

JNC LLL1
MOV 30H,A
CLR C

MOV A,31H
SUBB A,#01H

MOV 31H,A
SJMP LLL2
LLL1:
MOV 30H,A
LLL2:



AJMP LOOP
END

使用特权

评论回复
13
dengm| | 2007-2-2 19:02 | 只看该作者

-1 就是 +99999

  
        MOV R7, #99H  ; HI BCD
        MOV R6, #99H  ; MID BCD
        MOV R5, #99H  ; LOW BCD

LOOP:
        ACALL DEC1
        ACALL DISPLAY
      SJMP LOOP

DEC1:  ; + 999999 === -1
      MOV A, #99H   
      ADD A, R5
      DA A
      MOV R5, A
     
      MOV A, #99H
      ADDC A, R6
      DA A
      MOV R6, A
 
      MOV A, #99H
      ADDC A, R7
      DA A
      MOV R7, A
   
      RET
    

使用特权

评论回复
14
wuweige|  楼主 | 2007-2-2 19:18 | 只看该作者

我需要把37h--30h中的数转换成压缩的BCD码吗?

使用特权

评论回复
15
joson| | 2007-2-2 19:29 | 只看该作者

送显的话就需要了

使用特权

评论回复
16
wuweige|  楼主 | 2007-2-2 19:53 | 只看该作者

回复

那是不是如下操作:
首先30h--37h中的数转换成3个双字节的数,然后调用加999999程序,最后把3个双字节的数再分成6个单字节的数送显示,对吗?

使用特权

评论回复
17
zlove1984| | 2007-2-2 22:03 | 只看该作者

插入

你这个接口实验
可不容易啊!!
呵呵!
你不知道要按位显示么?

使用特权

评论回复
18
diannaoza| | 2007-2-2 23:18 | 只看该作者

经典呀

 -1 就是 +99999 

  
        MOV R7, #99H  ; HI BCD
        MOV R6, #99H  ; MID BCD
        MOV R5, #99H  ; LOW BCD

LOOP:
        ACALL DEC1
        ACALL DISPLAY
      SJMP LOOP

DEC1:  ; + 999999 === -1
      MOV A, #99H   
      ADD A, R5
      DA A
      MOV R5, A
     
      MOV A, #99H
      ADDC A, R6
      DA A
      MOV R6, A

      MOV A, #99H
      ADDC A, R7
      DA A
      MOV R7, A
   
      RET 
 
学习了!谢谢!

使用特权

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

本版积分规则

16

主题

36

帖子

0

粉丝