微控制器的定時器的週期怎麼算?

2021-08-28 22:37:28 字數 2655 閱讀 4872

時鐘週期:

時鐘週期也稱為振盪週期,定義為時鐘脈衝的倒數(可以這樣來理解,時鐘週期就是微控制器外接晶振的倒數,例如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為例,晶振11.0592m,時鐘週期(晶振週期)就是(1/11.0592)μs,乙個機器週期包含12個時鐘週期(6個狀態週期),乙個機器週期就是 1μs。乙個機器週期一般是一條指令花費的時間,也有些是2個機器週期的指令,djnz,是雙週期指令.

微控制器定時器定時計算方法

對12mhz  1個機器週期 1us  12/fosc = 1us

方式0  13位定時器最大時間間隔  = 2^13 = 8.192ms

方式1  16位定時器最大時間間隔  = 2^16 = 65.536ms

方式2  8位定時器最大時間間隔  = 2^8 = 0.256ms =256 us

定時5ms,計算計時器初值  m = 2^k-x*fosc/12  12mhz

方式0: k=13,x=5ms,fosc=12mhz 則 m = 2^13 - 5*10^(-3)*12*10^6/12= 3192 = 0x0c78

thx = 0ch,tlx = 78h,

方式1: k=16,x=5ms,fosc=12mhz 則 m = 2^16 - 5*10^(-3)*12*10^6/12= 60536 = 0xec78

thx = ech,tlx = 78h, 

50ms 12mhz   thx = 3ch,tlx = b0h,

10ms       thx = d8h,tlx = f0h, 

方式2: 最大時間 2^8fosc/12 = 0.256ms

十進位制數是怎麼來的?

6mhz 乙個機器週期 12/6 = 2us

定時1ms  計數初值x

(2^16-x)*2us  = 1000us

x = 2^16 - 500 ,th,tl 可置 -500

12mhz 乙個機器週期 12/12 = 1us

12mhz 乙個機器週期 12/12 = 1us

定時50ms  計數初值x

(2^16-x)*1us  = 50000us

x = 2^16 - 50000 ,th,tl 可置 -500

定時器  計內部晶振頻率

計數器  計外部輸入cpu腳上的脈衝個數  p3.4(t0)  p3.5(t1) 負跳變加一

當晶振為6mhz時,最高計數頻率500khz

暫存器

1 th tl

2 tcon

tr0 tr1  其他位是中斷控制位

tmod

gate c/t1 m1 m0 gate c/t0 m1 m0

2023年2月26日

c8051f00x

定時器:每個時鐘加1  時鐘可為系統時鐘或系統時鐘的1/12

ckcon 

當引腳上出現電平時啟動t0  當不滿足時,停止t0,讀出以後清零

微控制器的定時器

定時器則是由微控制器自身提供的乙個非常穩定的計數器,這個穩定的計數器就是微控制器上連線的晶振部件,晶振經過12分頻之後提供給微控制器的只有1mhz的穩定脈衝 晶振的頻率是非常準確的,所以微控制器的計數脈衝之間的時間間隔也是非常準確的,這個準確的時間間隔是1微秒 12mhz晶振內部的工作頻率 時鐘脈衝...

微控制器定時器雙擊 關於51微控制器定時器的靈活使用

前段時間,做乙個專案,有串列埠收發指令判斷,按鍵型別判斷,長短按之類,power的定時關電,事件的輪詢掃瞄更新和display的定時掃瞄。這些要求就對定時器提出了要求,但是我的51微控制器只有兩個定時器,其中乙個又有debug口的波特率產生之用。於是乎我可以用的定時器就只剩下了乙個。怎麼辦?可能大家...

51微控制器 定時器

定時 計數器的結構和工作原理 定時 計數器的實質是加1計數器 16位 由高8位和低8位兩個暫存器組成。80c51 微控制器定時 計數器的工作是由兩個特殊功能暫存器控制的。tmod是定時 計數器的工 作方式暫存器,確定工作方式和功能,低四位用於t0,高四位用於t1。t con是控制寄 存器,控制t0和...