具体延时多久,可以在keil中调试一下,看看系统运行时间! |
for(j=i;j>0;j--) for(k=110;k>0;k--); 这些都能起到延时的作用 推荐一个最基础的延时程序也用的是for语句 很多人不知道for语句的延时具体是多长时间 看一下下面的历程 unit i, j; for (i=500;i>0;i--) for(j=110;j>0;j--); 这是基础的延时函数,当最后一句中j为110固定不变的时候,i等于多少就是延时多少毫秒 例如上面的例子就是延时500毫秒 |
void delay()函数执行的就是一个延时程序,依靠单片机执行一条指令来实现的累积延时 |
解决了吗 |
有延时是因为程序执行需要时间,进入循环后一直在循环里跑,时间就一点一点跑过去了 |
小小新手的我只能复制换个排线顺序或者修改下程序逻辑 |
换个排线顺序或者修改下程序逻辑 |
for(j=i;j>0;j--) for(k=110;k>0;k--); 指令周期了解下 |
执行循环语句也会占用cpu的,即花费机器周期,也就起到了延时的作用 |
线序反了,执行空指令就是延时单纯的消耗CPU时间 |
你试着把排线调个方向插,看看效果如何~![]() |