<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

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

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

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

         

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

        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,繼續搞

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



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

         

        參考:51hei論壇

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮