导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→求延时,哪位大虾帮我算算 或者告诉我方法是怎么算的[echo_1230]

 *第41034篇: 求延时,哪位大虾帮我算算 或者告诉我方法是怎么算的

  
楼 主:echo_1230 2006年6月3日21:55
 求延时,哪位大虾帮我算算 或者告诉我方法是怎么算的
MOV R7,#04H
M4LP1: MOV R6,#0FFH  
M4LP2: DJNZ R6,M4LP2  
 DJNZ R7,M4LP1
  
2楼:zhouxiao2319 2006年6月4日14:08
 猜猜
单片机中每个指令周期是固定的,这取决于单片机的种类.
你算算你这些指令总共执行了多少次,把每次执行一条指令所用的时间全部加起来,就是延时时间.不过如果是在单片机中采用延时,最好不要用这种方法,最好的是用定时/计数器.
因为:假如你在程序中使用了外部中断,而且当延时程序正在执行时发生外部中断,这样会将PC值搞乱,程序会不听使唤

交朋友:QQ  51234711

  
3楼:wntxdys 2006年6月4日17:56
 计算问题
MOV R7,#04H
M4LP1: MOV R6,#0FFH  
M4LP2: DJNZ R6,M4LP2  
 DJNZ R7,M4LP1

t=[(1+255X2)+2]X4+1
以上程序执行MOV Rn, #data 指令的时间为 1 μs, DJNZ指令 2 μs,  所以, 内循环延迟时间: 1 μs+2 μs×255, 外循环延迟时间: 1 μs+(内环延时+2 μs)×4。 

  
4楼:wntxdys 2006年6月4日18:14
 计算问题
MCS-51 /12MHz

补充一句:上面的环境是MCS-51 /12MHz。

  
5楼:zhouxiao2319 2006年6月5日12:34
 随便聊聊
wntxdys是高手哈,每个指令的周期都记的这么熟悉.呵呵
你放心,我好象也记得12MHZ的DJNZ是2μS,

>>>>>>对该主题发表你的看法

本主题贴数5,分页: [第1页]


[上一篇主题]:各位师兄,师姐们!能帮我找个可以参照的原理图吗?是关于温度控制的。

[下一篇主题]:招聘pcb工程师