求助,51單片機(jī)定時器初值設(shè)定問題

求助,51單片機(jī)定時器初值設(shè)定問題

1、假設(shè)定時的要求是5000個計(jì)時脈沖。那么我們希望T0的16位計(jì)數(shù)模式初值為X=65536-5000。

2、T0計(jì)數(shù)初值X的高8位,將X除以256,或X右移8位得到。

3、T0計(jì)數(shù)初值X的低8位,將X取余256,或者X&0x00ff,或者左移8位右移8位得到。4、采用常量表達(dá)式交給編譯器完成計(jì)算過程,程序可讀性更好。

方便閱讀,改寫,效果與實(shí)際定時值寫法完全一致。

51給定時計(jì)數(shù)器設(shè)置初始值的時候怎么計(jì)算數(shù)值?

首先,51單片機(jī)是加一計(jì)數(shù),到65536溢出,所以定時時間(經(jīng)過的脈沖個數(shù),如果一個脈沖是1US,剛好延時50MS是50000個脈沖)是65536減初值 ,初值又分高8位和低8 位,高8位的1代表256,因此高8位的數(shù)值所代表的數(shù)是256的整數(shù)倍,低位**不超過255,所以一定是除以256之后的余數(shù),用公式是這樣:初值=65536-定時脈沖個數(shù)=TH0*256+TL0反過來看你就很明白了

單片機(jī)C51,對定時器/計(jì)數(shù)器初值設(shè)置

一個用作定時器。定時器中斷的時候輸出一個脈沖作為計(jì)數(shù)器的計(jì)數(shù)脈沖,設(shè)定一個計(jì)數(shù)值,計(jì)數(shù)滿的時候中斷,這樣計(jì)數(shù)值為10時候,定時器中斷10次,用一個計(jì)數(shù)值來記錄定時器的中斷次數(shù),一個用作計(jì)數(shù)器。

至于定時/計(jì)數(shù)器的操作;計(jì)數(shù)器串聯(lián).536ms,所以12M晶振的情況下,然后將計(jì)數(shù)值清0,重新計(jì)數(shù),即為100ms。

總的定時時間的原理同上。這個方**有小小誤差,因?yàn)椴僮饔?jì)數(shù)值的時候會占用一點(diǎn)時間,這個時間比較短。2、2個定時/,用單個16位定時器得不到100ms的定時。這時可更換頻率較低的晶振或用以下兩種軟件的方法:1、定時器累加。

用一個計(jì)數(shù)值來記錄定時器的中斷次數(shù)。

關(guān)于單片機(jī)定時器賦初值的問題

要理解這個問題需要 看單片機(jī)原理 的 定時器 章節(jié)

首先 這個問題是 選擇的 16位定時模式
定時初值=65536-50000=15536
因?yàn)镸CS51單片機(jī)對定時器賦值 一次只能訪問8位(即 TH0 和 TL0分開賦值)
也就是將 15536 拆成高八位和低八位
(65536-50000)/ 256 就是求高八位 數(shù)值

(65536-5000)% 256 就是求低八位 數(shù)值
如果還有不理解之處,請繼續(xù)提問!

關(guān)于51單片機(jī)定時/計(jì)數(shù)器裝入初值的問題

這個有什么看不懂得呢 **種 是吧十進(jìn)制化成十六機(jī)制的方法 第二種呢 就是單純的十進(jìn)制 這樣跟你說吧 因?yàn)閠h0只有一個字節(jié) 那就只能放下8位2進(jìn)制 于是**種表示就是把一個大于一個字節(jié)小于兩個字節(jié)的數(shù)據(jù)轉(zhuǎn)化成兩個字節(jié)高八位和第八位的分離形式第二種就簡單了 0x9c就是65536-100的十六進(jìn)制表示啊 那高八位就是前兩個十六進(jìn)制數(shù)ff就裝到th0中 低八位就是后兩個十六進(jìn)制數(shù)9c 裝到th1中唄3這有啥看不懂的啊這個真的基礎(chǔ)到不行了 沒法再解釋啊至于轉(zhuǎn)化嗎 你去找c語言教程 16進(jìn)制與十進(jìn)制的轉(zhuǎn)化 再好好學(xué)學(xué) 這個是**的基礎(chǔ)啊

mcs-51單片機(jī)定時器應(yīng)用的初始化步驟有哪些

TMOD、TH0或TH1、TL0或TL1、EA=1;TR0或TR1=1;TMOD選擇方式。TH0=(65536-x)%256;x為定時時間,x<65536EA=1百科;開中斷;TR1=1;啟動定時器。

例如:TMOD=0X10;TH1=0X4b;TL1=0XfeTR=1;“TMOD=0X10;”設(shè)置定時器1模式為模式一(16位定時器/計(jì)數(shù)器)“TH1=0X4b;TL1=0Xfe;”設(shè)置定時器初值\”TR1=1\”啟動定時器1t=(2^16-初值)*機(jī)器周期=(2^16-初值)*時鐘周期*12此例中:初值=0x4bfe=19454t=(65536-19454)*1/11095200*12=0.04983993078087821760….約為0.05s即50ms公式解釋:每個機(jī)器周期產(chǎn)生一個計(jì)數(shù)脈沖,計(jì)時器寄存器**允許2^16,大于2^16就溢出觸發(fā)中斷。