C8051F340/1/2/3/4/5/6/7
19.1 。波特率发生器
UART1的波特率由来自控制器的核心频率运行在专用的16位定时器产生
( SYSCLK ) ,并具有1 , 4 , 12 ,或48定时器和预分频器选项组合使预分频选项
对于在许多系统时钟频率的多种选择波特率。
SBCON1 , SBRLH1和SBRLL1 :波特率发生器使用三个寄存器进行配置。该
UART1波特率发生器控制寄存器( SBCON1 , SFR定义19.4 )启用或禁用
波特率发生器,并选择为定时器预分频值。波特率发生器必须
启用UART1的功能。寄存器SBRLH1和SBRLL1包含一个16位重载值的德迪
cated 16位定时器。内部定时器从每一个时钟周期的重载值开始计数。在定时器溢出
流量( 0xFFFF到0×0000 ) ,定时器重新加载。对于可靠的UART操作,建议
UART波特率不为波特率配置比SYSCLK / 16快得多。波特率为UART1的
方程19.1定义。
系统时钟
1 -
- 1
-
波特率= ----------------------------------------------- ---------------------------
×
--
×
---------------------
(
65536 - ( SBRLH1 : SBRLL1 )
)
2预分频器
方程19.1 。 UART1波特率
典型波特率和系统时钟频率的对照见表19.1 。
表19.1 。波特率发生器的设置标准波特率
目标波特率
速率(bps )
230400
115200
57600
28800
14400
9600
2400
1200
230400
115200
57600
28800
14400
9600
2400
1200
230400
115200
57600
28800
14400
9600
2400
1200
实际波特率
速率(bps )
230769
115385
57692
28846
14388
9600
2400
1200
230769
115385
57692
28777
14406
9600
2400
1200
230769
115385
57554
28812
14397
9600
2400
1200
波特率
错误
0.16%
0.16%
0.16%
0.16%
0.08%
0.0%
0.0%
0.0%
0.16%
0.16%
0.16%
0.08%
0.04%
0.0%
0.0%
0.0%
0.16%
0.16%
0.08%
0.04%
0.02%
0.0%
0.0%
0.0%
振荡器
DIVIDE
因素
52
104
208
416
834
1250
5000
10000
104
208
416
834
1666
2500
10000
20000
208
416
834
1666
3334
5000
20000
40000
SB1PS [1 :0]的
(预分频位)
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
在重载值
SBRLH1 : SBRLL1
0xFFE6
0xFFCC
0xFF98
0xFF30
0xFE5F
0xFD8F
0xF63C
0xEC78
0xFFCC
0xFF98
0xFF30
0xFE5F
0xFCBF
0xFB1E
0xEC78
0xD8F0
0xFF98
0xFF30
0xFE5F
0xFCBF
0xF97D
0xF63C
0xD8F0
0xB1E0
224
系统时钟= 48 MHz的
系统时钟= 24 MHz的
SYSCLK = 12MHz的
1.0版