要看你的时钟周期,如果是12Mhz的话,每个时钟周期MC=6*2/12 M =1us,所以延迟是让机器计数1000000下,上面那个公式你自己套用24Mhz的就是2000000下。c语言的循环次数你自己算,每条指令一个周期,所以楼上的程序在12Mhz下是1s延迟。
调用delay()函数
其中x,y的最大数字根据调试结果做修改,很长时间没写了。。。。
void delay()
{
int x,y;
for(x=0;x<=5000;x++)
for(y=0;y<=200;y++);
}
去网上下一个单片机 小精灵 只要你输入 晶振频率就能够给出准确的延时程序 ,记得下破解的哦。
写个for循环 在调试下就行了