51单片机串口通信是全双工的,但是为什么又说它的发送和接受不可以同时进行呢

51单片机又两个串行口:一个是发送寄存器,一个是接收寄存器,以便mcs—51能以全双工方式进行通信。串行发送时,从片内总线向发送sbuf写入数据;串行接受时,从接收sbuf向片内总线读出数据。它们都是可寻址的寄存器,但因为发送和接收不能同时进行,所以给这两个寄存器赋予同一地址。

51单片机串口通信是全双工的,发送和接受可以同时进行。不可以同时进行的是半双工。

全双工方式分别由两根不同的传输线传送数据时,通信双方都能在同一时刻进行发送和接收操作,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在发送和接受两个方向上传送。

半双工使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据。采用半双工方式时,通信系统每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,因此,会产生时间延迟。收/发开关实际上是由软件控制的电子开关。

扩展资料:

全双工方式在发送设备的发送方和接收设备的接收方之间采取点到点的连接,这意味着在全双工的传送方式下,可以得到更高的数据传输速度。

全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。这种方式要求通讯双方均有发送器和接收器,同时,需要2根数据线传送数据信号。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-10
他的意思是说因为cpu不可以同时发出发送和接受指令,且发送寄存器只能写入而接受寄存器只能读取,所以给这两个寄存器赋予同一地址。
其实发送和接收可以同时进行。本回答被提问者采纳
第2个回答  2018-11-22
串行口内部有两个独立的数据缓冲器sbuf,一个用于向外部发送数据,一个用于接受外部数据。
发送缓冲器只能由CPU写入要发送的数据,CPU不能读出数据。
接受缓冲器只能由CPU读出数据,CPU不能写入数据。
因此,两个缓冲器可以共用一个地址,由读、写指令识别其是发送缓冲器还是接受缓冲器。
第3个回答  推荐于2017-10-06
串口有不同的工作方式,方式0不能全双工,其它的都可以全双工工作。发送SBUF和接收SBUF地址是一样的,但是物理空间是分开的
第4个回答  2020-06-10
51的串口通信是全双工没错,但是51的CPU本身没办法同时收发数据,简单说就是它用不上串口的全双工功能。

51单片机串口通信是全双工的,但是为什么又说它的发送和接受不可以同时进...
51单片机串口通信是全双工的,发送和接受可以同时进行。不可以同时进行的是半双工。全双工方式分别由两根不同的传输线传送数据时,通信双方都能在同一时刻进行发送和接收操作,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在发送和接受两个方向上传送。半双工使用同一根传输线既作接收又...

两个单片机的串口可以同时发数据吗?他们的数据在总线上会产生碰撞吗?一...
虽然单片机的串口是全双工,但是一般是不能同时进行数据收发的。以为你想想他怎么对sbuf寄存器进行处理,只有一个寄存器,

51单片机串口是什么工作方式?
一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。串口可以有底下...

SBUF寄存器的发送与接收问题。
51的SBUF的收和发是两个寄存器,只不过用了同一个地址,理论上是可以同时收发的 收数据直接读取SBUF寄存器即可 TI和RI是硬件置位

51单片机串口中断,RI与TI会不会出现同时为1的现象??新手求解
就是说,如果有很小的一点可能性,RI和TI同时为1,那就要两个都处理。实际上,RI和TI同时为1的可能性还是很大的,51的串口是全双工的,另外,RI和TI标志如果不手工清零,就会一直为1。如果你发送完一个字节后不再处理,那么TI就会一直保持置位,如果这时收到一个字节,RI与TI就会同时为1了。

51单片机半双工和全双工发送和接收数据的时候是在同一根线上还是2根线...
全双工一般指的是异步通信。异步通信时,51单片机允许在RXD和TXD引脚(两根线)上同时进行数据收发传输,两根线上的逻辑电平高低相对于公共接地端VSS。而同步通信只能是半双工,一根线用作时钟,另一个线用来传输数据。两根线上的逻辑电平高低同样相对于公共接地端VSS。拙见,希望对你有帮助。

MCS-51单片机什么是全双工,半双工,单工串行通信?
单工只有一根数据线,信息只能单向传送。半双工也只有一根数据线,但信息可以分时双向传送。全双工有两根数据线,可以同时双向传送。半双工可以在一个信号载体的两个方向上传输,但是不能同时传输。例如,在一个局域网上使用具有半双工传输的技术,一个工作站可以在线上发送数据,然后立即在线上接收数据,这些...

mcs51单片机的串行口是
MCS-51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还可以构成同步移位寄存器...

MCS-51单片机什么是全双工,半双工,单工串行通信?
单工只有一根数据线,信息只能单向传送。半双工也只有一根数据线,但信息可以分时双向传送。全双工有两根数据线,可以同时双向传送。决定程序执行顺序的寄存器是(PC),它的最大寻址范围是(64K)。PC的值是(程序运行当前)的地址。P0口当不作系统扩展时,可作(IO)使用。当作系统扩展时,P0口担任分时...

51单片机串口通信问题
1、是在一个字节接收成功或一个字节发送成功以后进入中断程序(不过,一般在发送时是将中断关闭的,也就不进入中断了)。此时,定时器的作用就是为了设定串口速率,因为单片机的速度和串口的速度不是一个数量级的,所以一定要有个变速箱。2、数据的接收是由硬件控制的,其实,数据的接收发送都是有一个...

相似回答