AT89S52
11.波特率发生器
选择定时器2作为波特率发生器通过设置TCLK和/或RCLK在T2CON (表
注意,该波特率为发送和接收可以是不同的,如果定时器2用于
接收器或发送器和定时器1被用于其它功能。设置RCLK和/或TCLK
把定时器2进入波特率发生器模式,如图
波特率发生器模式类似于自动重载模式下,在TH2翻转
引起定时器2的寄存器将与16位值寄存器RCAP2H和重载
RCAP2L ,这是由软件预置。
波特率在模式1和3是由定时器2的溢出率根据跟着确定
以下公式。
模式1和3的波特率
=
定时器2的溢出速率
-----------------------------------------------------------
-
16
该定时器可配置为定时器或计数器操作。在大多数应用中,这是CON-
想通为定时器操作(CP / T2 = 0)。定时器操作是不同的定时器2时,它是
作为波特率发生器。通常情况下,作为一个计时器,它增加每个机器周期(以1/12
振荡器的频率) 。作为波特率发生器,但是,每次递增状态的时间(以
1/2振荡器的频率) 。下面的波特率公式。
模式1和模式3
振荡器频率
-------------------------------------- = -------------------------------------------------------------------------------------
-
-
波特率
32× [ 65536 - RCAP2H , RCAP2L ) ]
其中, ( RCAP2H , RCAP2L )是RCAP2H和RCAP2L的作为一个16位的无符号的内容
整数。
定时器2作为波特率发生器如图
这个数字才有效,如果RCLK或
TCLK = 1 T2CON 。注意TH2翻转不会置位TF2 ,也不会产生互
中断。还要注意,如果EXEN2被置位, 1到0的T2EX过渡将EXF2 ,但不会引起
重新加载( RCAP2H , RCAP2L )到( TH2 , TL2 ) 。因此,当定时器2用作波特率
发生器时,T2EX可以作为一个额外的外部中断。
需要注意的是,当定时器2时( TR2 = 1)作为波特率发生器模式定时器, TH2或
TL2不能读取或写入。在这些条件下,该定时器递增
每个状态的时间,和一个读或写操作的结果可能不准确。寄存器RCAP2
可以读,但不能写,因为写和重载重叠并引起
写和/或加载错误。计时器应该访问定时器之前被关闭(清除TR2 )
2或RCAP2寄存器。
15
1919C–MICRO–3/05