㈠ 51單片機的定時器計時怎樣計算
51但單片機的定時,要先計算,然後根據要求編寫程序,計算會用到公式:t=Tc×(2L-TC)=12/f×(2L-TC) t是定時時間 Tc是機器周期 fs是晶振頻率 L是計數器的長度 對於T0,T1有下面三種方式: 方式0:L=13 方式1:L=16 方式2:L=8 對於T2:L=16 然後剩下的就是按照算出的常數編寫程序了,就靠你自己了。。。。
㈡ 關於單片機定時器的求算,怎麼算出來的
51單片機定時器是「溢出」計時的,所以計算方法是:
(假設定時X毫秒(這里設定在溢出范圍內),晶振頻率是F兆赫茲),那麼計算公式是:
初值=65536-(X*1000)*(F/12)
㈢ 51單片機各種位數定時器初值計算方法
對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
方式3 僅適用於T0,此時T0分成兩個8位計數器,T1停止計數
當選用定時器的方式1時,設機器周期為Tcy,定時器產生一次中斷的時間為t,那麼需要計數的個數N=t/Tcy,裝入THX和TLX中的數分別為:
THX = (2^16 - N)/256 TLX = (2^16 -N )%256(此處的X為定時器0或定時器1)
公式為:(2^y - X)*Tcy = t
Tosc= 1/ fosc
一個機器周期 = 12個時鍾周期 = 12/fosc
溢出速率 = 1 / 溢出時間
故:初值X = 2^y – t/Tcy
THX = 高八位
TLX = 低八位
註:
X:定時器初值
N:計數值
y:定時器工作方式
fosc:晶振頻率
Tcy:機器周期,Tosc:時鍾周期
Tcy = 1/Tosc
㈣ 51單片機用定時器計時應該如何計算求大神支招
這個其實很簡單的,你只需要知道一個條件即可:晶振頻率。
因為51單片機的機器周期計算公式是12/晶振頻率MHz,若晶振為12MHz,則機器周期就是12/(12×10^6)=1us,也就是說計數器沒1us計數一次。
那麼有了這個條件就好辦多了,一般來說,12MHz晶振下,16位定時器滿計數是65536次,每次1us,最大就能計時65.536ms,則65536減去多少就是定時多少,如(65536-X)/256,就是定時X微秒。
那麼如果晶振不是12MHz,就要把上述的X乘以12/晶振,得到的值就是定時時長。原理相同。
有不懂的地方隨時回復我。
希望我的回答能幫助到你。
㈤ 單片機定時器初值計算方法有哪些
呵呵 正確為你解答:
1 可以按定時時間的計算公式, 計算出定時器的時間常數X:
定時時間T=(2的N次方-X)12/單片機晶振頻率
2 N為定時器的工作方式:
方式0時,N=13
方式1時,N=16
方式2時,N=8
3 根據定時時間和工作方式,計算出時間常數X
把X轉換成二進制數,高8位送給TH1,低8位送給TL1,就可以啟動定時器開始定時了。
例如: 工作在方式1,定時時間為1000微秒 晶振頻率=12MHZ
則 定時時間T=(2的16次方-X)12/12MHZ=1000 解出 X=64536=FC18H
呵呵 如滿意 請選擇滿意回答
㈥ avr單片機定時器TCNT0=,公式是什麼
TCNT0 是8位T0寄存器, 所以賦值范圍是0~255,。
晶振 / 分頻 = 分頻後的時鍾
1 /分頻後的時鍾 = 分頻後的每個時鍾周期
定時器溢出時間 /分頻後時鍾每周期時間 = 定時器經過N + 1次累後溢出
256 -定時間經過N次累後溢出 =TCNT0預裝值、重裝值
例子:8M晶振; 64分頻;定時器溢出時間定為 1ms
8000 000 / 64 = 125000(分頻後的時鍾)
1 / 125000 = 0.000 008 s (分頻後的每個時鍾周期)
0.001s / 0.000 008s = 125 (定時器經過125 + 1次後溢出)
256 - 125 = 131 (TCNT0預裝值、重裝值)
㈦ 單片機定時器計算
計算定時器,最原始的公式是(65536-初值)*12/晶振值=定時的時間,由此式子推出:初值=65536-(晶振值*定時時間/12)。則TH0=初值/256,TL0=初值%256,最終結果就是
TH0
=
255-CLOCK/TIME_PER_SEC/12/256;
TL0
=
255-CLOCK/TIME_PER_SEC/12%256;
其中除以TIME_PER_SEC,是因為TIME_PER_SEC表示要定時的時間的倒數。
㈧ 51單片機定時器初值公式
1.簡單說起,256表示一個8位分界點,對它求模得高位位元組存在TH0中,求余得低位位元組放在TL0中,拿十進制打比:15/10得十位1,15%10得個位數5
2.12Mhz時,單周期指令時間為12/fsoc=1us
方式1為16位定時/計數器
故定時1ms為:TH0=(2^16-1000)/2^8,
TL0=(2^16-1000)%256
當為11.0592MHz時,單周期指令時間為12/fsoc=12/11.0592us
由於採用方式0,為13為定時器,TH0高8位和TL0的低5位
故定時1ms為:
TH0=(2^13-1000/(12/11.0592))/2^5,
TL0=(2^16-1000/(12/11.0592))%2^5
這么晚了 寫寫不容易,多給些分以此鼓勵俺
O(∩_∩)O~
㈨ 請問哪位能仔細的講一下51系列單片機定時器定時計算時間的公式或方法
這個很好理解啊,假設定時器工作在方式1,也就是最大定時為65536US(假設12M晶振,51單片機)
那麼你想定時多小為Xus
就直接拿TL0=(65536-x)/256 TL1=(65536-X)%256就可以了的
就好像一個杯子,他最多能裝1L的水,而你只想往杯子里加400ml,那麼你就必須先往杯子里裝
(1000-400)ml的水, 這樣的話,是不是你再往杯子里加400Ml的水,就會溢出呢,定時器也是這樣的