51单片机串口接收数据接收服务器数据

一、5151单片机串口接收数据的主从模式首先要设定工作方式3:(主从模式+波特率可变)

注:主机和从机都要为工作方式3

0):串行口为11异步通信接口发送或接收一帧信息包括1位起始位“0”、8位数据位、1位可编程位、1位停止位“1”。发送数据:发送前先根据通信协议由软件设置TB8为“奇偶校验位”或“數据标识位”,然后将要发送的数据写入SBUF即能启动发送器。发送过程是由执行任何一条以SBUF为目的寄存器的指令而启动的把8位数据装入SBUF,同时还把TB8装到发送移位寄存器的第9位上然后从TXDP3.1)端口输出一帧数据。接收数据:先置REN=1使串行口为允许接收状态,同时还要将RI清“0”然后再根据SM2的状态和所接收到的RB8的状态决定此串行口在信息到来后是否置R1=1,并申请中断通知CPU接收数据。当SM2=0时不管RB8为“0”还是为“1”,都置RI=1此串行口将接收发送来的信息。当SM2=1时且RB8=1,表示在多机通信情况下接收的信息为“地址帧”, 此时置RI=1,串行口将接收发来的地址。当SM2=1时且RB8=0,表示在多机通信情况下接收的信息为“数据帧”, 但不是发给本从机的,此时RI不置为“1”因而SBUF中接收的数据帧将丢失。

工莋方式3 SM0 SM1 :1 1):为波特率可变的11位异步通信方式除了波特率有所区别之外,其余方式都与方式2相同】【以上内容摘自网络】

二、主机的配置发送地址时,把TB8设定为1发送数据时TB8设定为0

(类似于:主机  TB8=1发送的是地址,TB8=0发送的是数据)

从机接收时首先串口初始化时,使SM2=1(接收地址模式即只能接收到TB8=1的数据,才触发中断)主机发送TB=0的数据,被认为是总线上的主机发送给别机的通信数据本机丢弃,不產生中断

2. 接收的地址与本机地址相符后,使SM2=0(接收数据模式接收数据正常触发中断)

(类似于:从机 SM2=1只接收地址,SM2=0只接收数据)

RXData; //没有接收到结束标志正常保存数据至数组

 //定时器1,工作方式28位、自动重装

1、从机和从机之间通信只能通过主机中转。

2、各从机的TXD输出不能设置为推挽输出要设置为开漏输出。

3、通信总线不能过长最好不超过2米。

加载中请稍候......

内容提示:PC机与51单片机串口接收數据之间的串行通讯、数据的发送和接收

文档格式:PDF| 浏览次数:745| 上传日期: 08:07:45| 文档星级:?????

我要回帖

更多关于 51单片机串口接收数据 的文章

 

随机推荐