定時器2:
16位自動重裝載和捕獲能力的定時計數器
控制寄存器TCON2:字節地址------------->>>>>>>>0C8H--------------------->>>>>>可位尋址
TF2 | EXF2 | RCLK | TCLK | EXEN2 | TR2 | C/T2 | CP/RL2 |
溢出標志位 | 定時器外部標志 | 接收時鍾標志 | 發送時鍾標志 | 外部使能 | 啟動、停止控制位 | 選擇位 | 捕獲重裝標志 |
定時/計數器2溢出標志,T2溢出時置位,並申請中斷。只能用軟件清除,但T2作為波特率發生器使用的時候,(即RCLK=1或TCLK=1),T2溢出時不對TF2置位 | 當EXEN2=1時,且T2EX引腳(P1.0)出現負跳變而造成T2的捕獲或重裝的時候,EXF2置位並申請中斷。EXF2也是只能通過軟件來清除的 | 串行接收時鍾標志,只能通過軟件的置位或清除;用來選擇T1(RCLK=0)還是T2(RCLK=1)來作為串行接收的波特率產生器 | 串行發送時鍾標志,只能通過軟件的置位或清除;用來選擇T1(TCLK=0)還是T2(TCLK=1)來作為串行發送的波特率產生器 | T2的外部允許標志,只能通過軟件的置位或清除;EXEN2=0:禁止外部時鍾觸發T2;EXEN2=1:當T2未用作串行波特率發生器時,允許外部時鍾觸發T2,當T2EX引腳輸入一個負跳變的時候,將引起T2的捕獲或重裝,並置位EXF2,申請中斷 | T2的啟動控制標志;TR2=0:停止T2;TR2=1:啟動T2 | T2的定時方式或計數方式選擇位。只能通過軟件的置位或清除;C/T2=0:選擇T2為定時器方式;C/T2=1:選擇T2為計數器方式,下降沿觸發。 | 捕獲/重裝載標志,只能通過軟件的置位或清除。CP/RT2=0時,選擇重裝載方式,這時若T2溢出(EXEN2=0時)或者T2EX引腳(P1.0)出現負跳變(EXEN2=1時),將會引起T2重裝載;CP/RT2=1時,選擇捕獲方式,這時若T2EX引腳(P1.0)出現負跳變(EXEN2=1時),將會引起T2捕獲操作。但是如果RCLK=1或TCLK=1時,CP/RT2控制位不起作用的,被強制工作於定時器溢出自動重裝載模式。 |
模式控制寄存器T2MOD:字節地址------------->>>>>>>>0C9H----------------->>>>>>不可位尋址
0 | 0 | 0 | 0 | 0 | 0 | T2OE | DECN |
定時器輸出使能位 |
向上/向下計數使能位。定時器2可配制成向上/向下計數器。
0:向上計數(模式狀態) 1:向下計數(盡量不使用)
|
||||||
工作方式:
RCLK+TCLK | CP/RL2 | TR2 | TR2 |
0 | 0 | 1 | 16位自動重裝(串行口發送和接受的波特率由定時器1提供) |
0 | 1 | 1 | 16位捕獲 |
1 | x | 1 | 波特率發生器 |
x | x | 0 | 關閉 |
陷阱寄存器:RCAP2H和RCAP2L---------存放TH2和TL2中的值
模式1和模式3的波特率=(振盪器頻率/32) * (65535-N)
定時器2為計數模式時,外部時鍾信號由T2(P1^0)引腳進入。
定時器2作為波特率發生器的時候,不要對TH2和TL2讀寫,可以讀陷阱寄存器,但是也不要寫。當對定時器2的陷阱寄存器進行訪問時,應關閉定時器(TR2清0)。