⑴ PIC單片機定時器初值計算方法及幾種周期小結
正確為你解答:
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預裝值、重裝值)
⑶ 單片機關於定時器和波特率的計算
單片機上串口方式1和3的波特率是基於T1定時器的溢出頻率產生的,需要注意,不是TO,只能是T1。
公式t=(256-th0)*振盪周期*12 中t代表採用定時器方式2時,定時器T0溢出事件發生的周期。T1的溢出周期也是一樣的演算法,改成th1就行了。(1/t)就是定時器的溢出頻率。我們已知的是需要的波特率,這里就是9600,根據串口方式1的波特率計算公式
波特率=1/16或1/32*T1的溢出頻率
可以求出我們需要的T1的溢出頻率,也就是(1/t),t確定後就能根據上面公式最終求出th1的設定值。
計算結果是SMOD位為0,th1=0xfd; SMOD位為1,th1=0xfa
⑷ 單片機定時器計算
計算定時器,最原始的公式是(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單片機定時器是「溢出」計時的,所以計算方法是:
(假設定時X毫秒(這里設定在溢出范圍內),晶振頻率是F兆赫茲),那麼計算公式是:
初值=65536-(X*1000)*(F/12)
⑹ 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 然後剩下的就是按照算出的常數編寫程序了,就靠你自己了。。。。