C8051F340串口学
UART0是一个异步、全双工串口,它提供标准 8051串行口的方 式1和方式3。UART0<有增强的波特率发生器电路,有多个时钟 源可用于产生标准波特率。接收数据缓冲机制允许 UART0在软件尚
未读取前发生器, 能产生很宽范 围的波特率,有多个时钟源可用于产生标准波特率。
UART1有六个相关的特殊功能寄存器。三个用于波特率发生器
(SBCON1 SBRLH1和SBRLL1,两个用于数据格式、控制和状态功 能(SCON 1和SMOD1), 一个用于发送和接收数据(SBUF1。
使用UART1时,波特率发生器必须被使能。寄存器 SBRLH1和
SBRLL1保持该专用定时器的16位重载值,对于可靠的UART操
作,建议不要将 UART波特率配置为大于 SYSCLK/16
波特率=SYSCLK* 1 x —!
65536-(SBRLH1 : SBRLLI) 2 预分频值
方程19,1 LARTI波特率
表1%1对应标准波特率的定时器设置(使用内部振箱器〉
目标波悴率
(bps)
实期波翰率
(bps)
波特率 零差
分频系鼓
su]p$![no|
(预分裁位)
以RLI1 L:\BRLL】 中的
23M00
顼啪
0 16%
52
11
OkFTO
)]$200
nun
0一1做
104
IL
MFCC
57t«2
0 ]妈
20R
11
〔y顷
:SWj
2B846
0 16%
诉
11
OxFF30
14顷
14掀
%
8:4
11
OxFFSF
9颁
96^)0
%
1250
11
OkP dkf
2400
5400
no%
5000
11
1珈
l:00
%
10000
11
火三匚飞
II w 京 A Zi
3叫⑩
330765
%
IM
11
■krrcc
1JS2DD
115383
%
讷
11
57(HKJ
0 16%
11
0XFF3D
硕
留E
%
空4
11
皈 FF5F
【心U
14406
。一 04幅
11
ftxFCBF
9&00
00%
2500
11
OlFBIE
2碰
2400
%
10000
11
(EEC筒
1酬
g
Ci 一叽
:0000
11
ftxDfiFO
23076<)
0.]^
2峋
11
Ukl 闷 M
nszon
1IS385
0 ]曲
£仍
11
DXFF30
37692
%
824
11
(KFF5F
W8S46
%
1铅6
11
OxFCDF
14迥
14423
%
3334
11
(hcFWD
响口
Q砌
(1 0%
5000
11
O1F63C
2400
^•00
*4
欢00
11
OxDAFO
1200
1200
%_
_就000
H
■kaiED
C8051F330串口 UART0示例程序
//使用 F340,串 口为(TX0),(RX0);
#include<>
#include<>
#define SYSCLK //系统工作频率
#define BAUDRATE 9600 // 串 口工作波特率
//
//功能函数
//
void SYSCLK_Init(void);
void PORT_Init(void);
void UART0_Init(void);
void Uart0_Transmit(unsigned char tmp);
void sendstr(unsigned char*tmp);
unsigned char temp ;
void delay_1ms()
{
unsigned int j ;
for(j=3060;j>0;j--);
void delay_ms(unsigned int i)
for(;i>0;i--)delay_1ms();
//
//主程序 // void main(void)
{
PCA0MD&=~0x40 ; // 禁止看门狗
PORT_Init();
//
初始化端口 I/O
SYSCLK_Init(); //初始化系统时钟
UART0_Init(); // 串口初始化
EA=1 ;
ES0=1 ;
while(1)
{
delay_ms(1000);
se
C8051F340学习笔记UART 来自淘豆网m.daumloan.com转载请标明出处.