|
計數(shù)初值的計算 定時或計數(shù)方式下計數(shù)初值如何確定,定時器選擇不同的工作方式,不同的操作模式其計數(shù)值均不相同。若設(shè)最大計數(shù)值為 m ,各操作模式下的 m 值為: 模式 0 : m=2 13 =8192 模式 1 : m=2 16 =65536 模式 2 : m=2 8 =256 模式 3 : m=256 ,定時器 t0 分成 2 個獨(dú)立的 8 位計數(shù)器,所以 th0 、 tl0 的 m 均為 256 。 因?yàn)?mcs-51 的兩個定時器均為加 1 計數(shù)器,當(dāng)初到最大值( 00h 或 0000h )時產(chǎn)生溢出,將 tf 位置 1 ,可發(fā)出溢出中斷,因此計數(shù)器初值 x 的計算式為: x=m- 計數(shù)值式中的 m 由操作模式確定,不同的操作模式計數(shù)器的長不相同,故m值也不相同。而式中的計數(shù)值與定時器的工作方式有關(guān)。 1 、計數(shù)工作方式時 計數(shù)工作方式時,計數(shù)脈沖由外部引入,是對外部沖進(jìn)行計數(shù),因此計數(shù)值根據(jù)要求確定。其計數(shù)初值: x=m- 計數(shù)值 例如:某工序要求對外部脈沖信號計 100 次, x=m-100 2 、定時工作方式時 定時工作方式時,因?yàn)橛嫈?shù)脈沖由內(nèi)部供給,是對機(jī)器周期進(jìn)行計數(shù),故計數(shù)脈沖頻率為 f cont =f osc × 1/12 、計數(shù)周期 t=1/f cont =12/f osc 定時工作方式的計數(shù)初值 x 等于: x=m- 計數(shù)值 =m-t/t=m- ( f osc × t ) /12 式中: f osc 為振蕩器的振蕩頻率, t 為要求定時的時間。 定時器有兩種工作方式 :即定時和計數(shù)工作方式。由 tmod 的 d6 位和 d2 位選擇,其中 d6 位選擇 t1 的工作方式, d2 位選擇 t0 的工作方式。 =0 工作在定時方式, =1 工作在計數(shù)方式。并有四種操作模式: 1 、模式 0 : 13 位計數(shù)器, tli 只用低 5 位。 2 、模式 1 : 16 位計數(shù)器。 3 、模式 2 : 8 位自動重裝計數(shù)器, thi 的值在計數(shù)中不變, tli 溢出時, thi 中的值自動裝入 tli 中。 4 、模式 3 : t0 分成 2 個獨(dú)立的 8 位計數(shù)器, t1 停止計數(shù)。 |