精品精品国产自在久久-人妻少妇精品久久中文字幕-精品人妻一区二区三区久久免费-人妻一区二区视频在线观看

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> 【51單片機(jī)】延時函數(shù)計算問題以及如何準(zhǔn)確延時

【51單片機(jī)】延時函數(shù)計算問題以及如何準(zhǔn)確延時

關(guān)鍵字:51單片機(jī) 延時函數(shù) 準(zhǔn)確延時 作者:admin 來源:不詳 發(fā)布時間:2018-05-18  瀏覽:33

幾種周期介紹

周期名稱描述時間
振蕩(時鐘)單片機(jī)提供時鐘脈沖信號的振蕩源的周期T=1/f
狀態(tài)振蕩周期經(jīng)二分頻后得到的2T
機(jī)器在一個機(jī)器周期內(nèi),CPU可以完成一個獨立的 操作12T
指令指CPU完成一條操作所需的全部時間12-12nT

指令:

1、MUL、DIV:僅有的4周期指令

2、包含DPTR和PC的指令均為2周期指令

3、所有的絕對跳轉(zhuǎn)和條件轉(zhuǎn)移指令,均為2周期指令

4、所有包括A寄存器的指令,均為單周期指令

5、位操作指令中,ANL和ORL是2周期指令

6、所有包含立即地址的指令,除INC direct及DEC direct外,均為2周期指令

7、剩下的均為單周期指令。

STC-ISP軟件查看各操作用時以及延時函數(shù)

 

_nop_函數(shù)可以在keil軟件的C51->HLP->C51lib.chm文檔中查閱 (授人以魚不如授人以漁)

 

延時函數(shù)計算

示例:

[cpp] view plain copyvoid delay(uint z)

{

uint i,j;

for(i=z;i>0;i--)

for(j=0;j<921;j++);

}

分析:

1.先計算你單片機(jī)的振蕩(時鐘)周期 T= 1/晶振(11.0592MHZ)

2.一次i--操作為12T

3.忽略變量定義,上述延時函數(shù)共需時間:921*z*12T

4.帶入T:921*12*T*z 約為 z ms

計算出現(xiàn)誤差的原因

1.軟件仿真時,函數(shù)調(diào)用的時候入棧出棧操作的耗時。

2.指令周期隨指令的不同而不同導(dǎo)致的誤差。

3.中斷的影響。

4.變量的范圍超過,從而與預(yù)計時間不一樣。

所以實際上我們應(yīng)該只能算出估計值,根據(jù)最開始周期的信息來計算延時函數(shù)中延時的時長。

編輯:admin  最后修改時間:2018-05-18

聯(lián)系方式

0755-82591179

郵箱:ivy@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A09

Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4