我在学单片机C语言,其中有延时语句,请问for(i=0;i<120;i++);这个语句执行用的时间是多少啊?

如题所述

第1个回答  2012-11-15
用12MHz的晶振的话,其延时大概是1ms。其实for (i=0;i<124;i++);更接近1ms。
第2个回答  2012-11-15
那要看你的用的晶振是多大的,再算出来一条语句执行的时间*120就是这个延时程序执行的时间追问

12M

追答

(1/12000000) * 120 S

第3个回答  2012-11-16
for(i=0;i<120;i++);
等价于
CLR A
MOV R7,A
LOOP:
INC R7
CJNE R7,#120,LOOP追问

啊!所答非所问啊!

追答

自己把我写的汇编所用时间算出来就是for(i=0;i<120;i++);所用时间了

追问

每个指令用时是多少?

追答

1+1+120*(1+2)=362个机器周期,机器周期=12/晶振频率,12M就是1us

本回答被提问者和网友采纳
第4个回答  2012-11-15
你可以用debug调试,一步一步的看 看整个循环用去了多久的时间
相似回答