第1个回答 2012-05-17
延迟就是无限执行while语句,一直到循环退出。执行一条语句一般是1-4个机器周期,而一个机器周期由12个时钟周期组成,时钟周期就是晶振的倒数。
比如12MHz的晶振,一个语句是一个周期,那就是1/12us 乘以 12 乘以 1 ,就是a=1的延时时间,a=200就再乘以200.
第2个回答 2012-05-17
不知你用的什么型号的单片机,假设你单片机执行一条指令的时间为x,则:
1:传递的参数为200,一直减到0用200个周期
2:每减一需要判断是否减到0,汇编后为比较指令,就要用200个比较指令的周期
总共用时就是200+200*比较指令的周期
第3个回答 2012-05-17
将代码通过编译工具转成汇编指令,然后计算执行完这个函数需要多少条指令周期,根据芯片DATASHEET,计算出总共需要的时间。
第4个回答 2012-05-17
每步相当于一微妙,--a每循环一次之前自减1,所以while循环的次数为a的值,时间t=200微妙