52
单片机有
3
个定时器?/p>
T2
是一?/p>
16
位自动重载的,像
T0
?/p>
T1
的方?/p>
2
一样,只不过它?/p>
16
位重载,
如果作为计数器或定时用,中断用的?/p>
5
,就?/p>
interrupt
5
?/p>
T2
的引脚是
P1.0
口?/p>
P1.0
作为
I/O
口用了以
?/p>
T2
计数是不行了,不过定时或是作为串口时钟还是可以的?/p>
T2CON
?/p>
T2
的控制寄存器?/p>
,
字节地址
0C8H
?/p>
0CFH 0CEH 0CDH 0CCH 0CBH 0CAH 0C9H 0C8H
TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RT2
各位的定义如下:
TF2
:定?/p>
/
计数?/p>
2
溢出标志?/p>
T2
溢出时置位,并申请中断。只能用软件清除,但
T2
作为波特率发生器
使用的时候,
(
?/p>
RCLK=1
?/p>
TCLK=1),T2
溢出时不?/p>
TF2
置位?/p>
EXF2
:当
EXEN2=1
时,?/p>
T2EX
引脚?/p>
P1.0
)出现负跳变而造成
T2
的捕获或重装的时候,
EXF2
置位并申?
中断?/p>
EXF2
也是只能通过软件来清除的?/p>
RCLK
:串行接收时钟标志,只能通过软件的置位或清除;用来选择
T1
?/p>
RCLK=0
)还?/p>
T2
?/p>
RCLK=1
)来作为
串行接收的波特率产生?/p>
TCLK
:串行发送时钟标志,只能通过软件的置位或清除;用来选择
T1
?/p>
TCLK=0
)还?/p>
T2
?/p>
TCLK=1
)来作为
串行发送的波特率产生器
EXEN2
?/p>
T2
的外部允许标志,只能通过软件的置位或清除?/p>
EXEN2=0
:禁止外部时钟触?/p>
T2
?/p>
EXEN2=1
:当
T2
未用作串行波特率发生器时,允许外部时钟触?/p>
T2
,当
T2EX
引脚输入一个负跳变的时候,?/p>
引起
T2
的捕获或重装,并置位
EXF2
,申请中断?/p>
TR2
?/p>
T2
的启动控制标志;
TR2=0
:停?/p>
T2
?/p>
TR2=1
:启?/p>
T2
C/T2
?/p>
T2
的定时方式或计数方式选择位。只能通过软件的置位或清除?/p>
C/T2=0
:选择
T2
为定时器方式?
C/T2=1
:选择
T2
为计数器方式,下降沿触发?/p>
CP/RT2
:捕?/p>
/
重装载标志,只能通过软件的置位或清除?/p>
CP/RT2=0
时,选择重装载方式,这时?/p>
T2
溢出
?/p>
EXEN2=0
时)或?/p>
T2EX
引脚?/p>
P1.0
)出现负跳变?/p>
EXEN2=1
时),将会引?/p>
T2
重装载;
CP/RT2=1
时,
选择捕获方式,这时若
T2EX
引脚?/p>
P1.0
)出现负跳变?/p>
EXEN2=1
时),将会引?/p>
T2
捕获操作。但是如?/p>
RCLK=1
?/p>
TCLK=1
时,
CP/RT2
控制位不起作用的,被强制工作于定时器溢出自动重装载模式?/p>
对应郭天祥老师?/p>
52
单片机板子!
/***********************************
程序编著院校
南昌航空大学
晶振
11.0592MHZ
T2CON
?/p>
0XC8
)的说明
定时?/p>
2
可以产生两个中断
TF2
?/p>
EXF2
,这两个中断通过逻辑或共享一个端?/p>
定时?/p>
2
溢出?/p>
TF2
置位
如果定时器工作在重装模式
RCAP2H
?/p>
RCAP2L
的值会自动装入
TH2
?/p>
TL2
TR2
启动
TF2
?/p>
TL2
必须软件清零
T2MOD
必须定义
sfr T2MOD= 0xC9;