51單片機(jī)中的周期
1、時(shí)鐘周期,也稱(chēng)為振蕩周期:定義為時(shí)鐘脈沖的倒數(shù),在單片機(jī)中也就等于晶振的倒數(shù)。
本文引用地址:http://www.ex-cimer.com/article/201611/323488.htm51單片機(jī)中把一個(gè)時(shí)鐘周期定義為一個(gè)節(jié)拍(用P表示),2個(gè)節(jié)拍定義為狀態(tài)周期(用S表示)
時(shí)鐘周期是單片機(jī)中最小的時(shí)間單位。
eg:12M晶振的單片機(jī),時(shí)鐘周期=振蕩周期=1/12 us。
2、機(jī)器周期:定義為完成一項(xiàng)基本操作所需要的時(shí)間,稱(chēng)為機(jī)器周期。
在計(jì)算機(jī)中,為了方便管理,把一條指令的執(zhí)行過(guò)程分為若干個(gè)階段,每個(gè)階段去執(zhí)行一項(xiàng)基本操作。
如:取指令,存儲(chǔ)器讀,存儲(chǔ)器寫(xiě)等。
在51單片機(jī)中1個(gè)機(jī)器周期由6個(gè)狀態(tài)周期組成,也就是12個(gè)時(shí)鐘周期=12 x 1/12 us =1 us
定義機(jī)器周期是因?yàn)闀r(shí)鐘周期時(shí)間太短,根本做不了什么。
3、指令周期:定義為執(zhí)行一條指令所需的時(shí)間。
通常,包含一個(gè)機(jī)器周期的指令稱(chēng)為單周期指令,比如 MOV指令,CLR指令等。
包含兩個(gè)機(jī)器周期的指令稱(chēng)為雙周期指令。
另外還有四周期指令。
判斷指令是單周期指令還是雙周期指令,最可靠的是查指令表。我在網(wǎng)上找到了一個(gè)規(guī)律總結(jié),
此規(guī)律應(yīng)按照順序進(jìn)行判斷,前一條原則高于后一條(主要指2~6),按順序檢查到哪一條滿(mǎn)足,就歸屬哪
一類(lèi):
1、MUL、DIV:僅有的4周期指令
2、包含DPTR和PC的指令均為2周期指令
3、所有的絕對(duì)跳轉(zhuǎn)和條件轉(zhuǎn)移指令,均為2周期指令
4、所有包括A寄存器的指令,均為單周期指令
5、位操作指令中,ANL和ORL是2周期指令
6、所有包含立即地址的指令,除INC direct及DEC direct外,均為2周期指令
7、剩下的均為單周期指令。
現(xiàn)在,常用的單片機(jī)程序編寫(xiě)軟件為keil,當(dāng)寫(xiě)好程序后,我們可以通過(guò)軟件調(diào)試來(lái)確定程序執(zhí)行所需的時(shí)間,同時(shí)也能看到每條指令:
評(píng)論