亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4221|回復: 10
收起左側

這個延時怎樣理解?大神們。

[復制鏈接]
ID:222622 發表于 2017-8-16 15:28 | 顯示全部樓層 |閱讀模式
void DelayUs2x(unsigned char t)
{   
while(--t);
}
void DelayMs(unsigned char t)
{

while(t--)
{
     //大致延時1mS
         DelayUs2x(245);
         DelayUs2x(245);
}
}

回復

使用道具 舉報

ID:227925 發表于 2017-8-16 16:33 | 顯示全部樓層
這種延時就是通過大量的自減操作來占用MCU的時鐘周期,從而延遲后面程序的執行,在不需要精確延時的時候可以使用,另外這種辦法和主頻有關,比如36MHz、72MHz的單片機時鐘周期是不同的,所以同一條指令運行花的時間也不一樣,在其他主頻的板子上延時,參數要重新測。
回復

使用道具 舉報

ID:211901 發表于 2017-8-16 16:50 | 顯示全部樓層
t自減,t--為真時都執行while循環,知道t--小于0
回復

使用道具 舉報

ID:227393 發表于 2017-8-16 18:32 | 顯示全部樓層
--t是t先減一再判斷T是不是1,t--是先判斷再減一
回復

使用道具 舉報

ID:227821 發表于 2017-8-16 20:08 | 顯示全部樓層
誰便一本單片機入門書籍都有講吧,還需要發帖嗎?世上有百度和谷歌....
回復

使用道具 舉報

ID:220834 發表于 2017-8-17 21:36 | 顯示全部樓層
這是兩個延時函數,其中第1個延時函數的參數是t,而第2個演示函數的變量t是指while(t--),只有當t--不為0時才調用第一個延時函數。
回復

使用道具 舉報

ID:228211 發表于 2017-8-18 08:38 | 顯示全部樓層
通過循環自減來占用cpu工作。從而來實現延時。根據指令執行的周期有關
回復

使用道具 舉報

ID:226263 發表于 2017-8-18 09:15 | 顯示全部樓層
其實用定時器T0產生標志位,主函數根據時間標志位做相應的動作,單片機不用為延時停在哪里,響應更快,根本不用delay這種寫法。
void        main()
{init();
while(1)
                {if(time_flag==10)                  
                        {time_flag=0;
                        key_scan();                 
                        i++;                          
                        }
                }
}
void        T0_time()        interrupt        1                               
{                TH0=(65536-1000)/256;
                TL0=(65536-1000)%256;
                time_flag++;
}
回復

使用道具 舉報

ID:228225 發表于 2017-8-18 10:25 | 顯示全部樓層
相當于編寫了一個遞減計數器,每遞減一次耗時一個指令周期,通過設置遞減數值來實現不同的延遲時間!
回復

使用道具 舉報

ID:221628 發表于 2017-8-18 22:24 | 顯示全部樓層
軟件延時不夠準確,而且可移植性太差,具體延時多久要看你的時鐘頻率
回復

使用道具 舉報

ID:199944 發表于 2017-8-18 22:46 | 顯示全部樓層
這個簡單啊,應該是51單片機的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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