新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 關(guān)于51單片機定時/計數(shù)器初值的計算

關(guān)于51單片機定時/計數(shù)器初值的計算

作者: 時間:2016-11-26 來源:網(wǎng)絡 收藏
計數(shù)初值的計算

  定時或計數(shù)方式下計數(shù)初值如何確定,定時器選擇不同的工作方式,不同的操作模式其計數(shù)值均不相同。若設最大計數(shù)值為 M ,各操作模式下的 M 值為:

本文引用地址:http://m.butianyuan.cn/article/201611/321809.htm

 
  模式 0 : M=2 13 =8192

  模式 1 : M=2 16 =65536

  模式 2 : M=2 8 =256

  模式 3 : M=256 ,定時器 T0 分成 2 個獨立的 8 位計數(shù)器,所以 TH0 、 TL0 的 M 均為 256 。

  

  因為 MCS-51 的兩個定時器均為加 1 計數(shù)器,當初到最大值( 00H 或 0000H )時產(chǎn)生溢出,將 TF 位置 1 ,可發(fā)出溢出中斷,因此計數(shù)器初值 X 的計算式為: X=M- 計數(shù)值式中的 M 由操作模式確定,不同的操作模式計數(shù)器的長不相同,故M值也不相同。而式中的計數(shù)值與定時器的工作方式有關(guān)。

  

  1 、計數(shù)工作方式時

  計數(shù)工作方式時,計數(shù)脈沖由外部引入,是對外部沖進行計數(shù),因此計數(shù)值根據(jù)要求確定。其計數(shù)初值: X=M- 計數(shù)值

  

  例如:某工序要求對外部脈沖信號計 100 次, X=M-100

  

  2 、定時工作方式時

  定時工作方式時,因為計數(shù)脈沖由內(nèi)部供給,是對機器周期進行計數(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 個獨立的 8 位計數(shù)器, T1 停止計數(shù)。

  

  MCS-51 有 5 個中斷源,可分為 2 個中斷優(yōu)先級,即高優(yōu)先級和低優(yōu)先級,中斷自然優(yōu)先級:

  

  外部中斷 0 ;定時器 0 中斷; 外部中斷 1 ;定時器 1 中斷 ;

  串行口中斷 ;定時器 2 中斷

  

 ?。?1 )同級或高優(yōu)先級的中斷正在進行中;

  ( 2 )現(xiàn)在的機器周期還不是執(zhí)行指令的最后一上機器周期,即正在執(zhí)行的指令還沒完成前不響應任何中斷;

 ?。?3 )正在執(zhí)行的是中斷返回指令 RET1 或是訪問專用寄存器 IE 或 IP 的指令,換而言之,在 RETI 或者讀寫 IE 或 IP 之后,不會馬上響應中斷請求,至少要在執(zhí)行其它一要指令之扣才會響應。

  

  (一)中斷響應條件

  CPU 響應中斷的條件有:

 ?。?1 )有中斷源發(fā)出中斷請求;

 ?。?2 )中斷總允許位 EA=1 ,即 CPU 開中斷;

 ?。?3 )申請中斷的中斷源的中斷允許位為 1 ,即沒有被屏蔽。



評論


技術(shù)專區(qū)

關(guān)閉