新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR單片機延時程序

        AVR單片機延時程序

        作者: 時間:2013-03-19 來源:網絡 收藏

        1.毫秒級的延時

        延時1ms;

        void delay_1ms(void)

        {

        unsigned int i;

        for(i=1;i(unsigned int)(xtal*143-2);i++)

        ;

        }

        在上式中,xtal為晶振頻率,單位為MHz.

        當晶振頻率為8M時,延時函數軟件仿真的結果為1000.25μs.當晶振頻率為4M時,延時函數軟件仿真結果為999.5μs.

        如果需要準確的1ms延時時間,則本計算公式只供參考,應通過軟件仿真后,再確定循環的次數及循環初值,并且循環中還必須關閉全局中斷,防止中斷影響延時函數的延時時間。

        下面的函數可以獲得1ms的整數倍的延時時間:

        void delay(unsigned int n)

        {

        unsigned int i;

        for(i=0;i

        delay_1ms();

        }

        如果需要準確的延時時間,則本計算公式只供參考,應通過軟件仿真后,再確定循環的次數及循環初值. AVR 延時程序

        2.微秒延時

        晶振4M,編輯器ICCAVR,芯片mega16

        //最大延時時間131.072ms

        void delay(unsigned int i) //延時時間T=2*(i+1)us其中1=

        {

        while(--i);

        }

        晶振相關文章:晶振原理

        上一頁 1 2 下一頁

        關鍵詞: AVR 單片機 延時程序

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 化德县| 淳化县| 海盐县| 外汇| 英山县| 建平县| 伊吾县| 新绛县| 凯里市| 务川| 尉犁县| 绥滨县| 红原县| 洪江市| 商洛市| 化德县| 竹北市| 区。| 城口县| 普格县| 荆门市| 林州市| 马鞍山市| 通榆县| 寿阳县| 安顺市| 虎林市| 永寿县| 泰宁县| 盐津县| 文成县| 景洪市| 依兰县| 剑阁县| 霸州市| 磐安县| 洛川县| 林甸县| 常州市| 武冈市| 保康县|