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

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 2486|回复: 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?

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

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

29
发表于 2011-6-4 19:48 | 只看该作者
玩工控为主的学汇编或C, 51单片机, 足够玩一般数控了, 编程熟悉一点后再玩PIC,玩得好后,自己做数控系统了。
28
发表于 2011-6-4 13:58 | 只看该作者
了解啦。
27
发表于 2011-6-4 13:45 | 只看该作者
C比汇编简单,我是习惯难改,就一直汇编了:em17:
26
发表于 2011-6-4 13:42 | 只看该作者
听fang大将这么说,学习C语言写程序是很困难的吧?我又底气不足了。:em25:
看了两节课的单片机视频讲座,觉得挺简单,一冲动搞了块51实验板,拿回来之后把例程挨个下 载进去实验了个遍。等打开KEIL傻眼了,没头没脑一点也看不懂。我是不是要把课件里的例程全部自己写一遍,才算掌握点基础了?:em23:
25
发表于 2011-6-4 13:31 | 只看该作者
汇编从Z80-6502- 8035(8039)-8086(286 386)-8051-8096 -PIC-STM32一路走过,几次转C都没转成。:em25: :em25:
Z80内部没有定时、计数器,当初用Z80搞测量手表走时精度校表仪和生产中自动摆轮游丝分选配组的分档仪,就是用软件循环做时间测量,循环中还要计算显示,编软件时每个分支都要机器周期一样,精度也相当的高。哪个校表仪卖了上千台,分档仪8万多一台,卖了30多台

[ 本帖最后由 fang 于 2011-6-4 13:47 编辑 ]
24
发表于 2011-6-4 12:50 | 只看该作者
2002年,我是从c8051f 学起的,当时一个JTAG  调试器  ,1980元,
建议用 C8051f  系列  ,功能超强,速度快 ,不用烧写器  ,他的JTAG  调试器 才 100元以内,片子也非常好买  ,现在已经非常便宜了。其他51系列还是不要用了,

至于汇编吗  ,学习一个月写  200行以上的代码 ,  浅尝辄止就行了  。
最终还是要转到 C的  ,keil C  效率非常高 ,专门针对 51 系列进行过优化 ,想练手的话一个程序要写 1000行以上的代码  ,才算是入门。
一个程序写到3000行就算行内人士了 ,一个程序写到10000 的算是高手了
23
发表于 2011-6-4 12:05 | 只看该作者
一直用汇编,经常买到坏芯片,口是好的,存储器有些不能访问:em25: ,便宜东东用汇编对付过去,
不习惯 C 的地址定位
22
发表于 2011-6-4 11:42 | 只看该作者
不懂,帮顶
21
发表于 2011-6-4 11:37 | 只看该作者
用AVR的话可以用Bascom,是Basic语言,小程序很方便!
20
发表于 2011-6-4 11:22 | 只看该作者
强烈建议楼主学c,放弃汇编。

好处多多,尤其是业余玩玩,c的优势非常非常非常的明显。:em15:
19
发表于 2011-6-4 11:15 | 只看该作者
原帖由 xshhh 于 2011-6-4 10:51 发表
这样利用机器时钟的定时不太准确,调用定时器的中断较好。
如果没有中断干扰还是很准的,有中断就不一样了。
18
发表于 2011-6-4 10:51 | 只看该作者
这样利用机器时钟的定时不太准确,调用定时器的中断较好。
17
发表于 2011-6-4 09:28 | 只看该作者
汇编语言,入门简单,精通很难.
16
发表于 2011-6-4 09:10 | 只看该作者
一般情况下4K程序用汇编,时序要求高的用汇编。
15
发表于 2011-6-4 08:38 | 只看该作者
有点电路啥的基础比较好吧
14
发表于 2011-6-4 07:25 | 只看该作者
噢,知道了,呵呵。
俺是有JJ滴:em15: 。头像是游戏里的小蛮蛮
13
发表于 2011-6-4 06:59 | 只看该作者
12楼的,兄弟?MM?
不好意思,你误解我的意思了,我说那句话并不是说51单片机过时了,你是初次学习51是不二的选择
51机是现场简单工控方向的,X86是计算机基础方向的,侧重点有所不同

[ 本帖最后由 pdwabc 于 2011-6-4 07:01 编辑 ]
12
发表于 2011-6-4 06:34 | 只看该作者
到底该怎么学单片机??51单片机过时了吗?我前天网购了51学习板,语言基础一点也没有,真正的从零开始,头痛。
11
发表于 2011-6-4 06:12 | 只看该作者
我学单片机是从pic开始的汇编语言嫌麻烦不知为何对c语言有抵触一直学不下来干脆用picbasic pro
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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