亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標題: 這個單片機延時是怎么算的?求解答 [打印本頁]

作者: 不想12453    時間: 2018-5-6 10:17
標題: 這個單片機延時是怎么算的?求解答
void delay(unsigned int i)        //1ms基準延時程序
{
   unsigned char j;
   while(i--)
   {
         for(j=0;j<115;j++)         
         {
          ;
         }
   }
}
為什么是1ms的延時程序呢 單片機為STC51


作者: a1076702593    時間: 2018-5-6 11:51
把一個空語句執(zhí)行大概115次,時間差不多是1ms,這得看你一次執(zhí)行時間是多少
作者: zhangxiaozi    時間: 2018-5-6 13:36
你用keil把它編譯完后,找到對應的匯編程序,把運行的指令的機器周期全部加起來,就知道延時多長時間了。精密計算要包含調用和返回指令
作者: angmall    時間: 2018-5-6 14:46
如果你想直接知道答案,那么我告訴你,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”的值就能調試出你程序的執(zhí)行時間了。
注意,一定要先選擇晶振頻率,不然會默認24MHz。
希望我的回答能幫助到你。

作者: admin    時間: 2018-5-6 14:52
你可以用這個方法來確定延時時間:http://www.denmoz.com/bbs/dpj-4711-1.html




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