標題: 那位大佬幫我看看這單片機延時程序DelayMS怎么理解? [打印本頁]

作者: 云fei    時間: 2022-1-18 14:40
標題: 那位大佬幫我看看這單片機延時程序DelayMS怎么理解?

void DelayMS(uint ms)

{

         uchar t;

        while(ms--)

        {

                 for(t=0;t<120;t++);

        }

}





作者: xws245925587    時間: 2022-1-18 16:37
ms * 120 個循環(huán),啥都不干,干等時間來達到延時的目標,粗略延時,不精確
作者: 294479435    時間: 2022-1-18 17:12
這種代碼都是要結(jié)合硬件,結(jié)合單片機時鐘來看的,而且不精確
作者: 累不死的狗    時間: 2022-1-18 17:55
首先在主程序里面應(yīng)該給MS賦一個值(DelayMS(500)),然后進入子程序后判斷這個值是不是為零,如果不是,這個值進行一個自減,接著執(zhí)行for循環(huán),按照你的程序來說for里面執(zhí)行的是空指令,大概一個機器周期(11.0592M大概一微秒),for循環(huán)將空指令執(zhí)行120次大概就是120微秒,for執(zhí)行完成后再對ms進行判斷,依次再執(zhí)行;;如果是就結(jié)束循環(huán),跳出子函數(shù);




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1