在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            c51的精確延時(shí)

            作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
            用c語言為單片機(jī)編程無疑十分節(jié)約時(shí)間,可在很短的時(shí)間內(nèi)開發(fā)出較高效的代碼,對于程序的維護(hù)和擴(kuò)充也較匯編語言方便許多。

            但c語言也有它的不足之處,那就是在時(shí)間的精確控制上。要想用c實(shí)現(xiàn)精確的延時(shí),只能把c的函數(shù)編譯成匯編語言,然后按照匯編語言計(jì)算其執(zhí)行時(shí)間。本人就按照這種方法,編寫了幾個(gè)51單片機(jī)的c語言精確延時(shí)函數(shù)。

            本文引用地址:http://www.biyoush.com/article/201611/322200.htm

            注:1.編譯軟件為"Keil uVision3"(Keil uVision2也試用)。用其他編譯軟件的話就不準(zhǔn)了。

            2.需要包含頭文件

            3.所有函數(shù)的延時(shí)時(shí)間都是在12Mhz晶振下計(jì)算的,如用其他晶振需進(jìn)行換算。

            4.函數(shù)的執(zhí)行時(shí)間為“函數(shù)的參數(shù)”乘以精確到的時(shí)間。例如delayms(unsigned char n)函數(shù),其精確度為1ms,如果寫入語句delayms(4),那就是延時(shí)4ms。

            5.計(jì)算出來的延時(shí)時(shí)間不包括函數(shù)調(diào)用與返回的時(shí)間。如果函數(shù)的精確度較高,且參數(shù)較小,那么實(shí)際延時(shí)時(shí)間就可能與計(jì)算的時(shí)間差很遠(yuǎn)。

            (1)精確到2us的延時(shí)(12MHz)

            void delayus(unsigned char n)

            { while(--n);

            }

            (2)精確到100us的延時(shí)(12MHz)

            void delay100us(unsigned char n)

            { unsigned char i;
            for(;n;n--)
            { _nop_();
            for(i=46;i;i--);
            }
            }

            (3)精確的半毫秒延時(shí)函數(shù)(12MHz)

            void delay1_2ms(unsigned char n)

            { unsigned char i;
            for(;n!=0;n--)
            { _nop_();
            for(i=246u;i!=0;i--);
            }
            }

            (4)精確的毫秒延時(shí)函數(shù)(12MHz)

            void delayms(unsigned char n)

            { unsigned char i;
            for(;n!=0;n--)
            { for(i=248u;i!=0;i--);
            for(i=248u;i!=0;i--);
            }
            }



            關(guān)鍵詞: c51精確延

            評論


            技術(shù)專區(qū)

            關(guān)閉