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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2069|回復: 4
打印 上一主題 下一主題
收起左側

這個單片機延時是怎么算的?求解答

[復制鏈接]
跳轉到指定樓層
樓主
ID:305703 發表于 2018-5-6 10:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
void delay(unsigned int i)        //1ms基準延時程序
{
   unsigned char j;
   while(i--)
   {
         for(j=0;j<115;j++)         
         {
          ;
         }
   }
}
為什么是1ms的延時程序呢 單片機為STC51

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

來自 5#
ID:1 發表于 2018-5-6 14:52 | 只看該作者
你可以用這個方法來確定延時時間:http://www.denmoz.com/bbs/dpj-4711-1.html
回復

使用道具 舉報

沙發
ID:323339 發表于 2018-5-6 11:51 | 只看該作者
把一個空語句執行大概115次,時間差不多是1ms,這得看你一次執行時間是多少

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:287575 發表于 2018-5-6 13:36 | 只看該作者
你用keil把它編譯完后,找到對應的匯編程序,把運行的指令的機器周期全部加起來,就知道延時多長時間了。精密計算要包含調用和返回指令

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:155507 發表于 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”的值就能調試出你程序的執行時間了。
注意,一定要先選擇晶振頻率,不然會默認24MHz。
希望我的回答能幫助到你。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表