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