STC51单片机一般带有1个串口,有的带有2个串口,串口一般用于下载程序和串口通讯。串口通讯特别合适操控设备,所以工控机的电脑上一般都带有串口。
51单片机的串口引脚为P3.0引脚与P3.1引脚,分别是RXD和TXD引脚。串口通讯能够用于单片机和其它芯片通讯或许单片机之间通讯或许单片机与电脑通讯。串口通讯一般都是穿插衔接。规范的串口有9个引脚,咱们一般状况下,只用RXD TXD GND,剩余的引脚都是通讯操控引脚,在曾经用于操控电话机,现在现已基本上不用了。所以咱们的51单片机上只保留了RXD和TXD。
串口通讯的协议十分简略。假如单片机上的串口不够用,还能够用恣意两个引脚模仿串口通讯。
一般状况,咱们用带有开始位的8位串口协议。波特率常用9600,此外还有12002400 4800 115200等。
翻开串口的程序如下:
TMOD=0x20;
TH1=0xFD;
TL1=0xFD;
SCON=0X50;
TR1=1;
程序涉及到5个寄存器的装备。
TMOD是定时器操控寄存器
TH1和TL1是定时器1的初值寄存器
SCON是串行口操控寄存器
TR1是TCON寄存器中的bit4,由于该寄存器能够位操作
串口发送数据的程序如下所示:
SBUF=55; // 发送数据55
while(!TI);
TI=0;
程序涉及到2个寄存器
SBUF是串口数据寄存器
TI是SCON寄存器中的bit1,位操作
串口接纳数据的程序如下所示:
if(RI)
{
recebuf=SBUF;
RI=0;
}
程序涉及到2个寄存器
SBUF是串口数据寄存器
RI是SCON寄存器中的bit0,位操作
SBUF既是发送数据寄存器,又是接纳数据寄存器。
能够把上面的功能模块封装成函数,在运用的时分,直接调用。