• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

请大家帮忙分析一下这个延时程序

DEL: MOV R7,#0FH;延时子程序
DEL1:MOV R6,#0FFH;
DEL2:MOV R5,#01FH;
DEL3: DJNZ R5,DEL3;
      DJNZ R6,DEL2;
      DJNZ R7,DEL1;
      RET;
      END
晶振用12M,延时时间T准确地说倒底为多少呢?初学汇编,很多都不懂.麻烦大家给看看.
全部回复(6)
正序查看
倒序查看
2006-08-31 10:13
是51吗?若是的话,一个周期就是1us,直接相乘,在应用时可能要再加上二个周期.
0
回复
yilintian
LV.1
3
2006-08-31 22:08
@又冒烟了
是51吗?若是的话,一个周期就是1us,直接相乘,在应用时可能要再加上二个周期.
是的,是51单片机.我觉得以下三条指令的执行时间也该算在总的延时时间里面.这样的话总的延时时问就等于:1us(周期)*2(双字节)*(0F*FF*1F)次 +以下三条指令执行所用的时间.不知道对不对?        
  DEL:MOVR7,#0FH;                                                                  
    DEL1:MOVR6,#0FFH;                                                                          
DEL2:MOV R5,#01FH;
0
回复
2006-09-01 08:45
@yilintian
是的,是51单片机.我觉得以下三条指令的执行时间也该算在总的延时时间里面.这样的话总的延时时问就等于:1us(周期)*2(双字节)*(0F*FF*1F)次+以下三条指令执行所用的时间.不知道对不对?          DEL:MOVR7,#0FH;                                                                      DEL1:MOVR6,#0FFH;                                                                          DEL2:MOVR5,#01FH;
是的,在实际应用中若要精确时间的话还要加上调入这个程的时间和跳出这个程序的时间,建议用计时器,并且也要加上调程序用的时间,网上有这方面的文章,你可以找来看看..
0
回复
yilintian
LV.1
5
2006-09-01 21:28
@又冒烟了
是的,在实际应用中若要精确时间的话还要加上调入这个程的时间和跳出这个程序的时间,建议用计时器,并且也要加上调程序用的时间,网上有这方面的文章,你可以找来看看..
非常感谢你的回答.
0
回复
yilintian
LV.1
6
2006-09-01 21:44
@又冒烟了
是的,在实际应用中若要精确时间的话还要加上调入这个程的时间和跳出这个程序的时间,建议用计时器,并且也要加上调程序用的时间,网上有这方面的文章,你可以找来看看..
顺便问一下,我想自己买些学单片机的实验器材,毕竟学单片机的话光看看书是没有什么用的.还得自己动手实践才行.从经济和实用的角度出发,编程器,仿真器,实验板,这些都得买吗?在哪里买合适呢?再有就是对这些东西了解得太少,也看到网上有很多这方面的器材出售.但是网上交易毕竟不大放心.对以上问题,请指点一下.我是做车载DVD的,单片机软件不是公司自己开发的.
0
回复
2006-09-01 21:53
@yilintian
顺便问一下,我想自己买些学单片机的实验器材,毕竟学单片机的话光看看书是没有什么用的.还得自己动手实践才行.从经济和实用的角度出发,编程器,仿真器,实验板,这些都得买吗?在哪里买合适呢?再有就是对这些东西了解得太少,也看到网上有很多这方面的器材出售.但是网上交易毕竟不大放心.对以上问题,请指点一下.我是做车载DVD的,单片机软件不是公司自己开发的.
先在电脑上模拟吧,现在有很多IC是可以在线编写的,如STC的IC,软件和89C51一样,但功能多很多,防真板很便宜,小小的一块,还有多功能,公司里要的话都是免费的.
0
回复