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