Board logo

标题: 各位大侠能否提供一个延时10US的例程 [打印本页]

作者: sevenqd    时间: 2008-10-8 09:56     标题: 各位大侠能否提供一个延时10US的例程

我现在用的是MCF51JM128,40MHz的CPU时钟,想请论坛里的高手帮忙提供一段延时10微秒的C语言程序,由于不知道每条指令执行时间,所以无从下手,还望各位前辈们能给指点一二!!非常感谢各位的热心帮助!
作者: sevenqd    时间: 2008-10-8 16:31

希望热心的朋友能出来帮个忙啊!
作者: fayefayehoo    时间: 2008-10-8 16:57

总线频率是多少?打算用定时器还是for()来做?


作者: 蛮子归来    时间: 2008-10-16 22:53

呵呵,用汇编指令延时.....


作者: sevenqd    时间: 2008-10-23 13:31

总线频率是20M的,打算用FOR循环来做啊,还请高手指点啊!
作者: sevenqd    时间: 2008-10-24 10:54

现在有个问题搞不太清楚:在资料中有MCF51JM128的CPU时钟是40M(自己设的),那CPU总线时钟又是什么东西?怎么理解呢,是否跟CPU时钟一样,还是跟总线时钟一样?书上说CPU做一次读操作的时间为一个总线时钟周期,所以搞清楚这个就知道一条指令执行的时间了!还请专家指点一二啊!!
作者: 康桥人    时间: 2008-10-26 09:45

CPU的周期与总线周期是两个不同的概念,我认为.

就像intel的CPU一样,CPU的运行频率是2GHz,而CPU的前端总线频率是667MHz


作者: sevenqd    时间: 2008-10-31 14:20

谢谢康桥人的解答 ,我还是有一点不太明白还望你能指教啊!那我们在计算指令执行周期时是以CPU周期计算呢,还是以它的总线周期为单位计算呢?
作者: fayefayehoo    时间: 2008-10-31 15:20

以它的总线周期为单位计算
作者: leixiaoxuan    时间: 2008-12-12 17:57

我从一个老工程师那学了一个方法,你可以延时2ms,然后将N的值除以200,就可以了,方法可能比较土,可是很实用啊.不过你需要一个示波器,应该有吧.哈哈!!
作者: leixiaoxuan    时间: 2008-12-12 18:00

执行程序应该以40M运行的,因为我用一个asm("nop")指令测试,时间是250ns
作者: rcengtian    时间: 2008-12-16 00:07

ICGOUT提供CPU时钟,应该以CPU时钟来计算,延时呀。

如果是定时的话,看你用什么时钟了。一般为总线,分频。

[此贴子已经被作者于2008-12-16 0:08:40编辑过]


作者: fjczd    时间: 2008-12-17 11:36

不知道PE里有没有类似的函数




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0