1.串口介绍
单片机的串口可以使单片机与单片机、单片机与各式各样的模块互相通信,极大的扩展了单片机的应用范围,增强了单片机系统的硬件实力。
51单片机内部自带UART,可实现单片机的串口通信。
2.硬件电路
简单双向串口通信有两根通信线
当只需要单向的数据传输时,可以直接一根通信线
当电平标准不一致时,需要加电平转换芯片
3.常见通信接口比较
4.相关术语
5.串口参数
波特率:串口通信的速率 (发送和接受各数据位的间隔时间)
检验位:用于数据验证
停止位:用于数据帧间隔
6.串口模式图
SUBF:串口数据缓存寄存器,物理上是两个独立的寄存器,但是占用相同的地址
7.串口和中断系统
注意,此中断系统图为传统51单片机的图
8.寄存器配置(stc89c52rc)
void UartInit(void) //9600bps@11.0592MHz
{
PCON &= 0x7F; //波特率不倍速
SCON = 0x50; //8位数据,可变波特率
TMOD &= 0x0F; //清除定时器1模式位
TMOD |= 0x20; //设定定时器1为8位自动重装方式
TL1 = 0xFD; //设定定时初值
TH1 = 0xFD; //设定定时器重装值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
EA=1;
ES=1;
}
//中断函数
void UART_Routine() interrupt 4
{
if(RI==1)
{
//t=SBUF;
P2=SBUF;
RI=0;
}
}