51微控制器定時器初值的計算

2021-08-27 20:26:53 字數 1695 閱讀 1455

什麼是時鐘週期?什麼是機器週期?什麼是指令週期?

時鐘週期1.晶振12m 

12mhz除12為1mhz,也就是說一秒=1000000次機器週期。10ms=10000次 機器週期。

65536-10000=55536(d8f0)  

th0=0xd8,tl0=0xf0  

2.晶振11.0592m 

11.0592mhz除12為921600hz,就是一秒921600次機器週期,10ms=9216次機器週期。

65536-9216=56320(dc00)   

th0=0xdc,tl0=0x00

1.晶振12m 

12mhz除12為1mhz,也就是說一秒=1000000次機器週期。50ms=50000次 機器週期。   

65536-50000=15536(3cb0) 

th0=0x3c,tl0=0xb0

2.晶振11.0592m 

11.0592mhz除12為921600hz,就是一秒921600次機器週期,50ms=46080次機器週期。 

65536-46080=19456(4c00) 

th0=0x4c,tl0=0x00 

以12m晶振為例:每秒鐘可以執行1000000次機器週期個機器週期。而t 每次溢位 最多65536 個機器週期。我們盡量應該讓溢位中斷的次數最少(如50ms),這樣對主程式的干擾也就最小。   開發的時候可能會根據需要更換不同頻率的晶振(比如c51微控制器,用11.0592m的晶振,很適合產生串列埠時鐘,而12m晶振很方便計算定時器的時間),使用插接式比較方便。  

對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

本文**:

51微控制器定時器初值計算

菜鳥關於51類微控制器的定時器初值計算問題的計算 首先先來介紹微控制器的幾個週期 1 時鐘週期,也稱為振盪週期 定義為時鐘脈衝的倒數,在微控制器中也就等於晶振的倒數。51微控制器中把乙個時鐘週期定義為乙個節拍 用p表示 2個節拍定義為狀態週期 用s表示 時鐘週期是微控制器中最小的時間單位。eg 12...

51微控制器定時器初值計算問題

最近在看51微控制器的定時器與中斷,作為51微控制器比較重點的內容,很多人也花費了很長時間在這上面,有些問題網上的資料方法各不相同,也看得雲裡霧裡,比如定時器的初值計算問題,在此我想以此篇作為學習筆記,希望可以對大家有所幫助。定時器內部一暫存器,每隔乙個機器週期就會自動加1,直到加到65535就會溢...

單 片 機 定 時 器 初 值 例項計 算

一 10ms定時器初值的計算 1.晶振12m 12mhz除12為1mhz,也就是說一秒 1000000次機器週期。10ms 10000次 機器週期。65536 10000 55536 d8f0 th0 0xd8,tl0 0xf0 2.晶振11.0592m 11.0592mhz除12為921600hz...