如果你想直接知道答案,那么我告訴你,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”,都是調試過的,沒問題。
然后你要想知道是怎么調試的,很簡單,打開uv2編程軟件,在最上邊的工具欄里邊有個“Debug”,點擊后出現下拉菜單,選擇第一個“start/stop Debug Session”,然后在最右邊有一個Watch欄,有兩個項目,一個是“Register”,一個是“value”,然后在“Register”欄下邊的“Sys”里邊有個“sec”,你只要單擊“Step over”運行程序并觀察“sec”的值就能調試出你程序的執行時間了。
注意,一定要先選擇晶振頻率,不然會默認24MHz。
希望我的回答能幫助到你。
|