延时子程序: void delay(void) { unsigned int i,j; for(i=0;i<500;i++) { for(j=0;j<121;j++) {;;} } }

2025-02-24 06:53:10
推荐回答(2个)
回答1:


这个延时函数是针对特定单片机写的,在该芯片上for(j=0;j<120;j++);的执行时间刚好是1ms,这样的话这个函数就会延时count毫秒。
这类延时方法的具体计算方法是,查看该芯片的主频等,确定执行一条指令的时间,因为编译器编译循环产生的指令序列是可以确定的,故可以计算延时指定时间需要执行多少条相应指令,然后写成相应大小的循环即可。

回答2:

是I<500还是=500?如果 是<500,就是i 的初值为0 ,小于500时,循环,加1 .
同上,小于121时,循环,加1 。