
ADE5166/ADE5169/ADE5566/ADE5569
UART2操作模式
UART2的具有两种操作模式,其中,每个数据字节
(低位在前)之前有一个起始位( 0 ) ,接着是停止位
(1) 。因此,每个帧包含所发送的10个比特
TXD2引脚或对RXD2引脚接收。
波特率是由一个专门的定时器,波特率发生器设置
灰, UART2的计时器,它有一个分数除数,以精确地
生成任何波特率。
传输是通过写入串行端口2的缓冲SFR开始
( SBUF2 ,将0xEB地址) 。接着,一个停止位( 1)被装载到
串口移位寄存器的第九位。的数据被输出
点点滴滴,直到停止位出现在TXD2引脚,
串口2发送中断标志位, TI2 ( SCON2 [1] )是自动
matically设置,如图110 。
TxD2
TI2
(SCON2[1])
07411-188
9位UART2波特率可编程
设定的EN- T8 ( SCON2 [6])中选择的9位模式。在这种模式下,
UART2的串行端口工作在9位模式具有可变波特率
率。波特率是由一个专门的定时器,波特率设置gen-
关合作, UART2的计时器,其中有一个小数分频比,
正是产生任何波特率(见UART2定时器产生
波特率部分) 。 9位UART2的操作是
同样,作为UART的9位模式。
在这两种模式下,传输的任何指令发起的
使用SBUF2作为目标寄存器。招待会在开始
8位模式下,当RI2 = 0和REN2 = 1在SCON2的SFR 。 Recep-
化是由输入的起始位开始,如果在9位模式
REN2 = 1 。
UART2波特率发生器
波特率由专用的溢出率决定
波特率发生器, UART2定时器,它有一个整数,
小数分频。
开始
位
停止位
D0
D1
D2
D3
D4
D5
D6
D7
UART2定时器产生波特率
设置中断
(例如,
READY FOR MORE DATA)
图110. 8位可变波特率
当一个1到0的转变时所检测到的接收开始
RXD2引脚。假设一个有效的起始位被检测到,性格
接待仍在继续。这八个数据位移入
串口移位寄存器。
下列所有条件必须在该时间的最后得到满足
移位脉冲产生接收一个字符:
如果扩展的UART被禁止( EXTEN = 0时, CFG [6]) ,
RI2 ( SCON2 [0])必须为0以接收一个字符。这保证
即在SBUF2 SFR中的数据不被如果最后改写
接收到的字符没有被读出。
如果帧错误检查是通过设置使能FE2 ( SCON2 [4]) ,
接收到的停止位必须设置为接收一个字符。这
确保每一个字符接收到来自有效
框架,既具有起始位和停止位。
增强的串口波特率控制2 SFR ( SBAUD2 ,
地址0xEE )是用来控制UART2的计时器。 SBAUD2是
波特率控制SFR ;它建立在整数除法器( DIV2 ,
SBAUD2 [2 :0])和扩展的分频器( SBTH2 , SBAUD2 [4: 3])的
为UART2定时器。
所需的值写入到DIV2和SBTH2可以是校准 -
使用下面的公式,其中f culated
CORE
在定义
POWCON SFR 。注意, DIV2值必须四舍五入
到最接近的整数。
f
CORE
登录
16
×
波特率
DIV2
+
SBTH2
=
登录
(
2
)
SBAUDF2是要达到所要求的分数分频比
所需波特率。对于SBAUDF2适当的值可以是
计算公式如下:
f
CORE
SBAUDF2
=
64
×
1
16
×
2
DIV
2
+
SBTH
2
×
波特率
如果任何这些条件不满足,所接收到的帧是irre-
trievably丢失,串口2接收中断标志, RI2
( SCON2 [ 0 ] ) ,未设置。
如果所接收的帧满足前述的条件下,跟着
降脂的事件发生:
八位接收移位寄存器锁存到
SBUF2.
串口2接收中断标志( RI 2 )设置。
需要注意的是SBAUDF2只能取两个值, 0x2B访问或0x07执行,由
结算也可以通过设置SBF2 2位( SBAUD2 [5]) ,分别。
选择这些值以提供准确的波特率
300 , 2400, 4800 , 9600 , 19,200 , 38,400 , 57,600和115,200个基点。
当DIV2和SBAUDF2计算,实际的波特率
可以计算,使用下面的公式:
实际波特率
=
f
CORE
SBAUDF
2
16
×
2
DIV
2
+
SBTH
2
×
1
+
64
传输是通过使用SBUF2任何指令启动
目的寄存器中。招待会由传入开始启动
位,如果REN2 = 1在SCON2 SFR , Address0xE1 [2]。
版本B |第136页156