|
如果你想直接知道答案,那么我告訴你,12MHz晶振:
void delayms(unsigned int t)
{
unsigned int i,j;
for(i=t;i>0;i--)
for(j=123;j>0;j--);
}
能精確到1ms。
如果是11.0592MHz晶振,只需把上面的“j=123”改為“j=114”,都是調(diào)試過(guò)的,沒(méi)問(wèn)題。
然后你要想知道是怎么調(diào)試的,很簡(jiǎn)單,打開(kāi)uv2編程軟件,在最上邊的工具欄里邊有個(gè)“Debug”,點(diǎn)擊后出現(xiàn)下拉菜單,選擇第一個(gè)“start/stop Debug Session”,然后在最右邊有一個(gè)Watch欄,有兩個(gè)項(xiàng)目,一個(gè)是“Register”,一個(gè)是“value”,然后在“Register”欄下邊的“Sys”里邊有個(gè)“sec”,你只要單擊“Step over”運(yùn)行程序并觀察“sec”的值就能調(diào)試出你程序的執(zhí)行時(shí)間了。
注意,一定要先選擇晶振頻率,不然會(huì)默認(rèn)24MHz。
希望我的回答能幫助到你。
|
評(píng)分
-
查看全部評(píng)分
|