5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 2397|回复: 28
打印 上一主题 下一主题

单片机简单的延时程序理解,求鉴定...

[复制链接]
跳转到指定楼层
楼主
发表于 2011-6-3 22:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
终于狠下决心要学习单片机了.
买了两套经典教材
首先是<平凡的单片机教程>的作者周坚出的<单片机轻松入门>
然后是<例说8051>,在卓越订了,一共是48元包邮,我觉得如果这48块钱能够让
教会我单片机的知识的话,那是太值了.以前都在网上下电子书,呵呵.现在我觉得
有本纸质的书,会更有感觉.随时随地都可以看.不用整天坐在电脑前.
有点扯远了.其实我是来问问题D,呵呵

粗略地看了两本.周坚的比<例说8051>更适合我.主要是前者更自然,更基础一些.
本来我是看好<例说8051>的,甚至是先看它的,看了一两章,觉得还是有挺多东西要先背
下来,呵呵..而且它里面写程序没有用KEIL集成环境,还手动连接,,,而周坚的就是教KEIL,
光盘还带有软件模拟开发版(就是一些DLL),再有就是读他的书,你会发现他真是很细心.
几乎每个细节都照面到了.程序的解读,应该说是尽量照顾到新手了,甚至是假定你是一个从来没有接触
过单片机,从来没有接过编程的人来作为对象的....

再次回归到主题,如果你也和我一样买了周坚的教程(第二版的,非C语言版本),可以番到
第21页.程序如下...

;以下是延时子程序
DELAY: MOV    R7,#250   ;(6)
D1:      MOV    R6,#250   ;(7)
D2:      DJNZ   R6,D2     ;(8)
           DJNZ    R7,D1    ;(9)
           RET                  ;(10)
           END                 ;(11)


由于我是汇编新手,所以很依赖书中的程序解读.这点跟一个盲人很相似,呵呵
而且我天生疑心较重.对于书中的解释,我觉得不太清楚.在这里确认下,请大家帮我
鉴定下,我的理解是不是正确的.

由于第(7)句把250送入到寄存器R6,所以R6装载的是250,
第(8)句,DJNZ,将R6里面的数减1,R6变成240,比较下是否等于0,如果等于0,执行第(9)句,如果不等于0,则执行 D2,
我的疑问是,DJNZ是否会把R6里面的数减1,并把结果再次存入到R6?

请鉴定下我这个理解是否正确?

欢迎继续阅读楼主其他信息

沙发
发表于 2011-6-3 22:33 | 只看该作者
理解是对的。
R6 = R6 - 1

DJNZ == Decrease, Jump to "D2" if  R6 != 0
3
发表于 2011-6-3 22:35 | 只看该作者
4
发表于 2011-6-3 22:47 | 只看该作者
汇编啊,想想都晕,还是C简单些,我只会一些VB,刚开始学C,还是很好懂,汇编就直接放弃了,呵呵:em15:
5
发表于 2011-6-3 23:12 | 只看该作者
一直用汇编,学了几次C都没有转过来。:em17:
6
发表于 2011-6-3 23:21 | 只看该作者
用汇编的是绝顶高手呀,
我写几多年程序, 人越写越懒, 语言越用越傻瓜, 现在都用 C#  这样的超高级傻瓜语言了, 连C++都不玩了.
汇编更是头大, 不想玩这个了.
还是高级的好玩,越高级,越傻瓜,
说到编程, 关键的是什么, 是思想,不是语言, 有思想,用什么语言都能达成目标,
所以为什么不用高级的语言让自己更轻松呢?

当然,汇编在作一些很低层的操作时,有他的优势,比如用来作设备驱动程序.

是作单片机, 用汇编可以理解,  作PC用的软件, 用汇编是神人.
7
 楼主| 发表于 2011-6-3 23:54 | 只看该作者
很意外,没想到这里有这么多高手...

在21ic 发贴,只有1个人回复....:em15:


这里远比某些虚拟世界还要美好...:em15:
8
发表于 2011-6-4 03:00 | 只看该作者
路过
9
发表于 2011-6-4 05:31 | 只看该作者
正确,楼主还是不要学51系列了吧直接进阶到X86/8088系列学汇编吧:em15:
非常经典的教科书是清华大学出版社出版的,名字记不太清了,《微型计算机技术及应用》第二版(记住是第二版,个人感觉其他版本都太花哨了,不实用),戴梅鄂,史嘉权著,计算机系的经典教科书,非常好,10年前买了一本珍藏起来至今:em17:
我还有一本经典的书《局域网操作系统DOS高级技术分析》国防工业出版社出版,1988年出版,当时在学校图书馆顺的:em17: 这么经典的书竟然没人看,放在那里可惜了:em15: 里面全部是用汇编语言解释的DOS系统原理,额滴个神呀,这在这个年代的人是不会做这个事的也没有那个深度:em17: 当然因为校对的原因里面有很多排版书写的错误,但不妨碍它是一本好书
稍后可能会开一个关于我的书的帖子

[ 本帖最后由 pdwabc 于 2011-6-4 06:54 编辑 ]
10
发表于 2011-6-4 05:33 | 只看该作者
原帖由 vincent.liu 于 2011-6-3 23:54 发表
很意外,没想到这里有这么多高手...

在21ic 发贴,只有1个人回复....:em15:


这里远比某些虚拟世界还要美好...:em15:

这里三教九流的人都有:em15:
11
发表于 2011-6-4 06:12 | 只看该作者
我学单片机是从pic开始的汇编语言嫌麻烦不知为何对c语言有抵触一直学不下来干脆用picbasic pro
12
发表于 2011-6-4 06:34 | 只看该作者
到底该怎么学单片机??51单片机过时了吗?我前天网购了51学习板,语言基础一点也没有,真正的从零开始,头痛。
13
发表于 2011-6-4 06:59 | 只看该作者
12楼的,兄弟?MM?
不好意思,你误解我的意思了,我说那句话并不是说51单片机过时了,你是初次学习51是不二的选择
51机是现场简单工控方向的,X86是计算机基础方向的,侧重点有所不同

[ 本帖最后由 pdwabc 于 2011-6-4 07:01 编辑 ]
14
发表于 2011-6-4 07:25 | 只看该作者
噢,知道了,呵呵。
俺是有JJ滴:em15: 。头像是游戏里的小蛮蛮
15
发表于 2011-6-4 08:38 | 只看该作者
有点电路啥的基础比较好吧
16
发表于 2011-6-4 09:10 | 只看该作者
一般情况下4K程序用汇编,时序要求高的用汇编。
17
发表于 2011-6-4 09:28 | 只看该作者
汇编语言,入门简单,精通很难.
18
发表于 2011-6-4 10:51 | 只看该作者
这样利用机器时钟的定时不太准确,调用定时器的中断较好。
19
发表于 2011-6-4 11:15 | 只看该作者
原帖由 xshhh 于 2011-6-4 10:51 发表
这样利用机器时钟的定时不太准确,调用定时器的中断较好。
如果没有中断干扰还是很准的,有中断就不一样了。
20
发表于 2011-6-4 11:22 | 只看该作者
强烈建议楼主学c,放弃汇编。

好处多多,尤其是业余玩玩,c的优势非常非常非常的明显。:em15:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

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