RS-232串行通讯大全
RS232串口通信详解

串口是计算机上一种非常通用的 设备通信协议。
串口的电气特性:1) RS-232串口通信最 远距离是50英尺2) RS232可做到双向 传输,全双工通 讯,最高 传输速率20kbps3) RS-232C 上传送的数字量采用 负逻辑,且与地 对称 逻辑1 : -3〜-15V逻辑0 : +3〜+15V所以与单片机连接时常常需要加入 电平转换芯片:9芯 信号方向来自 缩写 描述1 调制解调器 CD 载波检测2 调制解调器 RXD 接收数据3 PC TXD 发送数据4 PC DTR 数据终端准备好5GND 信号地6 调制解调器 DSR 通讯设备准备好7 PC RTS 请求发送8 调制解调器 CTS 允许发送9 调制解调器 RI 响铃指示器两个串口连接时,接收数据 针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。
串口的引脚定义:串口通信参数:a )波特率: RS-232-C 标准 规定的数据传输速率 为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。
b )数据位:标准的值是5、7和8位,如何 设置取决于你想 传送的信息。
比如, 标准的 ASCII 码是0〜127 ( 7位);扩 展的ASCII 码是0〜255 ( 8位)。
c )停止位:用于表示 单个包的最后一位,典型的 值为1, 1.5和2位。
由于数是在 传输线 上定时的,并且 每一个设备 有其自己的 时钟,很可能在通信中两台 设备间出现了小小的不同 步。
因此停止位不 仅仅是表示传输的结束,并且提 供计算机校正 时钟同步的机会。
d )奇偶校 验位:在串口通信中一 种简单的检错方式。
对于偶和奇校 验的情况,串 口会设置校验位(数据位后面的 一位),用一个 值确保传输的数据有偶个或者奇个 逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校 验,校验位位1 ,这样就有3个逻辑高位。
RS232通讯原理

RS232通讯原理RS232通讯原理是一种串行通信协议,最早由美国电气和电子工程师协会(American National Standards Institute,ANSI)规定,用于计算机和外设之间传输数据。
RS232通常用于短距离(不超过15米)的数据传输,它定义了数据的传输格式、物理接口和电气特性。
1. 传输格式:RS232使用异步传输方式,即数据以字节为单位传输。
每个字节分为起始位(Start Bit),数据位(Data Bit),校验位(Parity Bit)和停止位(Stop Bit)。
起始位将信号从高电平转换为低电平,标志着一帧的开始。
数据位用来传输实际的数据,可以是5至9位。
校验位用于检测数据传输过程中可能出现的错误,常见的校验方式有奇偶校验(Odd Parity)和偶校验(Even Parity)。
停止位用于将信号从低电平转换为高电平,标志着一帧的结束。
2.物理接口:RS232定义了连接计算机和外设的物理插口,常用的插口类型有9针(DB9)和25针(DB25)。
这些插口包括数据传输所需的引脚,如发送数据线(TXD),接收数据线(RXD),数据终端就绪线(RTS),数据设备就绪线(DTR)等。
发送数据线和接收数据线用于双向数据传输,数据终端就绪和数据设备就绪线用于双向通信的协调。
3.电气特性:RS232规定了数据传输的电气特性,包括逻辑电平、电压范围和电流要求。
逻辑电平分为“1”和“0”,通常使用正电平表示“1”,负电平表示“0”。
电压范围在-25V至25V之间,实际使用中通常在-12V至12V之间。
为了确保可靠的数据传输,RS232的发送器和接收器必须能够提供足够的电流。
1.发送端将要传输的数据转换为二进制编码,并根据RS232的数据格式将数据转换为适当的数据帧。
2.发送端将按照数据帧的格式将一帧数据从发送线发送到接收线,并发送起始位,数据位,校验位和停止位。
这些位形成一个双向传输的数据信号。
RS232通讯原理

RS232通讯原理RS232是一种串行通信接口标准,用于连接计算机和外部设备,它被广泛应用于计算机与调制解调器、打印机、数码相机等设备之间的数据传输。
RS232通信原理涉及到物理连接、数据传输、波特率、数据帧格式等方面,下面将详细介绍RS232通信的原理。
1.物理连接:RS232通信使用的是一对串行线,其中一条线为发送线Tx,另一条线为接收线Rx。
发送端将串行数据转换为电压信号,通过发送线发送到接收端,接收端将电压信号解码为串行数据。
此外,RS232通信还使用了共地线GND来提供共同的参考电平。
2.数据传输:RS232通信使用非归零电平编码,即逻辑1不产生电平变化,逻辑0产生一定的电平变化。
一般情况下,逻辑1对应于高电平,逻辑0对应于低电平。
数据传输是以位为单位进行的,发送端每次发送一个位的数据,接收端每次接收一个位的数据。
3.波特率:4.数据帧格式:RS232通信使用的数据帧包含起始位、数据位、校验位和停止位。
起始位用于表示数据帧的开始,一般为逻辑0。
数据位是实际的数据位数,一般为8位。
校验位用于检查数据传输的正确性,可以是奇校验、偶校验或无校验。
停止位用于表示数据帧的结束,一般为逻辑15.控制信号:RS232通信还使用了一些控制信号,包括RTS(Request to Send)、CTS(Clear to Send)、DTR(Data Terminal Ready)和DSR(Data Set Ready)等。
这些控制信号用于控制数据的流向和设备之间的握手信号。
6.RS232电平:RS232通信使用的电平范围为-15V至+15V,其中-3V至-15V表示逻辑1,+3V至+15V表示逻辑0。
为了适应不同的应用场景,RS232通信还定义了+12V至+15V表示逻辑1,-3V至-12V表示逻辑0的低压版本(称为RS232-L)和+3V至+12V表示逻辑1,-12V至-3V表示逻辑0的高压版本(称为RS232-H)。
串行通讯原理说明--RS232_UART

对于非屏蔽电缆,计算非屏蔽电缆的电缆长度的公式如下:
??电缆长度=(2500—接收器输入电容)/(电缆电容×1.5)?
? 电缆长度的单位是ft,输入电容的单位是pF,电缆电容的单位是pF/ft。
带状电缆的典型电容是15 pF/ft,假定接收器的输人电容是100 pF,电缆最长可以达到106 ft((2500—100)/(15×1.5) )。一个单根非屏蔽双绞线的典型电容是12 pF/ft。仍然假定输入电容为100 pF, 则最大电缆长度为133ft。
接收线信号检出(Received Line detection-RLSD)——用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字两数据后,沿接收数据线RxD送到终端。此线也叫做数据载波检出(Data Carrier dectection-DCD)线。
能够完成上述“串<- ->并”转换功能的电路,通常称为“通用异步收发器”
(UART:Universal Asynchronous Receiver and Transmitter),
典型的芯片有:Intel 8250/8251,16550。
EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。
return((char)length);
}
return 0;
}
//写入函数程序为:
bWriteStatus=WriteFile(hCom,buffer,length,&length,&m_lpOverlapped)
RS232通讯协议

RS232通讯协议RS232通讯协议是一种常用的串口通讯协议,用于定义串行通信数据的格式和传输规则。
RS232协议在计算机和外部设备之间传输数据,例如打印机、调制解调器、串行鼠标等。
本文将详细介绍RS232通讯协议的特点、工作原理和常见应用。
一、RS232通讯协议的特点1.单工通信:RS232协议只能实现单工通信,即数据的传输只能在一个方向上进行。
发送端称为DTE(数据终端设备),接收端称为DCE(数据通讯设备)。
2.异步通信:RS232协议使用异步通信模式,数据的传输不依赖于时钟信号。
发送端和接收端通过起始位、数据位、校验位和停止位来识别数据的边界。
3.硬件电平:RS232协议使用正负电平表示数据的逻辑值,-3V到-25V表示逻辑1,+3V到+25V表示逻辑0。
这种电平差异可以有效地抵抗干扰,并提高信号的可靠性。
4.数据位数可变:RS232协议支持数据位数的灵活配置,常见的有7位、8位和9位。
数据位数越多,传输的数据范围越广。
二、RS232通讯协议的工作原理1.物理层:物理层负责定义RS232通信的电气规范,包括电平范围、接口类型和接线方式。
通过物理层的规范,确保数据能够正确地在发送端和接收端之间传输。
2.数据链路层:数据链路层负责定义数据的帧结构和传输规则。
每一帧数据由起始位、数据位、校验位和停止位组成,起始位表示数据的开始,停止位表示数据的结束,数据位和校验位用于传输数据和校验数据的准确性。
3.应用层:应用层负责定义数据的具体格式和处理方法。
例如,发送端发送的数据可能是一条命令,接收端则根据命令执行相应的操作。
三、RS232通讯协议的应用1.打印机:计算机通过RS232协议将要打印的数据发送给打印机,打印机通过RS232协议接收数据并进行打印操作。
3.串行鼠标:计算机通过RS232协议接收鼠标发送的数据,根据鼠标的移动和点击等操作进行相应的处理。
4.工业控制系统:RS232通讯协议常用于工控系统中,用于与各种传感器、执行器等设备进行数据交互,实现自动化控制。
串行通信常用格式

标题:串行通信常用格式解析
一、引言
串行通信是一种常见的数据传输方式,尤其在需要长距离通信或者高带宽成本的情况下,串行通信具有很高的实用价值。
本篇文章将详细解析串行通信的常用格式,包括RS-232、RS-485、USB、I2C以及SPI等。
二、串行通信格式解析
1. RS-232:RS-232是一种广泛应用于计算机和外设之间的串行通信格式,其特点是数据传输速率较慢,但成本低,因此在一些对通信成本敏感的场合得到广泛应用。
2. RS-485:RS-485是一种改进的RS-232,它在多站点通信中表现出了更高的可靠性。
它通过采用差分信号传输,减少了噪声干扰,增强了通信的稳定性。
3. USB:USB是一种通用串行总线,支持即插即用,方便快捷。
USB通信格式支持高速和低速两种模式,适用于需要大量数据传输的场合。
4. I2C:I2C是一种简单、低成本的通信协议,主要用于芯片之间的通信。
它通过两根线(数据线)和一根地线进行通信,适用于需要少量数据传输且需要节省空间的场合。
5. SPI:SPI是一种高速、低功耗的通信协议,主要用于芯片之间的同步通信。
它通过四根线(数据线、时钟线、片选线和地址线)进行通信,适用于需要高速数据传输的场合。
三、总结
串行通信格式的选择应根据具体应用场景和需求进行。
了解并掌握各种格式的特点和适用场合,有助于我们选择最适合的通信方式,提高通信效率和稳定性。
RS232串行通信编程方法

RS232串行通信一、任务描述⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅RS-232应用范围广泛、价格便宜、编程容易并且可以比其它接口使用更长的导线,随着USB端口的越来越普遍,将会出现更多的把USB转换成RS-232或其它接口的转换装置。
但是RS-232和类似的接口仍将在诸如监视和控制系统这样的应用中得到普遍的应用。
RS232标准采用的接口是9针或25针的D型插头,常用的一般是9针插头。
本任务是STC89C52串行口经RS232电平转换后,与PC机串行口相连。
PC机可使用串口调试应用软件如:“WINDOWS 超级终端”、“串口调试助手”、“串口精灵”等,实现上位机与下位机的通讯任务目标:本实验使用串行中断法接收和发送资料。
上位机发出指定字符,下位机收到后,加一(+1)运算后回传给PC机。
波特率设为4800。
二、任务资讯⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅为了完成任务目标,提供的资讯信息包括:实训装置的RS232串行通信电路、单片机串行口工作原理、RS232串行通信编程方法及C51通用编程。
1.串行通信电路及接线图1 RS232串口通信电路图2 电源指示2.RS232串行口工作原理当PC机与单片机进行通信时,PC机的RS232接口的逻辑电平为:逻辑1= -3 ~ -15V;逻辑0=3~15V。
51单片机的逻辑电平(TTL电平标准)为:逻辑1>2.0V,逻辑0<0.8V 。
为了能够使PC机和单片机正常通信,需要电平转换芯片MAX232(如上图)。
232通信原理

RS232通信原理是一种基于电压变化的异步串行通信方式。
以下是其主要的通信原理和特点:
传输方式:RS232使用一对传输线(发送线和接收线)通过发送和接收电信号来传输数据。
发送线负责将数据位从计算机发送到外部设备,而接收线则负责将数据位从外部设备发送到计算机。
电平表示:在RS232通信中,逻辑1和逻辑0是通过不同的电压电平来表示的。
通常,正电压表示逻辑0,负电压表示逻辑1。
但需要注意的是,有些设备可能采用相反的电平表示方式。
数据帧格式:RS232通信将数据划分为数据帧进行传输。
每个数据帧包括一个起始位、数据位、校验位和停止位。
起始位用于指示数据的开始,数据位是实际传输的数据,校验位用于验证数据的准确性,停止位用于指示数据的结束。
异步通信:RS232通信是异步的,这意味着发送方和接收方没有共同的时钟信号来同步数据传输。
相反,它们依赖于数据帧中的起始位和停止位来识别每个字节的边界。
电气特性:为了使RS232通信正常工作,发送方和接收方的电气特性需要匹配。
这包括电压范围、驱动能力和接收灵敏度等方面。
电缆和连接器:RS232通信使用满足一定要求的电缆和连接器来确保数据的传输质量和稳定性。
常见的RS232电缆类型包括DB9和DB25等。
总的来说,RS232通信原理基于电压的变化,通过发送和接收电信号来传输数据。
它具有简单、可靠、低成本等优点,在计算机与外部设备之间的通信中得到了广泛应用。
然而,随着技术的发展,RS232通信已经逐渐被更高速、更稳定的通信方式所取代,如USB、Ethernet等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RS-232接口引脚信号的定义
9针25针信号方向功能
3 2 TXD O 发送数据
2 3 RXD I 接收数据
7 4 RTS O 请求传送
8 5 CTS I 清除传送
6 6 DSR I 数据通信装置(DCE)准备就绪
5 7 SG 信号公共参考地
1 8 DCD I 数据载波检测
4 20 DTR O 数据终端设备(DTE)准备就绪
9 22 RI I 振铃指示
由于25针与9针连接器并无本质区别,因而容易实现相互转换,所以市场上25针到9针串行转接器都是无源的。
RS-232标准的电气特性参数
项目参数指标
带3~7千欧负载时驱动器的输出电平逻辑0为+3~+25V,逻辑1为-3~-25V
不带负载时驱动器的输出电平-25~+25V
驱动器通断时的输出阻抗>300欧
输出短路电流<0.5A
驱动器转换速率<30V/us
接收器输入阻抗3~7千欧
接收器输入电压-25~+25V
输入开路时接收器的输出逻辑 1
输入经300欧接地时接收器的输出逻辑 1
+3V输入时接收器的输出逻辑0
-3V输入时接收器的输出逻辑 1
最大负载电容2500pF
不能识别的过渡区-3V~+3V
单片机串行端口的工作方式
(1)方式0:8位移位寄存器输入/输出方式,多用于外接移位寄存器以扩展I/O端口,波特
率固定为fosc/12。
(因此好像不需要进行串行口初始化,因为初始化的任务是设定波特率和数据传送方式,在这里已经都固定了)。
在方式0中,串行口作为输出时,只要向串行缓冲器SBUF写入一字节的数据后,串行端口就把此8位数据以fosc/12的波特率,从RXD引脚逐位输出(从低位到高位),(注意:只有在该情况下数据是由RXD输出!)TXD输出频率为fosc/12的同步移位脉冲,数据发送前,尽管不使用中断,中断标志TI还是必须置清0,8位数据发送完后,TI 自动置1,若要再发送,必须用软件将TI清0。
串行端口作为输入时,RXD为数据输入端,TXD仍为同步信号输出端,输出频率为fosc/12同步移位脉冲,使外部数据逐位移入RXD,当接收到8位数据后,中断标志RI 自动置1,若要再接收,必须用软件将RI清0。
(2)方式1(该方式应用最为广泛):10位异步通信方式,包括1个起始位(0电位)+8个数据位(从低位到高位)+1个停止位(1电位)。
波特率由定时器T1的溢出率和SMOD
位的状态确定。
一条写SBUF 指令可以启动数据发送过程,在发送移位时钟(由波特率确定)的同步下,
从TXD 先送出起始位,然后是8位数据位,最后是停止位。
一帧10位数据发送完后,中断标志TI 置位。
在允许接收的条件下(REN=1),当RXD 出现由1到0的负跳变时,即被当成是串行
发送来的一帧数据的起始位,从而启动一次接收过程。
8位数据接收完,并检测到高电平停止位后,即把接收到的8位数据装入SBUF ,置位RI ,一帧数据的接收完成。
方式1的数据传送波特率可以编程设置,使用范围宽:
波特率=2SMOD ×(定时器T1的溢出率)/32 ,SMOD 的取值为0或1
(3)方式2和3:11位异步通信方式,包括1个起始位(0电位)+8个数据位(从低位到
高位)+1个附加的第9位(常用于奇偶校验)+1个停止位(1电位)。
附加的第9位数据:发送时,该第9位数据来自该机SCON 中的TB8,而接收机将接
收到的这第9位数据送入本机SCON 中的RB8。
常用于奇偶校验或在多机通信中作为地址/数据的特征位。
方式2的波特率=2SMOD ×fosc/64
方式3的波特率=2SMOD ×(定时器T1的溢出率)/32
几个小问题
1. 奇偶校验:又称为同位位检查,又分为奇同位(Odd Parity )和偶同位(Even Parity ),
用于检查字符码中1的数目是奇数或偶数。
例如:10011100若设置为偶同位,则由于本身含4个“1”,因此偶同位=0,最终应传送100111000;
10011100若设置为奇同位,则由于本身含4个“1”,因此奇同位=1,最终应传送100111001;
2. 使用多少个数据位合成一个字节必须先行设定,ASCII 码使用8个位形成一个字符,
JIS 码以7个位形成一个字符,工业上常用的PLC 大多只传送文字码,只需要7个位就能将ASCII 码的0~127号字码表示出来,只要7个数据位就足够。
3. 起始位固定为1位,而停止位可以有1、1.5、2个位等多种选择。
接线方法
计算机上为公头连接线上为母
头3(T X D )6(D S R )L (D C D )4(D T R )5(G N D )3(T X D )2(R X D )9(R I )
7(R T S )8(C T S )4(D T R )L (D C D )6(D S R )5(G N D )2(R X D )9(R I )
8(C T S )7(R T S )
电平转换
RS-232原是基于公共电话网的一种串行通信标准,推荐的最大电缆长度为15m (50英尺),即传输距离一般不超过15m,它的逻辑电平以公共地为对称,其逻辑“0”电平规定在+3~+25V
之间,逻辑“1”规定在-3~-25V之间,因而它不仅需要使用正负极性的双电源,而且与传统的TTL等数字电路的逻辑电平不兼容,两者之间必须使用电平转换。
使用单一+5V供电的RS-232收发芯片有美国美信等公司的产品,品种与型号繁多,主要差别在于芯片内部集成的发送器与接收器数量不同,以及有无节能功能的自动掉电或称睡眠模式等。
此外,其中有些芯片需要外接0.1~10uF电容器;有的芯片则在内部集成了电容,因而无需使用或可以少连接外接电容。
下图描述了MAX220/232/232A芯片引脚、内部功能框图及外接电容等信息。
芯片内除了两个发送驱动器和两个接收器外,还有两个电源变换电路,一个升压泵将+5V提高到+10V,另外一个变化器将+10V转换成-10V。
对于外接电容,MAX232要求C1~C5全为1.0uF,MAX220则要求全为0.1 uF,MAX220要求C1,C2与C5为4.7 uF,C3与C4为10 uF。
C
C
T TL/C MO S 输入
T TL/C MO S 输出R S-232输出R S-232输入
为了与+3.3V低电源电压逻辑电路兼容,还有+3V系列的RS-232产品,如MAX3218/3221/3223/3232/3237等,另外,还有 1.8~4.25V宽范围低电压供电产品,如MAX3218,无论是哪类产品,片内的基本器件都是升压电荷泵,发送驱动器与接收器等。
RS-232所使用的电缆通常均有每英尺40~50pF的分布电容,该标准规定最大电容量为2500pF,所以其传输距离只能局限于15m(50英尺)的范围内,其数据传输速率上限只有20kb/s。
由于采用非平衡传输方式,接地问题显得特别重要,当传输电缆两端存在较大的地电位差时,它将与信号叠加而使逻辑0与1之间的实际过渡区变窄,从而有可能造成逻辑电平的误判而使数据传输出错。
RS-232需要较高的正负电源,拥有+-3V的盲区,虽然抗干扰
能力较强,但消耗的电源功率较大。
VB中对RS-232串行发送与接收的编程
‘声明两个字节类型的变量数组
‘一个用于存储输出数据
‘一个用于存储输入数据
Dim OutByte() As Byte
Dim InByte() As Byte
‘使用命令按钮控件
‘使用Input指令将被传送的数据取入
‘将字节数据以16进位表示并存入Buf变量
‘将Buf变量的内容显示到接收的文本框中
Private Sub CmdReceive_Click()
Dim I%,Buf$
Buf=””
InByte=Comm1.Input
For I=Lbound(InByte) To Ubound(InByte)
Buf=Buf+Hex(InByte(i))+Chr(32)
Next I
TxtReceive.Text=Buf
End Sub
‘使用命令按钮控件
‘将使用者的输入字符串先存入Buf变量中
‘使用StrConv将Buf变量作类型转换
‘再将转换完的数组利用Output指令送出
Private Sub CmdSend_Click()
Dim Buf$,I%
Dim S3(1 To 1)As Byte
Buf=Trim(txtSend.Text)
OutByte=StrConv(Buf,vbFromUnicode) ‘转换字符串Buf=Comm1.Input ‘清空输入缓冲区
Comm1.Output=Outbyte ‘送出数据
End Sub。