51单片机 运行代码时间
时间:10-02
整理:3721RD
点击:
学了一段51单片机,小有体会。不过有些东西还是不是很明白,来请教大神来了
如计算延迟时间,
汇编:MOV R1, #60
DJNZ R1, $
延迟时间为 2+2*60ms=122ms(晶振为12MHZ)
C语言:for(i=60,i>0,i--);
如果用C来编写,如上句,执行完这条指令所花的时间为多少?(晶振12MHZ)
如计算延迟时间,
汇编:MOV R1, #60
DJNZ R1, $
延迟时间为 2+2*60ms=122ms(晶振为12MHZ)
C语言:for(i=60,i>0,i--);
如果用C来编写,如上句,执行完这条指令所花的时间为多少?(晶振12MHZ)
说了半天就一个问题,执行一条for语句需要花多长时间
实话告诉你,没人知道,需要你去测量,C在生成hex文件的时候需要编译器反汇编,同样一句C代码,不同的编译器反汇编的结果是不一样的,所以要具体知道延时多久需要用辅助工具进行测试
如何真是这样子的话,想要用for循环来实现非精确的时间还不行啊!
不是不可以,但是和概念中的有出入,最好用示波器去测量