欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術(shù)學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

C語言延時子程序準確設置

作者:樊曉軍   來源:樊曉軍   點擊數(shù):  更新時間:2014年06月11日   【字體:

在給單片機寫程序的時候往往需要一個微秒或者毫秒的延時子程序,但是C語言不同于匯編,很難根據(jù)語句確定準確的延時時間,經(jīng)過各種查資料得到一種簡單實用的方法:通過keil下斷點調(diào)試確定時間。

 

就是編寫一個延時子程序,然后在延時程序處和while(1)設置斷點,運行程序,在調(diào)試模式下就可以獲得該延時子程序的準確延時時間。

1,編寫如下源程序:

#include

void delay_ms(unsigned int ms)
{
unsigned int i;
unsigned char j;
    for(i=0;i
    {
        for(j=0;j<200;j++);
        for(j=0;j<102;j++);
    }
}

void main (void)
{
delay_ms(1);

while(1);
}

 

2,下圖位置設置斷點

 

3,看哥哥怎么搞:

進入運行模式,開始運行(1處所示),程序會在延時子程序前的斷點處停下,此時記錄程序運行時間,2處所示。

4,繼續(xù)搞

再次點運行(1處所示),此時程序會在第二個斷點處,也就是while(1)停下,這時候程序剛剛運行完延時子程序,讀取此時的程序運行時間,如2所示,,二者想減就是延時子程序運行時間。如下圖:



0.00143989-0.00042209=0.0010178,約等于1mS,ok,這樣就得到你所寫的延時子程序的延時時間,準確的哦,可以在你得到的運行時間的基礎上更改數(shù)值來得到希望的延時時間。當然記得設置晶振為你所需要的,我這里是11.0592。

 

參考:51hei論壇

關閉窗口

相關文章