51單片機中的周期
1、時鐘周期,也稱為振蕩周期:定義為時鐘脈沖的倒數(shù),在單片機中也就等于晶振的倒數(shù)。
本文引用地址:http://m.butianyuan.cn/article/201611/323488.htm51單片機中把一個時鐘周期定義為一個節(jié)拍(用P表示),2個節(jié)拍定義為狀態(tài)周期(用S表示)
時鐘周期是單片機中最小的時間單位。
eg:12M晶振的單片機,時鐘周期=振蕩周期=1/12 us。
2、機器周期:定義為完成一項基本操作所需要的時間,稱為機器周期。
在計算機中,為了方便管理,把一條指令的執(zhí)行過程分為若干個階段,每個階段去執(zhí)行一項基本操作。
如:取指令,存儲器讀,存儲器寫等。
在51單片機中1個機器周期由6個狀態(tài)周期組成,也就是12個時鐘周期=12 x 1/12 us =1 us
定義機器周期是因為時鐘周期時間太短,根本做不了什么。
3、指令周期:定義為執(zhí)行一條指令所需的時間。
通常,包含一個機器周期的指令稱為單周期指令,比如 MOV指令,CLR指令等。
包含兩個機器周期的指令稱為雙周期指令。
另外還有四周期指令。
判斷指令是單周期指令還是雙周期指令,最可靠的是查指令表。我在網(wǎng)上找到了一個規(guī)律總結(jié),
此規(guī)律應按照順序進行判斷,前一條原則高于后一條(主要指2~6),按順序檢查到哪一條滿足,就歸屬哪
一類:
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、剩下的均為單周期指令。
現(xiàn)在,常用的單片機程序編寫軟件為keil,當寫好程序后,我們可以通過軟件調(diào)試來確定程序執(zhí)行所需的時間,同時也能看到每條指令:
評論