QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1932|回复: 3
收起左侧

[讨论结束] 对10求余的51程序

 关闭 [复制链接]
发表于 2008-7-30 14:01:30 | 显示全部楼层 |阅读模式 来自: 中国河北邢台

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
请教各位,我在做一个对10求余的小程序,商和余数在延时2ms后,不断输出至P1再显示到2个数码管上,数码管由P3扫描控制。可我发现当被除数大于99时,就会显示商为8,余数为0,和被除数为80时的结果一模一样,只要被除数在99以下就一切正常。请各位大侠帮忙指教啊,谢谢了! :P
4 O; @2 C  e3 _+ u0 E5 @: F  j8 R
1 w7 c5 \# n( Q% W2 R: [$MOD51
5 W% E( @& m# m2 t4 C. u       ORG  0000H, c& B6 }5 \9 c2 H  {/ V, l. A
MAIN: MOV  A,#64H
0 v( ]% ~2 y3 w) R9 {       MOV  B,#0AH
0 u" N- m" t0 G- Q5 K" O2 B       DIV  AB& v2 ?: O) E& ~
       MOV  DPTR,#TABLE
8 b( u+ G4 z8 i+ Z- P+ W; y6 h% m       MOVC  A,@A+DPTR7 U( c/ r8 n: I. C0 H: j: D
       MOV  P1,A
/ \* H+ O* h( C9 u; C       MOV  R3,#00H
2 R& ]+ q0 V9 F  B' ^  M       MOV  P3,R38 W) g* B5 @1 L- v
ACALL DELAY
- d2 F0 ]9 T  {! }2 x4 ]       MOV  A,B
9 G' a0 |7 t3 J; u. M       MOV  DPTR,#TABLE
6 L' o2 A' q3 S$ ?$ z2 v* J       MOVC  A,@A+DPTR; O) {9 Y2 Q! ]" ~1 f
       MOV  P1,A
; L6 j. S. J# V6 H' K/ i       INC  R3  d, ^' U0 e' M' b0 d/ S
       MOV  P3,R3# K+ u! N5 b% ^7 D
ACALL DELAY, M1 t" t+ {/ a2 }* \' h
       AJMP MAIN
0 [6 A" I8 o( [: o这是该部分的主要程序了   谢谢了# |0 t9 ]1 g9 Z+ H

4 r% ^" y. @: ]  f. [  q[ 本帖最后由 word1236 于 2008-7-30 14:02 编辑 ]
发表于 2008-8-1 11:55:25 | 显示全部楼层 来自: 中国河南新乡
我建议你用C来编程,在简单的程序中还体现不出来,程序复杂后就很明显,C要比汇编简单的多。
  g, g5 X; m1 @2 b等会给你发个C编的你看看试试!
 楼主| 发表于 2008-8-1 12:49:41 | 显示全部楼层 来自: 中国河北邢台
噢 , 我已经明白我的程序执行为什么不能大于100了,也已经改过来了
9 J/ J# \2 [2 j   汇编语言也真的是有相当大的局限性,比如用简单的IF、ELSE就可实现的程序在汇编中有时就很费力了
发表于 2008-8-1 14:10:57 | 显示全部楼层 来自: 中国河南新乡
是呀,在学校里学的东西太基础了。对了,你还是学生吗?建议你在闲暇的时候多看些单片机C语言控制之类的书籍,对编程会有很大用处的!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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