QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
2天前
查看: 1858|回复: 3
收起左侧

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

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

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

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

x
请教各位,我在做一个对10求余的小程序,商和余数在延时2ms后,不断输出至P1再显示到2个数码管上,数码管由P3扫描控制。可我发现当被除数大于99时,就会显示商为8,余数为0,和被除数为80时的结果一模一样,只要被除数在99以下就一切正常。请各位大侠帮忙指教啊,谢谢了! :P 8 i$ |* s' b4 I+ t5 b
8 _& g4 N2 t! S! B( Q+ c
$MOD51* K4 G) F: ]/ W* r& k
       ORG  0000H4 v( F+ e8 d  K: k9 V  g( E  B! o9 k- ?
MAIN: MOV  A,#64H
) Z8 n  V7 m0 [( C( I  K9 P       MOV  B,#0AH
" x% o  i+ B3 d: B; j7 ~  j       DIV  AB
* h* l5 n6 g8 k: g- T       MOV  DPTR,#TABLE$ K6 W3 G3 H$ D2 y$ M
       MOVC  A,@A+DPTR+ p% x$ g1 [$ o& o
       MOV  P1,A8 q$ `* B, Q$ h$ E5 L2 h; l+ G
       MOV  R3,#00H
3 D$ T. r( u1 K% _       MOV  P3,R3/ O- O* M( i% b$ j- x/ g+ s
ACALL DELAY& H* s- X4 c0 r1 r9 e# J& a
       MOV  A,B
% i8 P8 k' ]8 R. u1 Z7 G) [6 ^       MOV  DPTR,#TABLE
% b: q  [, A9 r  Q       MOVC  A,@A+DPTR1 S! N8 C2 m& ]0 j
       MOV  P1,A
$ E$ b# x* q( i* o& u  T       INC  R3
3 W: [; g' n+ }+ G- Y) F       MOV  P3,R3, H. D0 _' t  O3 N0 J% e
ACALL DELAY
" L1 {* A7 O2 c3 T+ d       AJMP MAIN% z6 G2 h7 ~3 t$ G5 ]- W
这是该部分的主要程序了   谢谢了
6 D+ r3 y4 G& U" \* Y( R$ }' Z+ _  W# r0 }
[ 本帖最后由 word1236 于 2008-7-30 14:02 编辑 ]
发表于 2008-8-1 11:55:25 | 显示全部楼层 来自: 中国河南新乡
我建议你用C来编程,在简单的程序中还体现不出来,程序复杂后就很明显,C要比汇编简单的多。2 C8 T: T  p9 g) D
等会给你发个C编的你看看试试!
 楼主| 发表于 2008-8-1 12:49:41 | 显示全部楼层 来自: 中国河北邢台
噢 , 我已经明白我的程序执行为什么不能大于100了,也已经改过来了6 T4 b# Y5 R/ c, [
   汇编语言也真的是有相当大的局限性,比如用简单的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 )

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