第11课 串口通信
(1)计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。
•通信的基本方式可分为并行通信和串行通信两种。
•并行通信通常是将数据字节的各位用多条数据线同时进行传送,如图1所示。并行通信控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。
•
串行通信是将数据字节分成一位一位的形式在一条传输线上逐个地传输,如图2所示。 串行通信的特点:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。
目前串行通信在单片机双机、多机以及单片机与PC机之间的通信等方面得到了广泛应用。
(2)同步通信和异步通信
1、异步通信
异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致。
异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的间隙(时间间隔)是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。
异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高。
同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。发送方对接收方的同步可以通过两种方法实现。
同步通信的特点是以特定的位组合“01111110”作为帧的开始和结束标志,所传输的一帧数据可以是任意位。所以传输的效率较高,但实现的硬件设备比异步通信复杂。
(3)串行通信的传输方向
1、单工
单工是指数据传输仅能沿一个方向,不能实现反向传输。
2、半双工
半双工是指数据传输可以沿两个方向,但需要分时进行。
3、全双工
全双工是指数据可以同时进行双向传输。
(4)串行通信的错误校验
(5)传输速率与传输距离
1、传输速率
比特率是每秒钟传输二进制代码的位数,单位是:位/秒(bps)。如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位、1个停止位、8个数据位),这时的比特率为:
10位×240个/秒 = 2400 bps
(6)RS-232C电平与TTL电平
2、串行通信编程时主要应注意的事项
3、51单片机串行口结构
串行口电路也称为通用异步收发器(UART).从原理上讲,一个UART应包括发送器电路、接收器电路和控制电路。51单片机的UART已集成在其中,构成一个全双工串行口,这个口即可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。
80C51的串行口通过引脚RXD(P30,串行口数据接收端)和引脚TXD(P31,串行数据发送端)与外疗设备进行串行通信。如图3为单片机串行口的结构。
图中共有两个串行口缓冲寄存器(SBUF),一个是发送寄存器,一个是接收寄存器,以便单片机能以全双工方式进行通信。串行发送时,从片内总线向发送SBUF写入数据;接收时,从接收SBUF向片内总线读出数据。它们都是可寻址的寄存器,但因为发送和接收不能同时进行,所以给这两个寄存器赋以同一地址99H.
在接收方式下,串行数据通过引脚RXD(P30)进入,由于在接收寄存器之前还有移位寄存器,从而构成了串行接收的双缓冲结构,以避免在数据接收过程上中出现帧重叠错误,即在下一帧数据来时,前一帧数据还没有读走。
在发送方式下,串行数据通过引脚TXD(P31)发出。与接收情况不同的,发送数据时,由于CPU是主动的,不会发生帧重叠错误,因此发送电路就不需又重缓冲结构,这样可以提高数据发送的速度。
4、相关的寄存器
与串口通信相关的相关的寄存器主要有四个,串行口控制寄存器SCON、电源控制寄存器PCON、定时器工作方式寄存器TMOD、定时器控制寄存器TCON、中断允许寄存器IE,后面主要跟波特率设置及中波相关,前面在讲中断和定时器已作过介绍,所以这里只对SCON和PCON寄存器进行介绍。
(1)串行控制寄存器SCON
串行控制寄存器SCON用于设置串行口的工作方式、监视串行口的工作状态、控制发送与接收的状态等。它是一个既可以字节寻址又可以位寻址的8位特殊功能寄存器。其格式如下。
(1)SM0 SM1:串行口工作方式选择位。其状态组合所对应的工作方式如表9-1所示。
(2) SM2:多机通信控制器位。在方式0中,SM2必须设
单片机串口通 相关文章:
- 单片机通过串口通信调整时间的程序(12-02)
- 单片机串口通信控制步进电机(12-02)
- 51单片机串口通信试验汇编程序(12-01)
- AVR和51单片机串口通信简单实验(11-30)
- AVR单片机串口通信程序(11-29)
- 单片机串口通信源码(11-29)