|
定時器0 在工作方式2 下,跟其在工作方式 1 下的工作方式類似,主要區(qū)別是在這種工
作方式下,定時器/計數(shù)器是八位的定時器/計數(shù)器,只有低 8 位參與計數(shù),而高 8 位不參與
計數(shù),只是用作預(yù)置數(shù)的存放,計數(shù)范圍是0-255,當(dāng)計數(shù)溢出時,系統(tǒng)會自動將預(yù)置數(shù)裝
入低八位的計數(shù)器,這些都是硬件自動完成的,不需要在程序中進(jìn)行操作。這種工作方式的
好處是在進(jìn)入中斷的時候就可以直接進(jìn)行計數(shù),不需要對定時器進(jìn)行賦初值。
使用定時器0 的工作方式2 步驟如下:
1) 設(shè)置定時器的工作狀態(tài)時定時器還是計數(shù)器;
2) 設(shè)置定時器的工作方式;
3) 為定時器設(shè)置初值,這個決定了定時器的溢出間隔,即定時時間;
4) 使能定時器中斷;
5) 開啟定時器/計數(shù)器的運行控制位;
6) 使能全局中斷;
7) 編寫中斷函數(shù);
其中,這些步驟的使用方法同在工作方式 1 下都是一樣的,只是在 TMOD 寄存器中需
要將M0M1 分別設(shè)置為01 以使其工作在方式2,另外TH0,TL0 兩個寄存器的賦值也是不一 樣
的,在工作方式 1 下,計數(shù)范圍是65536,在 11.0592MHZ 的情況下,單計數(shù)周期最長定
時范圍是71.11 毫秒,而在工作方式 2 下,計數(shù)范圍是256,在 11.0592MHZ 的情況下,單
計數(shù)周期最長定時范圍是0.277 毫秒。
其他的使用同工作方式 1。
|
評分
-
查看全部評分
|