婷婷亚洲天堂影院-国产精品豆花视频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天堂一区二区三区| 久久久久久久久久久久久国产| 天天操天天摸天天爽| 日韩av.com| 美女黄色片视频| 日本一二区免费| www欧美激情| 午夜啪啪福利视频| 中国黄色片一级| 五月天中文字幕在线| av中文字幕av| 成人不卡免费视频| 50路60路老熟妇啪啪| 五月婷婷六月丁香激情| 成年网站免费在线观看| www.射射射| 国产欧美精品aaaaaa片| 麻豆md0077饥渴少妇| 日韩精品在线播放视频| 日韩福利视频在线| 亚洲中文字幕无码不卡电影| 欧美日韩成人免费视频| caoporm在线视频| 伊人国产在线视频| 手机精品视频在线| 男女高潮又爽又黄又无遮挡| 妞干网在线免费视频| 超碰免费在线公开| 一级做a免费视频| 精品91一区二区三区| 菠萝蜜视频在线观看入口| 欧美精品一区免费| 成人精品视频在线播放| 成年丰满熟妇午夜免费视频| 中国黄色片一级| 天天做天天躁天天躁| 午夜啪啪福利视频| 国产日韩第一页| 日韩美女爱爱视频| 黄色一级片av| 日本aa在线观看| www.com操| 亚洲黄色网址在线观看| 亚洲自偷自拍熟女另类| 黄大色黄女片18第一次| 国产91美女视频| 一级黄色片国产| 亚洲自拍第三页| 欧美精品在欧美一区二区| 五月婷婷六月合| 日本激情视频在线播放| 国产成人无码一二三区视频| 第四色婷婷基地| 天天操夜夜操很很操| 你懂的av在线| 一道本视频在线观看| 欧美 日韩精品| 亚洲色图欧美自拍| 性欧美videossex精品| 国产一线二线三线女| 国产a级片网站| 91视频免费版污| 国产精品亚洲天堂| 精品日韩在线播放| 亚洲熟妇无码av在线播放| 国产97在线 | 亚洲| www.-级毛片线天内射视视| 午夜在线观看av| 在线观看高清免费视频| 亚洲污视频在线观看| 国产精品自在自线| 在线免费视频a| 精品中文字幕av| www插插插无码视频网站 | 欧美国产日韩激情| 国产一二三四五| 精品国产一区二区三区在线| 天天爽天天爽夜夜爽| 国产手机免费视频| 中文字幕天天干| 少妇一晚三次一区二区三区| 蜜桃传媒一区二区三区| 亚洲成人动漫在线| 国产无遮挡猛进猛出免费软件 | 黄色三级视频片| www.国产在线播放| www.浪潮av.com| 亚洲天堂网站在线| 久久人人爽av| 强开小嫩苞一区二区三区网站 | 8x8x最新地址| 日韩在线第三页| 久久国产成人精品国产成人亚洲| 亚洲涩涩在线观看| 天天视频天天爽| 亚洲欧美国产中文| 18禁免费无码无遮挡不卡网站| 欧洲av无码放荡人妇网站| 水蜜桃在线免费观看| 国产一线二线三线在线观看| 成人黄色av片| www插插插无码视频网站| 国产精品欧美激情在线观看| 午夜xxxxx| 天天爽人人爽夜夜爽| 狠狠热免费视频| 国产一级免费大片| 伊人精品视频在线观看| 宅男噜噜噜66国产免费观看| 天天干天天操天天做| 成年人免费观看的视频| 精品国产成人av在线免| 国产精品无码一本二本三本色| av高清在线免费观看| 欧美成年人视频在线观看| 99久久99精品| 久久久精品在线视频| 国产 日韩 欧美在线| 成人国产在线看| 青青草久久伊人| 欧美一级黄色影院| 精品少妇在线视频| 亚洲五码在线观看视频| 中文字幕 欧美日韩| 毛片在线视频观看| 99久久国产宗和精品1上映| 久久精品午夜福利| 亚洲第一综合网站| 日本www.色| 欧日韩免费视频| 2021国产视频| 日韩在线第三页| 国产原创中文在线观看| 成人性视频欧美一区二区三区| 黄色影院一级片| 草草久久久无码国产专区| 欧美精品无码一区二区三区| 最新中文字幕久久| 好吊色视频988gao在线观看| 亚洲中文字幕无码中文字| 手机在线国产视频| 国产一区二区三区播放| 日韩肉感妇bbwbbwbbw| 黄色激情在线视频| 亚洲av首页在线| 国产3p露脸普通话对白| 69堂免费视频| 丰满女人性猛交| 麻豆tv在线播放| 国内精品在线观看视频| 欧美成人手机在线视频| 亚洲精品视频三区| 99精品视频网站| 精品久久久久久无码中文野结衣| 中文字幕精品在线播放| 亚洲免费黄色录像| 一级淫片在线观看| 91丝袜超薄交口足| 欧美日韩亚洲自拍| 成人一区二区av| 日本xxxx黄色| 热久久最新网址| 免费看涩涩视频| 中国一级大黄大黄大色毛片| 成人在线观看你懂的| 免费成人在线视频网站| 国产精品视频分类| 欧美 国产 日本| 欧美 国产 精品| 精品人妻少妇一区二区| 色婷婷一区二区三区在线观看| 吴梦梦av在线| 国产精品-区区久久久狼| 欧美精品久久久久久久久久久| 色一情一乱一乱一区91| 在线a免费观看| 色天使在线观看| 日韩手机在线观看视频| www在线观看免费| 国产a级一级片| 亚洲 高清 成人 动漫| 成人一区二区av| 丰满人妻中伦妇伦精品app| 日韩av片在线看| 天天干天天操天天做| 免费看黄在线看| 黄网站色视频免费观看| 性高湖久久久久久久久aaaaa| 欧美精品一区免费| 欧美一级视频在线播放| 日韩精品视频久久| 性高湖久久久久久久久aaaaa| 天天碰免费视频| 天堂av免费看| 91大学生片黄在线观看|