串行接口及串行通信技术
- 格式:docx
- 大小:58.79 KB
- 文档页数:10
rs232、rs422与rs485接口标准及应用技术RS232、RS422和RS485都是串行通信接口标准,用于在计算机和外部设备之间传输数据。
它们之间的主要区别在于传输距离、速率和信号电平。
1. RS232:RS232是最早的串行通信标准,常用于连接计算机和调制解调器、终端设备、打印机等。
它使用单端口传输数据,信号电平为正负12V,传输距离最远为50英尺(约15米),最高速率为115.2 kbps。
RS232常用的连接线有DB9和DB25两种,其中DB9是9针连接器,DB25是25针连接器。
2. RS422:RS422是一种差分信号传输的串行通信标准,可用于长距离传输和高速率通信。
它使用两对信号线(正负)进行数据传输,信号电平为正负2V到正负6V。
RS422的传输距离可达4000英尺(约1200米),最高速率可达10 Mbps。
RS422常用于工业控制系统、远程监控和数据采集等领域。
3. RS485:RS485也是一种差分信号传输的串行通信标准,与RS422相似,但支持多点通信。
它可以连接多个设备,每个设备都有一个独立的地址,可以进行全双工通信。
RS485的信号电平和传输距离与RS422相同,但最高速率可达10 Mbps。
RS485常用于工业自动化、楼宇自控、安防系统等需要多点通信的场景。
应用技术:1. 硬件连接:- RS232通常使用DB9或DB25连接器,通过串行线缆连接计算机和外部设备。
- RS422和RS485通常使用终端电阻和平衡线连接设备,可以使用不同的连接器,如RJ45。
2. 通信协议:- 通信协议是定义数据传输格式和控制信号的规范。
常见的通信协议包括MODBUS、Profibus、DMX等。
- 通信协议可以根据应用需求进行定制,以满足特定的数据传输和控制要求。
3. 信号转换:- 由于不同设备可能使用不同的串口标准,可能需要使用信号转换器进行转换,以实现不同标准之间的互连。
总结:RS232、RS422和RS485是常用的串行通信接口标准,用于计算机和外部设备之间的数据传输。
几种串行通信接口标准详解在数据通信、计算机网络以及分布式工业控制系统中,经常采用串行通信来交换数据和信息。
1969年,美国电子工业协会(EIA)公布了RS-232C作为串行通信接口的电气标准,该标准定义了数据终端设备(DTE)和数据通信设备(DCE)间按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,在世界范围内得到了广泛的应用。
但它采用单端驱动非差分接收电路,因而存在着传输距离不太远(最大传输距离15m)和传送速率不太高(最大位速率为20Kb/s)的问题。
远距离串行通信必须使用Modem,增加了成本。
在分布式控制系统和工业局部网络中,传输距离常介于近距离(<20m=和远距离(>2km)之间的情况,这时RS-232C(25脚连接器)不能采用,用Modem又不经济,因而需要制定新的串行通信接口标准。
1977年EIA制定了RS-449。
它除了保留与RS-232C兼容的特点外,还在提高传输速率,增加传输距离及改进电气特性等方面作了很大努力,并增加了10个控制信号。
与RS-449同时推出的还有RS-422和RS-423,它们是RS-449的标准子集。
另外,还有RS-485,它是RS-422的变形。
RS-422、RS-423是全双工的,而RS-485是半双工的。
RS-422标准规定采用平衡驱动差分接收电路,提高了数据传输速率(最大位速率为10Mb/s),增加了传输距离(最大传输距离1200m)。
RS-423标准规定采用单端驱动差分接收电路,其电气性能与RS-232C几乎相同,并设计成可连接RS-232C和RS-422。
它一端可与RS-422连接,另一端则可与RS-232C连接,提供了一种从旧技术到新技术过渡的手段。
同时又提高位速率(最大为300Kb/s)和传输距离(最大为600m)。
因RS-485为半双工的,当用于多站互连时可节省信号线,便于高速、远距离传送。
许多智能仪器设备均配有RS-485总线接口,将它们联网也十分方便。
sci串口通信原理-回复SCI(串行通信接口)是一种常见的串口通信协议,被广泛应用于各种电子设备中。
在本文中,我们将一步一步回答关于SCI串口通信原理的问题,包括它的工作原理、常见的应用场景以及一些技术细节。
首先,让我们来了解SCI串口通信的工作原理。
SCI是一种串行通信接口,它通过使用单一的线路来传输数据。
这条线路被分为两个方向,一个用于传输数据(TX),一个用于接收数据(RX)。
通过在这两个方向上的电位变化,可以实现数据的传输。
SCI串口通信一般使用异步传输模式,即数据按照一个位一个位地传输,每个位之间使用起始位和停止位进行分隔。
在SCI串口通信中,每个数据位通常是8位或9位。
其中,8个数据位中的7个用于传输数据的真正内容,而最高位为校验位。
校验位有助于检测数据传输错误,提高数据传输的可靠性。
在接收端,接收器会比对接收到的校验位和传输过程中计算得到的校验位,以检测并纠正任何可能的错误。
除了数据位外,SCI串口通信还使用两个控制信号:RTS(请求发送)和CTS(清除发送)。
RTS信号由发送端控制,用于请求发送数据。
而CTS 信号由接收端控制,用于指示接收端是否准备好接收数据。
这两个控制信号的使用可以有效地控制数据的传输速率,避免数据传输丢失或溢出的情况发生。
SCI串口通信可以应用于多种场景中。
例如,它常用于个人电脑与其他外部设备之间的通信,如打印机、调制解调器、数码相机等。
此外,它还可以用于嵌入式系统中,如工业自动化、机器人控制、仪器仪表等。
由于SCI串口通信具有简单、可靠、成本低廉等特点,因此在各种场景下都有广泛的应用。
在SCI串口通信中,还有一些技术细节需要考虑。
首先是波特率的选择,波特率表示数据传输速度,常用的波特率有9600、19200、38400等。
选择合适的波特率能够平衡数据传输速度和系统资源的利用率。
其次是数据格式的设置,包括数据位数、校验位和停止位。
不同的应用场景可能需要不同的数据格式设置,需要根据具体需求进行调整。
sci串行通信接口工作原理
SCI(Serial Communication Interface)是一种串行通信接口,用于在数字系统中进行串行数据传输。
SCI通常包括发送和接收端,通过串行方式传递数据,它在嵌入式系统和通信领域中被广泛使用。
以下是SCI串行通信接口的基本工作原理:
1.帧结构:SCI通信以帧为单位,每一帧包含了一定数量的比特,通常包括起始位、数据位、奇偶校验位(可选)、停止位等。
这种帧结构有助于接收端正确解析和识别数据。
2.波特率设置:波特率是SCI通信的速率,表示每秒传输的比特数。
在SCI通信中,发送端和接收端必须配置相同的波特率,以确保数据的正确传输。
3.起始位和停止位:为了使接收端能够准确识别帧的起始和结束,通常在每帧的开始设置一个起始位,结束时设置一个或多个停止位。
4.数据传输:数据以二进制形式传输,由发送端按照事先定义好的帧结构进行发送。
接收端在正确配置的情况下,能够识别并解析这些帧,将二进制数据还原为原始数据。
5.同步机制:为确保数据的同步传输,通常在帧的开始设置一个起始位,作为同步信号,帮助接收端正确解析后续的数据。
6.协议选择:在SCI通信中,数据的传输可以使用不同的协议,例如异步传输和同步传输。
异步通信不需要与时钟同步,而同步通信则需要与外部时钟同步。
总体而言,SCI串行通信接口通过在帧中使用起始位、数据位、停止位等结构,按照事先定义好的协议传输数据。
这种方式具有灵活性和可靠性,适用于许多嵌入式系统和通信场景。
单片机串行口几种工作方式的波特率单片机串行口是单片机与外部设备进行通信的重要接口之一。
在串行口通信中,波特率是一个关键参数。
波特率是指每秒钟传送的波特数量,用于衡量数据的传输速率。
单片机串行口的波特率通常选择常见的标准波特率,例如9600、19200、38400等。
单片机串行口的工作方式有多种,下面将详细介绍几种不同的工作方式下的波特率设置。
1. 同步串行口同步串行口是指在传输数据时,发送端和接收端通过一个时钟信号来同步数据的传输。
在同步串行口中,波特率的设置是固定的,因为发送端和接收端需要以相同的波特率来同步数据传输。
常见的同步串行口波特率包括115200、230400等。
2. 异步串行口异步串行口是指在传输数据时,发送端和接收端通过起始位、停止位来进行数据的同步。
在异步串行口中,波特率的设置是非常重要的,因为发送端和接收端需要以相同的波特率来正确解析数据。
常见的异步串行口波特率包括9600、19200、38400等。
3. 高速串行口随着单片机技术的进步和应用的广泛,对串行口的传输速率要求也越来越高。
高速串行口通常指的是波特率在1Mbps及以上的串行口。
高速串行口通常应用于需要大量数据传输的场景,例如高速数据采集、图像传输等。
4. 自适应波特率有些情况下,单片机需要与多种速率不同的设备通信,这就需要单片机具备自适应波特率的能力。
自适应波特率指的是单片机可以根据外部设备的对应波特率来自动调整自身的波特率。
这种方式可以极大地提高单片机的通信灵活性和适用性。
在实际应用中,程序员需要根据具体的通信需求选择合适的波特率,并在程序中进行相应的设置和配置。
还需要注意波特率的选取要与外部设备相匹配,以确保数据的正确传输和解析。
通过上述对单片机串行口几种工作方式的波特率的介绍,我们可以更好地理解单片机串行口通信中波特率的重要性以及不同工作方式下的波特率设置方法。
在实际应用中,合理选择和设置波特率将有利于提高通信的可靠性和稳定性。
串行数据通信的接口标准
串行数据通信的接口标准是指用于连接串行设备的数据通信协议和规范。
在计算机和外部设备之间进行串行数据通信时,需要遵循一定的接口标准以确保数据的正确传输。
常见的串行数据通信接口标准包括RS-232、RS-485、RS-422等。
这些标准规定了信号的电压等级、数据传输速率、数据格式、控制信号等,以确保不同的设备之间能够正确地进行通信。
通过这些标准的规范,可以保证数据在串行设备之间的稳定传输,同时实现数据的可靠性和准确性。
在工业自动化、远程控制、智能家居等领域,串行数据通信的接口标准发挥着重要的作用。
串行接口的分类
串行接口是一种用于数据传输的接口标准,按照其特性和功用,可以分为以下几类:
1. RS-232串行接口:是早期计算机制造商和设备制造商广泛使用的一种通信接口,用于支持计算机与各种外设设备之间的通信。
通常使用9针或25针的D型插头连接,主要用于较短距离的串行数据传输。
2. RS-422/RS-485串行接口:是一种更为先进的串行通信接口,支持长距离传输和多点连接,能够在上千米的距离上进行高速数据传输。
RS-422接口采用差分信号技术消除噪声干扰,RS-485接口则支持多点连接和多主机通信。
3. USB串行接口:是一种通用串行总线接口,用于连接计算机和各种数字设备。
USB接口有多种规格,包括USB 1.0、USB 2.0、USB 3.0等,具有高速传输、热插拔和通用性强等优点。
4. Ethernet串行接口:是一种通用局域网接口,采用规范化的物理层标准和协议,用于支持计算机和网络设备之间的数据传输,其传输速度达到了千兆位每秒以上。
5. HDMI串行接口:是一种高清晰度多媒体接口标准,用于数字音频/视频传输。
该接口可支持高清晰度、3D影像、互联网传输等功能。
综上所述,不同类型的串行接口具有不同的特性和应用范围,常用的串行接口包括RS-232、RS-422/RS-485、USB、Ethernet和HDMI等。
单片机中常见的接口类型及其功能介绍单片机(microcontroller)是一种集成了中央处理器、内存和各种外围接口的微型计算机系统。
它通常用于嵌入式系统中,用于控制和监控各种设备。
接口是单片机与外部设备之间进行数据和信号传输的通道。
本文就单片机中常见的接口类型及其功能进行介绍。
一、串行接口1. 串行通信口(USART):USART是单片机与外部设备之间进行串行数据通信的接口。
它可以实现异步或同步传输,常用于与计算机、模块、传感器等设备进行数据交换。
2. SPI(串行外围接口):SPI接口是一种全双工、同步的串行数据接口,通常用于连接单片机与存储器、传感器以及其他外围设备。
SPI接口具有较高的传输速度和灵活性,可以实现多主多从的数据通信。
3. I2C(Inter-Integrated Circuit):I2C接口是一种面向外部设备的串行通信总线,用于连接不同的芯片或模块。
I2C接口通过两条双向线路进行数据传输,可以实现多主多从的通信方式,并且占用的引脚较少。
二、并行接口1. GPIO(通用输入/输出):GPIO接口是单片机中最常见的接口之一,用于连接与单片机进行输入输出的外围设备。
通过设置相应的寄存器和引脚状态,可以实现单片机对外部设备进行控制和监测。
2. ADC(模数转换器):ADC接口用于将模拟信号转换为数字信号,常用于单片机中对模拟信号的采集和处理。
通过ADC接口,单片机可以将外部传感器等模拟信号转化为数字信号,便于处理和分析。
3. DAC(数模转换器):DAC接口用于将数字信号转换为模拟信号。
通过DAC接口,单片机可以控制外部设备的模拟量输出,如音频输出、电压控制等。
三、特殊接口1. PWM(脉冲宽度调制):PWM接口用于产生特定占空比的脉冲信号。
通过调节脉冲的宽度和周期,可以控制外部设备的电平、亮度、速度等。
PWM接口常用于控制电机、LED灯、舵机等设备。
2. I2S(串行音频接口):I2S接口用于在单片机和音频设备之间进行数字音频数据传输。
串行接口RS232介绍及应用介绍:RS232接口通常使用9针或25针的D型连接器,其中9针连接器是最常见的。
其中的信号线包括数据传输线(TX、RX)、硬件流控制线(RTS、CTS)、请求发送线(DTR、DSR)、接收线(RI)和地线(GND)等。
RS232接口的工作方式是通过发送和接收电压来传输数据,典型的电平标准是±12V,其中正电压表示逻辑0,负电压表示逻辑1、信号采用倒装的方式传输,即1对应低电平,0对应高电平。
为了确保可靠的通信,通常还需要在远端设备和接口之间使用MAX232转换芯片,将RS232接口的电压转换为标准的TTL电平。
应用:1.计算机通信:RS232接口被广泛用于计算机和外部设备(如打印机、调制解调器、终端等)之间的通信。
通过RS232接口,计算机可以与外设进行数据的传输和控制,实现数据输出、输入和操作控制等功能。
2.工业自动化:RS232接口在工业自动化领域中也得到了广泛的应用。
在工控系统中,RS232接口可以连接各种传感器、执行器、PLC等设备,实现数据的采集、控制和监测等功能。
它可以用于数据采集设备的现场配置、监控设备的故障诊断和远程控制等。
3.医疗设备:RS232接口在医疗设备中也有重要的应用。
例如,医疗仪器、医疗设备的数据传输、监测和控制等功能常常使用RS232接口来实现。
通过RS232接口,医生和技术人员可以方便地获取设备的数据、调整参数等,提升医疗设备的效能和稳定性。
4.安防监控:安防监控系统中的摄像头、录像机、报警器等设备通常也使用RS232接口进行数据的传输和控制。
通过RS232接口,可以实现对摄像头的控制、图像的传输和录制等功能,便于安防人员对监控设备进行操作和管理。
总结:RS232接口作为一种成熟的串行通信标准,在各个领域都得到了广泛的应用。
它能够实现可靠的数据传输和控制,具有简单、可靠、易于扩展等特点。
随着现代通信技术的不断发展,RS232接口也在逐渐被更先进的接口标准所取代,如USB、Ethernet等。
第9章 串行接口及串行通信技术 U 难点
• 串行通信的四种工作方式 @ 要求
掌握: • 串行通信的控制寄存器 • 串行通信的工作方式0和方式1 了解: • 串行通信的基础知识 • 串行通信的工作方式2和方式3
9.1 串行通信的基础知识 9.2 MCS-51单片机串行通信的控制寄存器 9.3 MCS-51单片机串行通信工作方式
9.1 串行通信的基础知识 串行数据通信要解决两个关键技术问题,一个是数据传送,另一个是数据转换。所谓数据传送就是指数据以什么形式进行传送。所谓数据转换就是指单片机在接受数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如何把并行数据转换为串行数据进行发送。 9.1.1 数据传送 单片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和接收端使用的不是同一个时钟。异步串行通信通常以字符(或者字节)为单位组成字符帧传送。字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。 1. 字符帧的帧格式
字符帧由四部分组成,分别是起始位、数据位、奇偶校验位、停止位。如图9.1所示: 1) 起始位:位于字符帧的开头,只占一位,始终位逻辑低电平,表示发送端开始发送一帧数据。 2) 数据位:紧跟起始位后,可取5、6、7、8位,低位在前,高位在后。 3) 奇偶校验位:占一位,用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有三种可能,即奇偶校验、偶校验和无校验,由用户根据需要选定。 4) 停止位:末尾,为逻辑“1”高电平,可取1、1.5、2位,表示一帧字符传送完毕。
图9.1 字符帧格式 异步串行通信的字符帧可以是连续的,也可以是断续的。连续的异步串行通信,是在一个字符格式的停止位之后立即发送下一个字符的起始位,开始一个新的字符的传送,即帧与帧之间是连续的。而断续的异步串行通信,则是在一帧结束之后不一定接着传送下一个字符,不传送时维持数据线的高电平状态,使数据线处于空闲。其后,新的字符传送可在任何时候开始,并不要求整倍数的位时间。 2. 传送的速率
串行通信的速率用波特率来表示,所谓波特率就是指一秒钟传送数据位的个数。每秒钟传送一个数据位就是1波特。即:1波特=1bps(位/秒) 在串行通信中,数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,波特率就低,通信速度就慢。 9.1.2 数据转换 MCS-51单片机只能处理8位的并行数据,所以在进行串行数据的发送时,要把并行数据转换为串行数据。而在接收数据时,只有把接收的串行数据转换成并行数据,单片机才能进行处理。 能实现这种转换的设备,称为通用异步接收发送器(Universal Asynchronous Receiver /Transmitter)。这种设备已集成到单片机内部,称为串行接口电路。串行接口电路为用户提供了两个串行口缓冲寄存器(SBUF),一个称为发送缓存器,它的用途是接收片内总线送来的数据,即发送缓冲器只能写不能读。发送缓冲器中的数据通过TXD引脚向外传送。另一个称为接收缓冲器,它的用途是向片内总线发送数据,即接收缓冲器只能读不能写。接收缓冲器通过RXD引脚接收数据。因为这两个缓冲器一个只能写,一个只能读,所以共用一个地址99H。串行接口电路如图9.2所示。
图9.2 MCS-51串行口寄存器结构 9.2 MCS-51单片机串行通信的控制寄存器 1. 串行口控制寄存器(SCON) SCON是MCS-51单片机的一个可位寻址的专用寄存器,用于串行数据通信的控制。单元地址为98H,位地址为98H~9FH。寄存器的内容及位地址表示如下: 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 位符号 SM0 SM1 SM2 REN TB8 RB8 TI RI 各位的说明如下: 1) SM0 、SM1——串行口工作方式选择位 其状态组合和对应工作方式为: SM0 SM1 工作方式 0 0 方式0 0 1 方式1 1 0 方式2 1 1 方式3 2) SM2——允许方式2、3的多机通信控制位 在方式2和3中,若SM2=1且接收到的第九位数据(RB8)为1,才将接收到的前8位数据送入接收SBUF中,并置位RI产生中断请求;否则丢弃前8位数据。若SM2=0,则不论第九位数据(RB8)为1还是为0,都将前8位送入接收SBUF中,并产生中断请求。 方式0时,SM2必须置0。 3) REN——允许接收位 REN=0 禁止接收数据 REN=1 允许接收数据 4) TB8——发送数据位8 在方式2、3时,TB8的内容是要发送的第9位数据,其值由用户通过软件来设置。 5) RB8——接收数据位8 在方式2、3时,RB8是接收的第9位数据。 在方式1时,RB8是接收的停止位 在方式0时,不使用RB8 6) TI——发送中断标志位 在方式0时,发送完第8位数据后,该位由硬件置位。 在其它方式下,于发送停止位之前,由硬件置位。 因此,TI=1表示帧发送结束,其状态既可供软件查询使用,也可请求中断。 TI由软件清“0”。 7) RI——接收中断标志位 在方式0时,接收完第8位数据后,该位由硬件置位。 在其它方式下,于接收到停止位之前,该位由硬件置位。 因此,RI=1表示帧接收结束,其状态既可供软件查询使用,也可请求中断。 RI由软件清“0”。 2. 电源控制寄存器(PCON)
PCON不可位寻址,字节地址为87H。它主要是为CHMOS型单片机80C51的电源控制而设置的专用寄存器。其内容如下: 与串行通信有关的只有D7位(SMOD),该位为波特率倍增位,当SMOD=1时,串行口波特率增加一倍,当SMOD=0时,串行口波特率为设定值。当系统复位时,SMOD=0。 3. 中断允许控制寄存器(IE)
此寄存器在第六章已经介绍过,在此不作赘述。 9.3 MCS-51单片机串行通信工作方式 串行口的工作方式由SM0和SM1确定,编码和功能如表8-1所示。 表8-1 串行口工作方式 SM0 SM1 方式 功能说明 波特率 0 0 方式0 移位寄存器方式 fosc/12 0 1 方式1 8位UART 可变 1 0 方式2 9位UART fosc/64 或者fosc/32 1 1 方式3 9位UART 可变 方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由T1的溢出率决定。 9.3.1 串行工作方式0 串行口工作在方式0时,串行口作同步移位寄存器使用。以RXD(P3.0)端作为数据的输入或输出端,而TXD(P3.1)提供移位的时钟脉冲。外接移位寄存器,实现数据并行输入或输出。工作在方式0时,波特率为fosc/12,即一个机器周期移位一次。 1. 数据输出(发送)
当数据写入SBUF后,数据从RXD端在移位脉冲(TXD)的控制下,逐位移入74LS164,74LS164能完
位序 D7 D6 D5 D4 D3 D2 D1 D0 位符号 SMOD / / / GF1 GF0 PD IDL 成数据的串并转换。当8位数据全部移出后,TI由硬件置位,发生中断请求。若CPU响应中断,则从0023H单元开始执行串行口中断服务程序,数据由74LS164并行输出。其接口逻辑如图9.3所示。由逻辑图可知,通过外接74LS164,串行口能够实现数据的并行输出。
图9.3 外接移位寄存器输出 2. 数据输入(接收)
要实现接收数据,必须首先把SCON中的允许接收位REN设置为1。当REN设置为1时,数据就在移位脉冲的控制下,从RXD端输入。当接收到8位数据时,置位接收中断标志位RI,发生中断请求。其接口逻辑如图9.4所示。由逻辑图可知,通过外接74LS165,串行口能够实现数据的并行输入。
图9.4 外接移位寄存器输入 【例8-1】使用74LS164的并行输出端接8支发光二极管,利用它的串入并出功能,把发光二极管从左到右依次点亮,并反复循环。假定发光二极管为共阴极接法。
图9.5 电路设计 解:电路如图9.5。软件部分如下: ORG 0000H LJMP MAIN ORG 1000H MAIN: MOV SCON,#00H ;串行口工作在方式0
CLR ES ;禁止串行中断
MOV A, #80H ;发光二极管从左边亮起
DELR: CLR P1.0 ;关闭并行输出
MOV SBUF, A ;串行输出
WAINT: JNB TI, WAIT ;状态查询 SETB P1.0 ;开启并行输出
ACALL DELAY ;调用延时子程序
CLR TI ;清发送中断标志
RR A ;发光右移
AJMP DELR ;继续
EDN 9.3.2 串行工作方式1 方式1为10位为一帧的异步串行通信方式。其帧格式为1个起始位、8个数据位和1个停止位。如图9.6所示。
图9.6 方式1的帧格式 1. 数据输出(发送)
数据写入SBUF后,开始发送,此时由硬件加入起始位和停止位,构成一帧数据,由TXD串行输出。输出一帧数据后,TXD保持在高电平状态下,并将TI置位,通知CPU可以进行下一个字符的发送。 2. 数据输入(接收)
当REN=1且接收到起始位后,在移位脉冲的控制下,把接收到的数据移入接收缓冲寄存器(SBUF)中,停止位到来后,把停止位送入RB8中,并置位RI,通知CPU接收到一个字符。 3. 波特率的设定
工作在方式1时,其波特率是可变的,波特率的计算公式为:
其中,SMOD为PCON寄存器最高位的值,其值为1或0。 当定时器1作波特率发生器使用时,选用工作方式2(即自动加载定时初值方式)。选择方式2可以避免通过程序反复装入定时初值所引起的定时误差,使波特率更加稳定。假定计数初值为X,则计数溢出周期为:
溢出率为溢出周期的倒数。则波特率的计算公式为:
实际使用中,波特率是已知的。因此需要根据波特率的计算公式求定时初值X。用户只需要把定时初值设置到定时器1,就能得到所要求的波特率。 4. 应用举例(用方式1实现双机串行通信)
(1)通信双方的硬件连接 作为应用系统首先要研究通信双方如何连接。一种办法是把两片8051的串行口直接相连,一片8051的TXD与另一片的RXD相连,RXD与另一片的TXD相连,地与地连通。由于8051串行口的输出是TTL电平,两片相连所允许的距离极短。
(2)通信双方的软件约定 通信双方除了在硬件上进行连接外,在软件还必须作如下约定: 作为发送方,必须知道什么时候发送信息,发什么,对方是否收到,收到的内容有没有错误,要不要重发,怎样通知对方结束。 作为接收一方,必须知道对方是否发送了信息,发的是什么,收到的信息是否有错误,如果有错误