⑴ 單片機定時器初值計算方法
T=(2的N次方-X)12/單片機晶振頻率
2 N為定時器的工作方式:
方式0時,N=13
方式1時,N=16
方式2時,N=8
注意晶振頻率,晶振頻率的十二分之一是機器頻率,再取倒數是機器周期,把定時時間換算成多少個機器周期,當作T代入上式求出X,然後把X化為二進制數,(以方式1定時器0為例)高八位存入TH1,低八位存入TL1
⑵ 請問單片機定時器的初值是怎麼設的
如果你用T0,就用TH0=0X__;TL0=0X__;復初值,TH0為高8位,TL0為低8位;T1、T2是一樣的。
⑶ 51單片機定時器初值怎樣計算
首先要知道一個計時脈沖的周期,計時脈沖頻率是晶振頻率的1/12,晶振12M時,計時脈沖頻率是1MHz,周期是1us,因此定時1mS就是1000個脈沖,由於51定時器是加法計數,計數到最大值65536溢出,定時結束,產生中斷,因此初值應該寫為65536-1000,計數器分高8位和低8位,高8位的1代表256,低8位是不足256的那一部分,因此高8位初值為TH=(65536-1000)/256,低8位TL=(65536-1000)%256。
⑷ 單片機定時器初值計算方法有哪些
呵呵 正確為你解答:
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
呵呵 如滿意 請選擇滿意回答
⑸ 關於單片機定時器賦初值的問題
要理解這個問題需要 看單片機原理 的 定時器 章節
首先 這個問題是 選擇的 16位定時模式
定時初值=65536-50000=15536
因為MCS51單片機對定時器賦值 一次只能訪問8位(即 TH0 和 TL0分開賦值)
也就是將 15536 拆成高八位和低八位
(65536-50000)/ 256 就是求高八位 數值
(65536-5000)% 256 就是求低八位 數值
如果還有不理解之處,請繼續提問!
⑹ 單片機定時器初值設定公式
假設定時時間是X毫秒,那麼初值為:
TH1=(65536-X*1000*晶振頻率/12/1000000)/256;
TL1=(65536-X*1000*晶振頻率/12/1000000)%256;
⑺ 單片機定時器賦初值問題
定時器是16位的,取整是高8 位,取余是低8 位。
例:50ms定時
TH0=(65536-50000)/256=60(整數60,余數176)=3CH
TL0=(65536-50000)%256=176=0B0H
⑻ 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單片機的系統時鍾周期均為晶振的12分頻。 單片機的定時器每計時一次為一個系統時鍾周期(如果晶振頻率為12MHz,一個系統時鍾周期為12/(12M)=1/1000000秒) 單片機定時器定時是順計時,計數到65536的時候才會產生中斷,要定時2ms就得計時2000次,因此就用65536-2000 展開 作業幫用戶 2017-07-06 舉報
⑽ 單片機定時器裝初值啥意思
定時器啟動後,是自動加一的,加到了 65536,就會產生中斷。
從零開始加,加到了 65536,產生中斷,就用了 65536 us。
如果從55536開始加,加到 65536,產生中斷,就用 10000 us。
初值,用來控制定時時間。
具體時間,還和定時器的方式,以及所用的晶振頻率有關。