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

專注電子技術學習與研究
當前位置:單片機教程網 >> 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論壇

關閉窗口

相關文章

主站蜘蛛池模板: 国产精品视频久久 | 天堂男人av | 91精品观看 | 国产成人高清成人av片在线看 | 91精品国产91久久久久久吃药 | 欧美精品一区三区 | 日日操操操| 无码一区二区三区视频 | 欧美精品一区二区三区在线四季 | 一级在线视频 | 午夜影院在线观看 | 超碰人人91 | 久久91| 中文字幕一区在线观看视频 | 欧美一级特黄aaa大片在线观看 | 亚洲一区电影 | 黄色片在线观看网址 | 中文字幕在线精品 | 99色综合| 色爱综合网 | 久久久久国产精品一区二区 | 一区二区三区中文字幕 | 国产精品久久久久久久久久 | 99久久精品免费看国产四区 | 中文字幕在线三区 | 欧美在线一区视频 | 亚洲精品久久久久久久久久久 | 男女免费观看在线爽爽爽视频 | 91欧美激情一区二区三区成人 | 久久九七| 欧美一区二区小视频 | 亚洲女人天堂成人av在线 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 亚洲一区二区三区在线视频 | 中文在线日韩 | 99精品一区二区 | 鸳鸯谱在线观看高清 | 在线中文视频 | 国产美女h视频 | 欧美成人精品一区二区男人看 | 黄网站在线播放 |