用for循环实现delay延时原理

void Delay10ms(unsigned int c)   //误差 0us
{
    unsigned char a,b;
    for(; c>0; c--)   //c可以不用初始化,因为默认传的参数即为初始化
        for(b=38; b>0; b--)
            for(a=130; a>0; a--);    //最后一个for循环别忘记有分号
}
 

Delay10ms(100);/表示100个10ms=1s

//计算方法:c*38*130 us

以12MHZ的晶振为例,一个for循环2个指令周期,一个指令周期1us,二个指令周期2us。