51微控制器的各種週期
宣告:
以下內容均來自各個網站上的搜尋 如有冒犯各位大哥大姐大仙們的地方 請立刻聯絡我 馬上刪除 純粹為了學習 嘿嘿 還有一點是為了裝個X
因為最近在學80c51微控制器 雖然以前學過一點 但是理論知識還是很不紮實 這次學的時候順帶紮實一下細節的理論吧 畢竟將來還想做一個人民教師呢 哈哈哈
說一下微控制器中最基本的幾個週期之間的關係 以及對他們的定義理解吧
名詞: 振盪週期 時鐘週期 狀態週期 機器週期 指令週期
1:先來說一下振盪週期和時鐘週期 其實呢 時鐘週期在51微控制器裡面來說 就是振盪週期但是在其他微控制器裡面來說不是!!!(如果微控制器晶振出來的頻率沒有經過分頻就直接作為CPU的頻率 那麼這時候 晶振週期=振盪週期=時鐘週期) 對微控制器來說 時鐘週期是其基本的時間單位!ok吧 不過我在網上也看到有人說一個時鐘週期等於兩個振盪週期 不知道是什麼鬼 我覺得這樣理解就挺好的 管他對不對 哈哈哈
振盪週期(oscillating period)
在衰減振盪中,兩個相鄰同方向峰值之間的時間稱為振盪週期Tp,振盪頻率2π/Tp。在相同衰減比下,振盪週期越短或振盪頻率越高,則回覆時間越短,因此振盪週期(頻率)反映系統響應快慢的指標。
2:狀態週期 在8051微控制器中把一個時鐘週期定義為一個節拍(用P表示),二個節拍定義為一個狀態週期(用S表示)。即兩個時鐘週期=狀態週期
3:機器週期 機器週期,一般也叫CPU週期。在計算機中,為了便於管理,常把一條指令的執行過程劃分為若干個階段(如,取指令、儲存器讀、儲存器寫等),每一階段完成一項工作(稱為一個基本操作)。完成一個基本操作所需要的時間稱為機器週期。一般情況下,一個機器週期由若干個S週期(狀態週期)組成。
在51微控制器中 一個機器週期=6狀態週期=12時鐘週期
4:指令週期 指令週期是執行一條指令所需要的時間,即CPU從記憶體取出一條指令並執行這條指令的時間總和。一般由若干個機器週期組成,從取指令、分析指令到執行完所需的全部時間。指令不同,所需的機器週期數也不同。對於一些簡單的的單位元組指令,在取指令週期中,指令取出到指令暫存器後,立即譯碼執行,不再需要其它的機器週期。對於一些比較複雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器週期。通常含一個機器週期的指令稱為單週期指令,包含兩個機器週期的指令稱為雙週期指令。
最後 在學中斷的時候 在INT0中的觸發方式的時候 說CPU在每個機器週期的S5P2的時候對INT0引腳取樣 這裡的S5P2 是什麼呢 嘿嘿 容我把百度的答案拿過來
1、每個狀態週期有P1和P2兩個相,每個相佔一個振盪週期,故一個機器週期為12個振盪週期.
2、在每個時鐘週期(即機器狀態時間S)的前半週期,相位1(即P1訊號)有效,在每個時鐘週期的後半週期,相位2(即P2訊號)有效。
3、每個時鐘週期(S)有兩個節拍即相位P1和P2(可理解為P1:高電平,P2:低電平),CPU以兩相時鐘P1和P2為基本節拍指揮8051各們部件協調工作。
PS:因此,S5P2: 第5個時鐘週期的相位2(後半拍)。