Ⅰ 51單片機時鍾周期,機器周期,指令周期如何定義的
時鍾周期:
時鍾周期也稱念讓為振盪周期,定義為時鍾脈沖的倒數(可以這樣來理解,時鍾周期就是單片機外接晶振的倒數,例如12M的晶振,它的時間周期就是1/12 us),是計算機中最基本的、最小的時間單位。 在一個時鍾周期內,CPU僅完成一個最基本的動作。對於某種單片機,若採用了1MHZ的時鍾頻率,則時鍾周期為1us;若採用4MHZ的時鍾頻率,則時鍾 周期為250us。由於時鍾脈沖是計算機的基本工作脈沖,它控制著計算機的工作節奏(使計算機的每一步都統一到它的步調上來)。顯然,對同一種機型的計算 機,時鍾頻率越高,計算機的工作速度就越快。 8051單片機把一個時鍾周期定義為一個節拍(用P表示),二個節拍定義為一個狀態周期(用S表示)。
機器周期:
在計算機中,為了便於管理,常把一條指令的執行過程劃分為若干個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器周期。一般情況下,一個機器周期由若干個S周期(狀態周期)組成。 8051系列單片機的一個機器周期同6個 S周期(狀態周期)組成。前面已說過一個時鍾周期定義為一個節拍(用P表示),二個節拍定義為一個狀態周期(用S表示),8051單片機的機器周期由6個 狀態周期組成,也就是說一個機器周期=6個狀態周期=12個改棚時鍾周期。 (例如外接24M晶振的單片機,他的一個機器周期=12/24M 秒)
指令周期:
執行一條指令所需要的時間,一般由若干個機器周期組成。指令不同仔殲局,所需的機器周期也不同。對於一些簡單的的單位元組指令,在取指令周期中,指令取出到指令寄存器後,立即解碼執行,不再需要其它的機器周期。對於一些比較復雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。通常含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令。
匯流排周期:
由於存貯器和I/O埠是掛接在匯流排上的,CPU對存貯器和I/O介面的訪問,是通過匯流排實現的。通常把CPU通過匯流排對微處理器外部(存貯器或 I/O介面)進行一次訪問所需時間稱為一個匯流排周期。
總結:
時鍾周期是最小單位,機器周期需要1個或多個時鍾周期,指令周期需要1個或多個機器周期;
機器周期指的是完成一個基本操作的時間,這個基本操作有時可能包含匯流排讀寫,因而包含匯流排周期,但是有時可能與匯流排讀寫無關,所以,並無明確的相互包含的關系;
指令周期:是CPU的關鍵指標,指取出並執行一條指令的時間。一般以機器周期為單位,分單指令執行周期、雙指令執行周期等。現在的處理器的大部分指令(ARM、DSP)均採用單指令執行周期;
機器周期:完成一個基本操作的時間單元,如取指周期、取數周期。時鍾周期:CPU的晶振的工作頻率的倒數。
Ⅱ 為什麼51單片機一個機器周期有12個時鍾周期 這話什麼意思 機器周期是多少時鍾周期是生產單片機時就確定的嗎
一個機器周期=12個時鍾周期是生產時就確定的,原因就是因為51的執行速度相對較慢,MCU運行時是對外部時鍾進行了12分頻。
一般情況下,一個機器周期由若干個S周期(狀態周期)組成。通常用內存中讀取一個指令字的最短時間來規定CPU周期,(也就是 計算機通過內部或外部匯流排進行一次信息傳輸從而完成一個或幾個微操作所需要的時間)),一般由12個時鍾周期(振盪周期)組成,也是由6個狀態周期組成。而振盪周期=1秒/晶振頻率,因此單片機的機器周期=12秒/晶振頻率 。
(2)51單片機的周期擴展閱讀:
單片機指令周期:
CPU每取出一條指令並執行這條指令,都要完成一系列的操作,這一系列操作所需要的時間通常叫做一個指令周期。換言之指令周期是取出一條指令並執行這條指令的時間。
由於各條指令的操作功能不同,因此各種指令的指令周期是不盡相同的。
例如一條加法指令的指令周期同一條乘法指令的指令周期是不相同的。指令周期常常用若干個CPU周期數來表示,CPU周期也稱機器周期。
指令不同,所需的機器周期數也不同。對於一些簡單的單位元組指令,在取指令周期中,指令取出到指令寄存器後,立即解碼執行,不再需要其它的機器周期。對於一些比較復雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。通常含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令。
Ⅲ 51單片機的指令周期是怎麼計算的
指令周期是不確定的,因為她和該條指令所包含的機器周期有關。一個指令周期=1個(或2個或3個或4個)機器周期,像乘法或除法就含有4個機器周期,單指令就只含有1個機器周期。
對於大多說的51單片機來說,1個機器周期=12個時鍾周期(或振盪周期)
也有部分單片機時鍾周期和振盪周期不相等,例如,1個時鍾周期=2個振盪周期。
Ⅳ 51單片機的機器周期和晶振頻率有何關系當fOSC=8MHz時,機器周期是多少
機器周期X振盪頻率= 12。當fosc=8MHz時,機器周期為1.5微秒。
因為規定一個機器周期為12個振盪周期,而振盪周期是振盪頻率fosc的倒數,所以一個機器周期=12/fosc,當fosc=8MHz時,代入公式,機器周期為12/(8MHz)s,即1.5us。
(4)51單片機的周期擴展閱讀:
51單片機是對所有兼容Intel 8031指令系統的單片機的統稱。該系列單片機的最早是Intel的8004單片機,後來隨著Flash rom技術的發展,8004單片機取得了長足的進展,成為應用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列(如AT89C51),它廣泛應用於工業測控系統之中。
對於單片機中周期定義:
振盪周期:單片機外接石英晶體振盪器的周期。如外接石英晶體的頻率若為12MHz(如上圖),那麼其振盪周期就是1/12微秒。
機器周期:單片機完成一次完整的具有一定功能的動作所需的時間周期。如一次完整的讀操作或寫操作對應的時間。一個機器周期=6個狀態周期=12個振盪周期。
Ⅳ 51單片機的定時器的時間怎麼算
51單片機1個機器周期=12個時鍾周期,頻率為12MHZ,則一個機器周期為1US,具體到定時器程序就是,假如你想定1MS,那麼單片機每次加一個一,就要過1US,那麼1MS就要加1000次,所以用65535-1000=64535;再把64535換成16進制為FC17,把FC付給TH0,17給TLO,即可定時1MS,因為65535他就溢出進入中斷。