久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

C語(yǔ)言延時(shí)子程序準(zhǔn)確設(shè)置

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

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

 

就是編寫(xiě)一個(gè)延時(shí)子程序,然后在延時(shí)程序處和while(1)設(shè)置斷點(diǎn),運(yùn)行程序,在調(diào)試模式下就可以獲得該延時(shí)子程序的準(zhǔn)確延時(shí)時(shí)間。

1,編寫(xiě)如下源程序:

#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,下圖位置設(shè)置斷點(diǎn)

 

3,看哥哥怎么搞:

進(jìn)入運(yùn)行模式,開(kāi)始運(yùn)行(1處所示),程序會(huì)在延時(shí)子程序前的斷點(diǎn)處停下,此時(shí)記錄程序運(yùn)行時(shí)間,2處所示。

4,繼續(xù)搞

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



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

 

參考:51hei論壇

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 日韩中文在线 | 成人免费观看男女羞羞视频 | 国产成人精品一区二区三区 | 国产精品久久久亚洲 | 欧美激情综合色综合啪啪五月 | 免费av手机在线观看 | 九九九国产 | 精品一区二区三区91 | 欧美一区二区三区在线播放 | 一级片av| 天天艹 | 亚洲精品二区 | 国产日韩久久久久69影院 | 亚洲欧美精品在线观看 | 国产精品亚洲精品久久 | 欧美99 | 亚洲在线一区 | 少妇精品久久久久久久久久 | 国产黄色小视频在线观看 | 一区二区三区在线播放视频 | 成人国产精品久久久 | 欧洲视频一区 | re久久| 欧美日韩在线精品 | 亚洲综合一区二区三区 | 午夜视频一区二区 | 91久久网站| 在线视频中文字幕 | 日韩久久久久久 | 国产精品欧美精品 | 精品一区二区三区在线视频 | 91在线视频国产 | 成人性视频在线 | 亚洲二区精品 | 黄色精品 | 成人久久18免费网站图片 | 亚洲国产精品一区二区第一页 | 久久aⅴ乱码一区二区三区 91综合网 | 91久久精品| 夜夜骚视频 | 蜜桃av人人夜夜澡人人爽 |