stc51单片机一般带有1个串口,有的带有2个串口,串口一般用于下载程序和串口通信。串口通信特别适合控制设备,所以工控机的电脑上一般都带有串口。
51单片机的串口引脚为p3.0引脚与p3.1引脚,分别是rxd和txd引脚。串口通信可以用于单片机和其它芯片通信或者单片机之间通信或者单片机与电脑通信。串口通信一般都是交叉连接。标准的串口有9个引脚,我们一般情况下,只用rxd txd gnd,剩下的引脚都是通信控制引脚,在以前用于控制电话机,现在已经基本上不用了。所以我们的51单片机上只保留了rxd和txd。
串口通信的协议非常简单。如果单片机上的串口不够用,还可以用任意两个引脚模拟串口通信。
一般情况,我们用带有起始位的8位串口协议。波特率常用9600,此外还有1200 2400 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既是发送数据寄存器,又是接收数据寄存器。
可以把上面的功能模块封装成函数,在使用的时候,直接调用。
确立数据管理领导地位 Exar公司加速布局大数据
VESD监控系统的优点有哪些
人工智能将在5大领域率先落地应用
小康智能助手健康机器人是一款提供健康服务的智能机器人
百度数据中心采用Xilinx FPGA加速机器学习应用
如何使用51单片机实现串口通信
竞争华为:三星表态要拿下全球网络设备20%的份额
车市持续下行 新能源车型同比下降现象愈加明显
ChatGPT + Raksmart云服务器:引领时代的智慧之选
放大器的所有这些干扰从哪里来?
封装是什么意思?封装有何意义?
中电数通:深耕智慧大安全行业,守护城市公共安全
吉利曾有意并购,宝腾表示会寻找合作但不放弃经营权
据调查有80%的企业担心持有比特币会遭到DD0S攻击
小米6将有三种机型:无缘骁龙835!联发科X30处理器,1999元起你买不买?
芯片短缺持续发酵,波及汽车和消费电子行业
美蓓亚三美全资收购日立功率半导体
3D打印对环境的影响比传统制造小得多
WTK6900G语音识别芯片在空调遥控器的应用
如何实现高精度测量的节能模数转换