婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 單片機 >> 正文

單片機編寫延時函數的簡單方法

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2017-5-20

  這也是大家最常在QQ里問我的一個問題,如果從keil里看了c語言的反匯編代碼然后根據晶振和指令計算延時的時間這樣雖然非常的準確但是相當的麻煩而且容易搞錯,我這里介紹一個最簡單的方法.可以驗證你的延時函數

 

   這里用一個例程詳細介紹一下。
    過程參考如下:
    在編譯器下建立一個新項目,也可以利用已有項目。此過程中需要注意,單片機晶振的選擇,因為for循環里指令的執行時間和晶振有直接關系,本例中晶振使用11.0592M。


單片機編寫延時函數的簡單方法 
 
    編寫一段關于延時的函數,主要利用for循環,代碼如下:
void delay_ms(unsigned int ms)
{
unsigned int i;
unsigned char j;
    for(i=0;i<ms;i++)
    {
        for(j=0;j<200;j++);
        for(j=0;j<102;j++);
    }

}
其中ms是輸入參數,如果輸入1,就是要求程序延時1ms。
j變量是調整程序運行的時間參數。調整j的數值,使1次循環的時間在1ms。
    將此程序編譯通過,然后利用軟件仿真,調整時間。

單片機編寫延時函數的簡單方法 

下面這個sec就是程序運行到現在的這一行所用的時間。

單片機編寫延時函數的簡單方法 

  兩次時間差就是延時函數使用的時間,如果與1ms相差比較多,用戶可以調整j參數的值,使延時時間盡量接近1ms。如增大j的值for(j=0;j<105;j++);
    此方法得出延時函數,在晶振不同的情況下,延時時間會不準。軟件調試結果,這個程序的延時時間為:1.01779ms,一般的單片機系統中都可以應用。

 

下面來說說匯編的傳統計算方法:

 

指令周期、機器周期與時鐘周期
       指令周期:CPU執行一條指令所需要的時間稱為指令周期,它是以機器周期為單位的,指令不同,所需的機器周期也不同。
       時鐘周期:也稱為振蕩周期,一個時鐘周期 =晶振的倒數。
       MCS-51單片機的一個機器周期=6個狀態周期=12個時鐘周期。
       MCS-單片機的指令有單字節、雙字節和三字節的,它們的指令周期不盡相同,一個單周期指令包含一個機器周期,即12個時鐘周期,所以一條單周期指令被執行所占時間為12*(1/12000000)=1us。

了解了上面這些我們來看一個例子

;============延時1秒子程序========================
DELAY_1S:         ;延時子程序,12M晶振延時1.002035秒
MOV R4,#10
L3: MOV R2 ,#200  ;1指令周期
L1: MOV R3 ,#249  ;1指令周期
L2: DJNZ R3 ,L2     ;2指令周期
DJNZ R2 ,L1          ;2指令周期
DJNZ R4 ,L3          ;2指令周期
RET                      ;2指令周期
;循環體延時時間: [(249*2+1+2)*200+1+2]*10*12/12000000=1.002030s
;加上ACALL指令和第一條mov指令以及最后一條RET指令算出來整個函數的時間為1.002035s
;===================================================
通常選用的是11.0592MHZ的晶振:
[(249*2+1+2)*200+1+2]*10*12/11059200=1.08727213541666666...S

匯編延時子程序的延時計算問題
對于程序
DELAY:  MOV R0,#00H
DELAY1: MOV R1,#0B3H
DJNZ R1,$
DJNZ R0,DELAY1

  查指令表可知 MOV一個機器周期,DJNZ 指令需用兩個機器周期,而一個機器周期時間長度為12/11.0592MHz,所以該段程序執行時間為:

((0B3×2+1+2)×256+1)×12÷11059200=100.2789mS

  第一層:DJNZ R1,$:執行了B3H次,一次兩個周期,所以為0B3×2;

  第二層:MOV R1,#0B3H為一個周期,DJNZ R0,DELAY1為兩個周期,這樣循環一次就是0B3×2+1+2個周期;第二層的執行次數本來是255次,但因為賦首值為0,而DJNZ是先減1,再比較的,所以就應該是256次。

  這樣的話,整個循環執行完應該是(0B3×2+1+2)×256+1次。再加上開始賦值這一句,就是((0B3×2+1+2)×256+1)了

 

 

還說明一下:

nop指令或者_nop_(); 函數占一個機器周期,
   在stc單片機的12T模式下一個機器周期是一個振蕩周期的12分頻,如果你的晶振是12MHZ,那你的一個機器周期就是1微秒.一個nop指令的執行時間也就是1US

   當在6T模式(下載的時候可選擇模式)下12M晶振的時候,一個nop就是0.5US了.

Tags:編寫延時函數的簡單方法,單片機教程,延時函數  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個字
[ 查看全部 ] 網友評論
關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢
婷婷亚洲天堂影院-国产精品豆花视频www-伊人影院在线观看-日本少妇浓毛bbwbbwbbw-av网站观看-亚州欧美在线-91精品国产乱码久-任我爽精品视频在线播放-日本视频不卡-亚洲国产精品va在线观看香蕉-国产毛片乡下农村妇女-国产成人免费ā片在线观看老同学-欧美日韩免费在线-成人无码视频免费播放-色综合美女-免费毛片av
<button id="4i884"></button>
  • <abbr id="4i884"><source id="4i884"></source></abbr>
  • <code id="4i884"><tr id="4i884"></tr></code>
  • <rt id="4i884"></rt>
    <li id="4i884"></li>
  • <rt id="4i884"><tr id="4i884"></tr></rt>
  • 国产精品拍拍拍| 色七七在线观看| 波多野结衣激情| 三级av免费看| 久久久久xxxx| 北条麻妃亚洲一区| 国产人妻互换一区二区| 中文字幕第22页| 欧洲美女和动交zoz0z| 亚洲一区二区图片| 无码人妻aⅴ一区二区三区日本| 亚洲免费黄色录像| 中国黄色录像片| 国产一区二区三区小说| 久久久亚洲精品无码| 日本精品www| 亚洲福利精品视频| 日韩视频一二三| 亚洲精品无码国产| 久久国产成人精品国产成人亚洲| 虎白女粉嫩尤物福利视频| 苍井空浴缸大战猛男120分钟| 日本www高清视频| 亚洲第一区第二区第三区| 特级毛片在线免费观看| 国产日本在线播放| 国产精品区在线| 国产九色porny| www.xxx亚洲| 五月天色婷婷综合| 黑人糟蹋人妻hd中文字幕| 超碰超碰在线观看| 福利视频一区二区三区四区| 激情内射人妻1区2区3区| 超碰91在线播放| 日韩av播放器| 999久久欧美人妻一区二区| 日韩中文字幕三区| 亚洲免费在线播放视频| 亚洲精品无码久久久久久| 欧美aaa在线观看| 亚洲五月天综合| 被灌满精子的波多野结衣| 一道本在线免费视频| 精品少妇一区二区三区在线| 91制片厂毛片| 18岁网站在线观看| 永久免费看av| 红桃视频 国产| 国产精品igao| 国产淫片av片久久久久久| 熟女视频一区二区三区| 丁香婷婷激情网| 国产精品秘入口18禁麻豆免会员 | 五月婷婷六月丁香激情| 9久久9毛片又大又硬又粗| 国产树林野战在线播放| 亚洲精品www.| 亚洲77777| 少妇激情一区二区三区| 99久久激情视频| 国产无套内射久久久国产| 日本xxxxxxxxxx75| 欧美做暖暖视频| 一级性生活视频| 国产情侣第一页| 国产在线观看欧美| 免费网站永久免费观看| 无码人妻精品一区二区蜜桃百度| 91插插插影院| 三级在线免费观看| 欧美性潮喷xxxxx免费视频看| 91aaa精品| 国产传媒久久久| 少妇av一区二区三区无码| h无码动漫在线观看| 亚洲 自拍 另类小说综合图区| 国产一二三区在线播放| 妞干网这里只有精品| 国产情侣第一页| 久久精品免费一区二区| 免费日韩视频在线观看| 国产日韩欧美久久| 无套内谢丰满少妇中文字幕| 300部国产真实乱| 看av免费毛片手机播放| 天天操天天爽天天射| www.污网站| 国产天堂视频在线观看| 日韩人妻精品无码一区二区三区| jizz欧美激情18| 国产999免费视频| cao在线观看| 亚洲欧美自拍另类日韩| 青青草综合视频| chinese少妇国语对白| 特级毛片在线免费观看| 日本福利视频在线| 国内外成人免费在线视频| 激情六月天婷婷| 白嫩少妇丰满一区二区| 无套内谢丰满少妇中文字幕| 精品久久一二三| www.五月天色| 亚洲欧美另类动漫| 国产 日韩 欧美在线| 精品久久久99| 色欲av无码一区二区人妻| 波多野结衣在线免费观看| 欧美日韩在线一| 一级黄色片在线免费观看| 久久视频这里有精品| 久久免费看毛片| 欧美亚洲日本在线观看| 欧美视频免费看欧美视频| 99re6在线观看| 99视频精品免费| 欧美亚洲日本一区二区三区| 香蕉视频xxxx| 成 人 黄 色 小说网站 s色| 欧美色图另类小说| 日本熟妇人妻xxxx| 黄色特一级视频| 国产精品美女在线播放| 日韩一区二区三区不卡视频| 欧美大片在线播放| 97视频在线免费| 亚洲色欲久久久综合网东京热| 亚洲在线观看网站| 三级黄色片免费看| 欧美大片久久久| 国产成人强伦免费视频网站| 九九热99视频| 欧美日韩亚洲国产成人| 天堂av在线8| av动漫免费观看| 青春草在线视频免费观看| 国产精品igao网网址不卡| 亚洲一级片免费观看| 永久免费在线看片视频| 欧美美女黄色网| 精品久久久久久无码中文野结衣| 日本男女交配视频| 秋霞无码一区二区| 干日本少妇首页| 午夜激情av在线| 中国黄色录像片| 欧美精品一区二区三区三州| 欧美日韩二三区| 日韩av片网站| 国产日本欧美在线| 日韩网站在线免费观看| 免费在线观看亚洲视频| 久久国产亚洲精品无码| 天天爽人人爽夜夜爽| 色香蕉在线观看| 黄页网站大全在线观看| 中文字幕欧美人妻精品一区| 最新天堂在线视频| 久久男人资源站| 青青草av网站| 国产av熟女一区二区三区 | 波多野结衣xxxx| 黄色特一级视频| 国产在线观看福利| 黄瓜视频免费观看在线观看www | 亚洲最大综合网| 国产精品第157页| 九色porny91| 激情视频小说图片| a在线观看免费视频| 成人国产在线看| 天天插天天操天天射| 欧美视频在线观看视频| 国产色视频在线播放| 欧美老熟妇喷水| 欧美另类videos| www.com黄色片| 欧美精品久久久久久久久久久| 粉色视频免费看| 欧美牲交a欧美牲交aⅴ免费真| 一级一片免费播放| 91插插插插插插插插| 丰满人妻中伦妇伦精品app| 黄黄视频在线观看| 红桃视频 国产| 日韩大片一区二区| 免费在线观看毛片网站| 日本a在线天堂| 老司机午夜网站| 黄色网zhan| 法国空姐在线观看免费| 91网址在线观看精品| 婷婷丁香激情网| 国产wwwxx| 性生活免费在线观看| 黄色国产小视频| 波多结衣在线观看| 伊人影院综合在线| 999这里有精品|