文档库 最新最全的文档下载
当前位置:文档库 › RS485串口通信技术

RS485串口通信技术

RS485串口通信技术
RS485串口通信技术

RS485串口通信技术

RS232C属于平衡半双工双点对传传输协议,而RS485支持多点传送的半双工平衡传输协议,它们的区别除了一个是点对点,一个是多点对多点外,传输距离也是有很大差别的。参见下表。

一、连线

通常的RS485(正规名称是TIA/EIA-485-A)是使用平衡双线连接的。一共三条线分别为信号正、信号副和地线。数据信号在传输以前是非平衡的,经过差分放大器后变成了平衡信号。见图一。

图一RS485信号的连接方法

采用平衡连接的传输线其目的就是为了大幅度减少外界的干扰电平信号,它的原理和我们音频中使用平衡传输是一样的。理想的平衡传输信号其两个正负极(见图二,对应的是1+和2+输入)电平是时间上的严格对齐,1+的高电平,对应2+的低电平,反之亦然。

图二理想的平衡RS485信号传输电平

尽管传输RS485信号可以采用任何导电导线,但是通常是使用双绞线来连接为最佳。

二、为什么使用双绞线

从字面上解释双绞线就是一对长度相等的金属丝互相螺旋状拧在一起的导线对。为什么要使用双绞线传输RS485信号呢?那是为了解决在长距离的高速网络中存在的两个主要问题:EMI辐射干扰和EMI接收干扰。

1、辐射干扰:在高速传输数据的时候,接收端是依靠高低电平的垂直边沿(上升沿/下降沿)来判断数据的变化的,频率越高,边沿变化的越快,相应的

高频奇次谐波含量也越高。下图三是125kHz方波信号的FFT照片,由图上我们可以看出它在5MHz上还有很大的谐波能量。

图三125kHz方波信号的FFT延伸到5MHz

由于高频方波本身的辐射问题,再加之长线传输(此时的长线相当于发射天线),其对外的辐射特性得到了加强。使用双绞线则可以有效地抑制这种辐射干扰。其实它的原理很简单,当两条平行对绞天线在辐射电磁波的时候,由于工作电平是反相,所以辐射电磁波将被抵消。当然完全抵消只是个理论数值,抵消效果取决于对绞线的长度是不是完全一致,以及对绞密度和线间的紧合度,这些都是和对绞线的制作工艺有很大的关系。所以我们可能会发现,用一些比较高档的线(比如Belden9841)可以传输更远的RS485信号,而且误码率很低。

2、接收干扰:这是针对接收端来说的抵抗干扰的能力。上面我们谈到高频传输线基本上相当于一个天线,当天线以对绞的方式传输反相信号的时候会抵消辐射电平。同样的原理,它也会帮助接收端抵消输入的噪声信号。外部输入来的“无用”噪声信号在完全相等长度和均匀对绞的线对里面是以“共模信号(大小相同,方向相同)”存在的;而有用的信号在这里是以“差模信号(大小相同,方向相反)”存在的。而对接收端的差分放大器而言,它只接收差模信号而抑制共模信号(差分放大器有个电参数叫共模抑制比CMRR,一般大于60dB为优)。

三、双绞线的特性阻抗

双绞线的特性阻抗和其它高频电缆一样。要主意的是,特性阻抗和电阻是不同的概念。电阻可以用万用表测出来,特性阻抗不能测。(阻抗是电阻和电抗的统称,电阻部分是针对直流电路来说的,这部分用万用表可以测量。但是电抗是指电缆间的容抗和感抗之和。电抗只是对交流信号有作用,信号的频率越高,这种表现就越明显)。电抗的单位也是欧姆,它的大小取决于双绞线的线径、绝缘体的导电能力(介电常数)、绝缘体和铜线的排列位置等。尽管TIA/EIA-485-A 里面没有特别指明这个特性阻抗的数值,一般地厂商都是将这个数值定在120Ω。见图四。

图四双绞线的特性阻抗

上图我们可以看出来,双绞线的特性阻抗从任何位置看都是处处相等的。高频传输电缆和我们在低频的导线不同,高频传输中,信号在任何环节的阻抗都必须相等,否则就会出现反射(参见《通信原理》)。信号反射会引起误码率的升高以及传输距离缩短。从前面对阻抗的分析可以开出来,高频传输双绞线若避免产生信号反射,主要取决于制线的工艺水平。要求阻抗“处处相等”就要求铜材和绝缘体的一致性,以及缠绕的均匀性。在使用过程中我们也要注意,对双绞线挤压、踩踏、卷曲等都会导致绝缘体与铜线之间的相对位置的改变而造成阻抗失配,失配将引起信号的反射。

一般来说,一个RS485网络是必须要加入终端电阻的,而且这个电阻的阻值必须和双绞线匹配。对于一个标准的RS485双绞线电缆来说,终端电阻应该和双绞线阻抗一致的120Ω。我们按照图五的方式分别连接不同的终端电阻进行测量,看看连接54Ω和120Ω两种电阻的电平传递失真特性。

图五左侧连接的54Ω,右侧连接的是120Ω

从上图我们可以看出来,对于120Ω特性阻抗的双绞线来说,失配会引起比较强烈的反射,导致传输信号出现失真,引起误码。由于阻抗失配导致的信号反射失真率可以用下面的公式来计算:

终端电阻的加装位置也是非常重要的,严格上讲,它只能连接到双绞线的两个端点,而且应该是两端都加的。在实际应用中,一般发送器都是只有1个,所以这种情况下发送端就可以不加这个电阻了,因为它已经没有反向的电流了。

我们在实践中可能发现这样的问题,就是在一端加上了终端电阻,但是要小于120Ω,有时候小到60Ω才起作用。这是因为你使用的双绞线阻抗不正确导致的。通常的廉价的RS485传输线由于制造工艺的原因,阻抗是很不准确的,而且是变化的很厉害,这样会导致信号来回反射。此时如果加入了个小电阻,会加大传送器的输出电流。但是这样做的结果是传输距离的大大缩短,可能要下降到150米以内了。不过双绞线的特性阻抗我们一般是无法测量的,所以单纯从说明书上也很难判断。前面我们举例的美国Belden9841双绞线在国内的零售价在10元/米,它的工艺就非常好,数据的稳定性和传输距离都接近理论值(距离达到1000米左右)。

现在的很多RS485终端设备在端口处都已经自带了120Ω的终端电阻了(参见设备指标说明),这样的设备连接就无须另外加终端电阻了。

四、一个RS485网络的传输/接收能力

只有一对双绞线构成的RS485网络到底可以同时连接多少个发送器/接收器呢?很多人想得到这个问题的答案,其实这个数量的限制在TEA/EIA-485-A的手册上也没有一个确切的说法。因为尽管这种半双工平衡RS485网络的数据结构允许在一个网络中可以同时存在多个发送器/接收器,但是其数量还是取决于每个接收器和所有非活动发送器的网络负载。

理想的情况是一个RS485网络中的所有接收器和非活动的发送器的阻抗都是无穷大的,这样它们就不再消耗任何发送器能量,这种情况下对接收器和非活动发送器的数量就没有限制了。但是事实上这样的情况是没有的。由于接收器和其它的发送器都将成为网络的负载,所以实际的连接数量还要根据双绞线的质量来确定了。

举例子,如果采用最优质的RS485双绞线,阻抗严格为120Ω的时候,采用MAXIM的Max3485发送器和Max487接收器,最多可以同时连接32个Max3485发送器和128个Max487接收器。这个情况可能是“最好”的了吧。

五、正确的RS485连接方式

结合上面对RS485网络的技术分析,现在给出几种正确的连接方式供参考。

1、一个发送器一个接收器。参见图六。

这是一种最常见的连接方式,在这种连接下,终端电阻尽管有些多余(可以不用),但是养成一种良好的设计习惯也是十分必要的。

图六一个发送器和一个接收器的正确连接

2、一个发送器,多个接收器。见图七。

这种连接方式也是比较常见,这里要注意两个问题,一个就是末端的终端电阻一定要加上;另一个问题就是分支线一定要短,通常要少于1米,这点非常重要,否则这段支线可能会引起阻抗的失配,导致误码率的升高。

图七一个发送器和多个接收器的正确连接

3、一对收发器。见图八。

这也是一种常见的连接,其原理与图六是相同的。

图八两对收发器的正确连接

4、多对收发器。见图九。

它的原理和图七也是相似的,重要的也是要注意终端电阻的添加(注意,不能将最两边的收发器外侧的终端电阻省略),还有就是分支线要尽量地短。

图九多对收发器的正确连接

六、错误的RS485连接方式

另外的几种连接情况,可能会引起传输距离以及误码率的提高问题,希望能引起大家的注意。

1、无终端电阻匹配。见图十。

可能读者会注意,这种连接和图六非常相似,只是在分支线以后还有100英尺的悬空线。在图六中我们说,那个终端电阻是可以省略的,那么为什么增加了这100英尺的悬空线就成了错误连接了呢?这个就是高频信号传输的特点。高频电路分析中,我们不能以低频信号“电路”的概念去理解信号的传递。图十中当主信号延干线继续向右传递的时候,由于末端没有连接终端电阻,所以信号在完全失配的情况下会完全反射(终端在开路和短路的情况下,对于高频信号来说都是全反射,只是相位不同)。全反射的信号会在干线上与正向信号叠加,由于距离的原因,反向传递的信号会出现杂乱的叠加,其结果就是引起输出端的信号严重失真,引起误码。

图十无终端匹配的错误连接

图十中的信号测量结果在下半部分左侧(测量点在A-B),我们和图十右下侧的匹配状态波形做比较可以看出全反射对信号的影响。所以我们在工程中要注意,高频信号的延长线要做好处理,不要以为什么都不连接就没有问题。

2、错误的终端电阻安装位置。见图十一。

依据图十的问题,如果没有将终端电阻放置在主干线的末端,而是放置在其它位置,尽管这样可以对前段的阻抗做出匹配,但是终端电阻到双绞线电缆末端的地方依然会产生反射现象,并与发送信号叠加形成误码。误码的形状参见图十一的左下(测量点在A-B)。读者可以和右下侧的正确终端电阻连接波形进行比较。

图十一不正确的终端电阻连接

3、多重线缆并联。见图十二。

这样的连接也是常见的错误。而且可能会引起更多的问题。

图十二错误的多重线缆并联

第一个问题是RS485发送器的设计是为驱动一条电缆的,当并联四条电缆的时候,其驱动能力明显下降,这就意味着一些比较小的逻辑电平将无法传送,

传输距离也大打折扣。第二个问题就是特性阻抗的变化。在打结点,四条分支线并联在一起会引起负载阻抗的严重失配,信号的反射情况将更为剧烈。

4、过长的分支电缆。见图十三。

图十三过长的支线也会引起阻抗失配

与图七类似,但是不同的地方是分支线长度过长。尽管此时在干线末端已经正确地连接了负载阻抗,但是太长的支线与右侧干线之间的并联关系依然使阻抗产生失配,这种情况下低电平段将发生信号畸变,畸变波形见图十三左下(测量点在A-B),并与右下侧正确的短支线连接对比。

读者可以将图十三和图十左比较可以发现,干线上的完全反射影响的是高电平信号,而支线引发的阻抗失配主要是引起低电平信号畸变。

RS232串口通信实验报告

RS232串口通信实验报告 学院:电子信息学院 班级:08031102 姓名:张泽宇康启萌余建军 学号:2011301966 2011301950 2011301961 时间:2014年11月13日 学校:西北工业大学

一.实验题目: 设计一个简单的基于串口通信的信息发送和接受界面 二.实验目的: 1.熟悉并掌握RS232串口标准及原理。 2.实现PC机通过RS232串口进行数据的收发。 3.熟悉VC语言编写程序的环境,掌握基本的VC语言编程技巧。 三.实验内容 程序代码: P// PC1PC2Dlg.cpp : implementation file // #include "stdafx.h" #include "PC1PC2.h" #include "PC1PC2Dlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL

RS232串口通信详解

串口是计算机上一种非常通用的设备通信协议。 --------------------------------- 串口的引脚定义: 两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。--------------------------------- 串口的电气特性: 1)RS-232串口通信最远距离是50英尺 2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps 3)RS-232C上传送的数字量采用负逻辑,且与地对称 逻辑1:-3 ~-15V 逻辑0:+3~+15V 所以与单片机连接时常常需要加入电平转换芯片:

--------------------------------- 串口通信参数: 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个逻辑高位。 --------------------------------- 串口通信的传输格式:串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。一个数据的开始RS232线路为高电平,结束时Rs232为低电平。数据总是从低位向高位一 位一位的传输。示波器读数时,左边是数据的高位。 例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图 2(RS-232电平)所示。 55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为1010101010B; aaH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为1101010100B;

基于VerilogHDL的RS-232串口通信在CPLD上的实现综述

基于Verilog的RS-232串口通信在CPLD上的实现 CPLD(Complex Programable Logic Device)是一种复杂的用户可编程逻辑器件。采用连续连接结构,延时可预测,从而使电路仿真更加准确。CPLD 是标准的大规模集成电路产品,可用于各种数字逻辑系统的设计。开发工具Quartus II、ISE等功能强大,编程语言灵活多样,使设计开发缩短了周期。 随着嵌入式的发展,对数据的传输和人机交互通信的要求越来越高。而串口通信因其资源消耗少、技术成熟而被广泛应用。系统中上位机与嵌入式芯片之间的交互通信可以通过专用集成芯片作为外设RS-232异步串行接口,如TI、EXAR、EPIC公司的550、452等系列UAWT集成电路,或在拥有Nios系统的FPGA上可以方便地嵌入UART模块。但是在设计中用户会提出自己的要求,如:数据加密或只使用UART部分功能等,即要求更灵活的UART。而且有时CPLD资源剩余,出于成本考虑也会要求设计一种模拟的UART。对于上述的两种情况,就可以在CPLD其丰富的资源上制作一款UART,实现PC机与嵌入式系统之间的数据交换。 1 串口通信协议 1.1 UART简介 通用异步收发器(Universal Asynchronous Receiver Transmitter,UART)。

异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小。具有相关工业标准提供的标准的接口电平规范等优点,在工业控制领域被广泛采用。 异步通信一帧字符信息由4部分组成:起始位、数据位、奇偶校验位和停止位。 本设计基于RS-232的数据帧结构,设置数据帧结构如图1所示:1 bit起始位,8 bit数据位,1 bit停止位,无校验位。每帧实质上传送1 Byte数据。 1.2 自定义数据包格式 多个上文所描述的帧就可以组成一个数据包。串口通信是在RS-232数据帧结构的基础上定义的,传输以数据包为单位进行。包结构如图2所示。 本文采用和校验的结构,一个数据包包含15 Byte。其中第1个字节是数据包头即握手字符。第2字节为控制字符,EE代表写命令,DD代表读命

RS232串口通信详解

. 串口是计算机上一种非常通用的设备通信协议。 --------------------------------- 串口的引脚定义: 9芯信号方向来自缩写描述 1调制解调器CD载波检测 2调制解调器RXD接收数据 3PC TXD发送数据 4PC DTR数据终端准备好 5GND信号地 6调制解调器DSR通讯设备准备好 7PC RTS请求发送 8调制解调器CTS允许发送 9调制解调器RI响铃指示器 两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。--------------------------------- 串口的电气特性: 1)RS-232串口通信最远距离是50英尺 2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps 3)RS-232C上传送的数字量采用负逻辑,且与地对称 逻辑1:-3 ~-15V 逻辑0:+3~+15V 所以与单片机连接时常常需要加入电平转换芯片:

--------------------------------- 串口通信参数: 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个逻辑高位。 --------------------------------- 串口通信的传输格式:串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。一个数据的开始RS232线路为高电平,结束时Rs232为低电平。数据总是从低位向高位一 位一位的传输。示波器读数时,左边是数据的高位。 例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图 2(RS-232电平)所示。 55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为1010101010B; aaH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为1101010100B;

RS232+RS485实现通讯实验板

RS232+RS485实现通讯实验板 1 引言 计算机控制系统中经常采用多机系统进行通信,在由PC机和单片机构成的分布式控制系统中,往往以PC机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调,本文介绍一种将 RS232,RS485,及红外接口集成在一起的PC机--单片机多功能通讯实验板,用于实现PC机与单片机间的串口通信、红外通信及PC机与PC机间的通讯实验。 2 实验板的组成原理与设计 2.1 串行通信 串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线,以每次一个二进制位移动的,他的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信,他的缺点是传送速度低,串行通信有异步通行和同步通信两种基本通信方式,同步通信适用于传送速度高的情况,其硬件复杂,而异步通信应用于传送速度在50-19200波特之间,是比较常用的传送方式,在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由1位起始位,5-8位的数据位,1位的奇偶校验位(可省略)和1位停止位4部分组成,在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)。 2.2 AT89C51微控制器 AT89C51单片机系统具有设计简单、性能可靠、功耗低等优点,它为用户预留下足够的软硬件资源,可供用户进行再开发应用,该系统除内部已有的 4K FLASH存储器外,还可以扩展选址64K ROM区和64K RAM区,供用户使用,用户在系统开发时,可以将自己的数据块和程序段、数据表,以若干控制子程序、数据块形式存放于AT89C51单片机的扩展ROM或 RAM 区中,以便系统工作时重复使用和反复调用。 2.3 RS232C通信接口 RS232C是一种电压型总线标准,可用于设计计算机接口与终端或外设之间的连接,以不同的极性的电压表示逻辑值。-3~-25V表示逻辑"1"。+3~+25V表示逻辑"0"。其电平与TTL和CMOS电平是不同的,所以在通信时必须进行电平转换。 2.4 MAX232芯片 MAXIM公司的MAX232/MAX232A接收/发送器是MAXIM公司特别为满足EIA/TEA2232E的标准而设计的,他们在 EIA/TIA2232E标准串行通信接口中日益得到广泛的应用,他们具有功耗低、工作电源为单电源、外接电容仅为0.1μF或1μF,采用双列直插封装形式、接收器输出为三态TTL/CMOS等优越性,为双组RS 232接收发送器,工作电源为+5V,波特率高,仅需外接0.1μF或1μF的电容,其价格低,可在一般需要串行通信的系统中使用,MAX232外围需要 4个电解电容,是内部电源转换所需电容,其取值均为1μF/25V宜选用钽电容并且应尽量靠近芯片。。 2.5 红外发送、接收电路 红外通讯以红外线作为通讯载体,通过红外光在空中的传播来传输数据,他由红外发射器和红外接收器来完成,在发射端,发送的数字信号经过适当的调制编码后,送入电光变换电路,经红外发射管转变为红外脉冲发射到空中;在接收端,红外接收器对接收到的红外光脉冲进行光电变换,解调译码后恢复出原信号。 红外发送电路中采用的红外发射器件是塑封的TSAL6200红外发射二极管,他将周期的电信号转变成一定频率的红外光信号,他是一种时断时续的高频红外脉冲信号,但脉冲串时间长度是恒定的,根据脉冲串之间的间隔大小,表示传输的是数据"0"还是

TTL与RS232电平模拟转换电路及工作原理

1.先介绍电脑上与单片机进行通讯的接口的名称 (1)一般是用电脑串口来进行通讯的,平常大家说的电脑的串口是指台式电脑主机后面的九针接口,如下图 这个接口有个专业的名称,叫RS23接口,而RS232接口是串口通讯的一种,其实所谓的接口,我的理解就是一种通信协议,规定了传输电平,传输方式,及怎么传输数据等等。 协议标准规定采用一个25个脚的DB25连接器,还规定了连接器的每个引脚的信号内容,同时还对各种信号的电平加以规定。但随着设备的不断改进,出现了代替DB25的DB9接口,现在都把RS232接口叫做DB9。 (2)电脑上的RS232接口采用的是负逻辑电平: -15~-3表示逻辑1; +15~+3表示逻辑0; 电压值通常在7V左右 (3)我们可以使用串口电缆直接连接两台PC机的串口,实现两台PC机的串口通讯。但是PC 机和单片机的通讯却不能够用电缆直接进行连接,原因是PC机RS232串口的电平标准和单片机的TTL电平不一致,因此单片机和PC机之间的串口通讯必须要有一个RS232/TTL电平转换电路。通常这个电路都选择专用的RS232接口电平转换集成电路进行设计,如MAX232、HIN232等。 2.单片机串口输出的逻辑电平 单片机的串口输出电路采用的逻辑电平是TTL电平。这种电平信号由TTL器件产生的,一般的芯片,如运放,数字器件等... TTL:Transistor-Transistor Logic 三极管结构。 Vcc:5V;VOH>=2.4V;VOL<=0.5V; VIH>=2V;VIL<=0.8V 3.单片机与电脑串口的连接 首先解决的就是逻辑接口电平的问题,其次就是通信方法及方式的问题 (1)在这里我们可以使用集成芯片MAX232,这是一款专门用来进行信号电平的转换的芯片,使用起来简单方便,这里把电路贴出。

基于RS232的双机通信实验程序和电路图

课程名称现场总线技术及其应用 专业班级电信1012 学号2010118504150 学生姓名朱胜强 指导教师范玉刚 实训地点德行楼 2013 年5 月10日

基于RS232的双机通信实验 一、实验目的 1、理解串行通信的基本概念和51系列单片机的串行通信接口结构。 2、理解现场仪表的通讯过程 二、实验内容 1、使用串口实现单片机1与单片机2的数据通信,实现互相控制。要求按下单片机1系统板上的按键,单片机2系统板上LED点亮。 三、实验环境 1、编程软件keil 2、仿真软件proteus 四、实验原理 MAX232芯片用于电平转换,实现RS232电平与TTL电平(单片机)的互相转换。本次实验单片机之间通信不使用握手信号,只需3根信号线:TXD(发送线),RXD(接收线),GND(地线)。单片机之间通信的原理图如图1所示,当单片机1(主机) 查询外接控制开关S3按下时,单片机1发送一个自定义信号给单片机2(从机),单片机2收到信号后点亮指示灯LED4。 图1 单片机之间通信的原理图 五、实验过程

单片机1的程序: #include #define uchar unsigned char //宏定义 #define unit unsigned int //宏定义 sbit anjian=P1^0; //定义按键的位 uchar num; uchar code table[]={0xff,0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管显示数//延时函数 void delay(unit z) { unit x,y; for(x=z;x>0;x--); for(y=110;y>0;y--); } //主函数 void main() { TMOD=0x20; //定时器1工作方式2 TH1=0xFD; //11.0592Mhz 9600bps TL1=0xFD; TR1=1; //启动定时器1 SCON=0x5; //模式1:8位数据可变波特率,允许接收 EA=1; //打开总中断 ES=1; //打开串口1中断 while(1) { if(anjian==0) //判断按键 { delay(5); if(anjian==1) //按键消抖动 {

RS232组网通信实验

实验一RS-232组网通信实验 (一)PC及其兼容工控机的异步通讯接口 PC及其兼容工控机都有两个异步通讯接口:COM1和COM2,其关键部件是通用异步收发器(UART)INS8250。INS8250的内部有10个寄存器,分别用于通讯参数的设置、线路及MODEM的控制与状态查询、数据收发及中断管理等。要在中断方式下收发数据,必须对INS8250的寄存器直接操作,各寄存器名称及其相应的端口地址列于表1。 由表1可知:THR、RBR和 DLL占用同一个端口地址3F8H (2F8H),IER和DLM也占用同一 个端口地址3F9H(2F9H),对它们 进行访问时,如果设置LCR的最 高位为1,访问的是除数寄存器; 如果设置LCR的最高位为0,则访 问的是THR、RBR和IER。而THR 是只写寄存器,RBR是只读寄存 器,在LCR的最高位设置为0时, 对端口地址3F8H(2F8H)的写入 操作访问的是THR,读出操作访问 的是RBR。 硬件连接方式:将2台PC机 的COM1/COM2串行通信口通过9针D型接口3线连接。 (二)INS8250有关寄存器的设置 串行口的初始化主要是对INS8250的有关寄存器进行设置,以确定通讯的数据格式、波特率、中断的触发方式等。 ①确定数据格式数据格式是通过设置线路控制寄存器(LCR)来确定的,LCR的定义如下: 其中:WSL1、WSL0用于选择每个发送或接收的串行字符的位数,分别设置这两位为00、01、10、11时,对应的字长依次是5位、6位、7位、8位;STB用于确定停止位的位数,STB =0时使用1位停止位,STB=1时,如果WSL1、WSL0设置为00,使用1.5位停止位,其它情况下使用2位停止位;PEN用于选择是否允许奇偶校验,PEN=0时,不进行奇偶校验,PEN=1时有奇偶校验;此时,EPS选择校验方式,EPS=0时是奇校验,EPS=1时是偶校验;SP用于选择是否在奇偶校验位和停止位之间插入奇偶标志位,SP=0时不插入,SP=1时插入1位奇偶标志位,偶校验时插一个0,奇校验时插入一个1;SB是设置间断控制位,SB=1时输出数据强迫为0,SB=0时可进行正常的数据收发;DLAB是除数寄存器访问位,DLAB =1时访问除数寄存器,DLAB=0时访问THR、RBR和IER。 ②设置波特率INS8250内部包含一个可编程的波特率发生器,它允许用1~65535的任意除数对1.8432MHz的输入频率进行分频,分频后的信号即波特率发生器的输出频率,而波特率是波特率发生器输出频率的1/16。由此可知,除数=1843200/(波特率×16)。16位的除数应在初始化时写入除数锁存器。 ③中断机制的引发INS8250可由4个事件中的任一个来引发一个中断,这4个事件依

实验四-串口通信实验

实验报告 课程名称:微机原理与接口技术 指导老师:张军明 成绩:__________________ 实验名称:实验四 串口通信实验 实验类型:________________同组学生姓名:吴越 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的 1、掌握80C51串行口工作方式选择、理解串行口四种通讯模式的区别、波特率发生器的作用及通讯过程中的时序关系。 2、掌握串口初始化的设置方法和串行通信编程的能力。 3、了解PC 机通讯的基本要求,掌握上位机和下位机的通讯方法。 4、编写简单的通信协议(如串行口工作方式、波特率、校验方式、出错处理等)。 二、实验器材 1、Micetek 仿真器一台。 2、实验板一块。 3、PC 机电脑一台。 4、九针串口线一条。 三、实验原理 串口通讯对单片机而言意义重大,不但可以实现将单片机(下位机)的数据传输到PC 端(上位机),而且也能实现PC 对单片机的控制,51单片机有一个全双工的串行通讯口,所以单片机和PC 之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL 电平的,两者之间必须有一个电平转换电路,本实验采用专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。 3.1 RS232九针串口基本功能简介 九针串口即RS-232接口,是个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association ,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组RS-232接口,分别称为COM1和COM2。该接口分为公头子和母头子。九针串口(母头)的功能如下,请见图1: 专业:电子信息工程 姓名:彭嘉乔 学号:3130104084 日期:2015.05 地点:东3-409

计算机网络实验 RS232串口通信程序的编写

实验二RS232串口通信程序的编写 一.实验目的 1.掌握串口通讯编程的编写 2.实现两台计算机通过RS232通信 二.编程环境 Visual studio 2008 三、实验原理 1 概述 在现代的各种实时监控系统和通信系统中,在Windows 9X/NT下利用VC++对RS-232串口编程是常用的手段。Windows 9X/NT是抢先式的多任务操作系统,程序对CPU的占用时间由系统决定。多任务指的是系统可以同时运行多个进程,每个进程又可以同时执行多个线程。进程是应用程序的运行实例,拥有自己的地址空间。每个进程拥有一个主线程,同时还可以建立其他的线程。线程是操作系统分配CPU时间的基本实体,每个线程占用的CPU时间由系统分配,系统不停的在线程之间切换。进程中的线程共享进程的虚拟地址空间,可以访问进程的资源,处于并行执行状态,这就是多线程的基本概念。 2 VC++对多线程的支持 使用MFC开发是较普遍的VC++编程方法。VC++把线程分为两种:用户界面线程和工作者线程。用户界面线程能够提供界面和用户交互,通常用于处理用户输入并相应各种事件和消息;而工作者线程主要用来处理程序的后台任务。 程序一般不需要直接创建CWinThread对象,通过调用AfxBeginThread()函数就会自动创建一个CWinThread对象,从而开始一个进程。创建上述的两种线程都利用这个函数。 线程的终止取决于下列事件之一:线程函数返回;线程调用ExitThread()退出;异常情况下用线程的句柄调用TerminateThread()退出;线程所属的进程被终止。 3 多线程在串口通信中的应用 3.1 串口通信对线程同步的要求 因为同一进程的所有线程共享进程的虚拟地址空间,而在Windows 9X/NT 系统下线程是汇编级中断,所以有可能多个线程同时访问同一个对象。这些对象可能是全局变量,MFC的对象,MFC的API等。串口通信的几个特点决定了必须

实验二RS-232串口通信实验

昆明理工大学信息工程与自动化学院学生实验报告 ( 2011 —2012 学年第 2 学期 ) 课程名称:嵌入式技术基础与实验 开课实验室:信自楼234 2012 年 5 月 10 日 年级、专业、班 学号 姓名 成绩 实验项目名称 RS-232串口通信实验 指导教师 教 师 评语 教师签名: 年 月 日 注:报告内容按实验须知中七点要求进行。 一、实验目的 通过该实验实习,进一步熟悉CodeWarrior 嵌入式开发系统环境、汇编和C 语言以及调试方式;加强串口通信(SCI )基本原理及编程原理;理解课本中的程序代码;分别运用查询方式、中断方式实现通信。 二、实验原理及基本技术路线图(方框原理图) AW60 MCU 的SCI 有2个,能接收其他设备信息供MCU 处理,也能将MCU 内部的信号输出给外部设备,显示数据或者控制对象。SCI 的使用涉及波特率寄存器、控制寄存器、状态寄存器和数据寄存器。接收方和发送方必须在相同的波特率和模式的条件下接收和发送信息。引脚连接图如图4-1所示。 图4-1 SCI 的连接图 PC SCI 接口Rx(2) Tx(3) GND(5) MAX232 AW60 PTE0/TxD1(13) PTE1/TxD1(14) GND

三、所用仪器、材料(设备名称、型号、规格等) 飞思卡尔试验箱 四、实验方法、步骤 1、资源使用 SCI连接图雷同演示实验,即MCU的SCI发送引脚E口的1号引脚接MAX232的TTL电平接收引脚11号,MCU的SCI接收引脚E口的0号引脚接MAX232的TTL电平发送引脚12号。 另外,要讲SCI线一头接PC的COM1,一头接实验箱的COM1或COM2,小灯的连接是用D口的1号引脚和一个小灯接口连接。 波特率为19200bps,计算波特率寄存器的值,计算过程: 公式为 SCI1BD=fsys/(波特率*16)(其中fsys=sysclk*1000000) SCI1BD=20000000/(19200*16)=65 然后将其结果供后语句使用。 SCI1BDH=0x00; SCI1BDL=0x41; 2、硬件设计 先阅读源程序,查看相应的端口的宏定义,再根据端口号来接线。

接口RS232串口通信

华北科技学院计算机学院综合性实验 实验报告 课程名称接口技术 实验学期 2014 至 2015 学年第 2 学期学生所在学院部计算机学院 年级专业班级 学生姓名学号 任课教师顾涛 实验成绩 计算机学院制

《接口技术》课程综合性实验报告

io8253b equ 283h io8251a equ 2b8h io8251b equ 2b9h mes1 db'you can play a key on the keybord!',0dh,0ah,24h mes2 dd mes1 message1 db'success!$' message2 db'failed!$' counter db'1' buffer1 db 4 dup(?) buffer2 db 3 dup(?) buffer3 db 3 dup(?) flag1 db ? data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8253b ;设置计数器工作方式 mov al,16h out dx,al mov dx,io8253a mov al,52 ;给计数器送初值 out dx,al mov dx,io8251b ;初始化 xor al,al mov cx,03 ;向控制端口送个 delay: call out1 loop delay mov al,40h ;向控制端口送H,使其复位 call out1 mov al,4eh ;设置为个停止位,8个数据位,波特率因子为call out1 mov al,27h ;向送控制字允许其发送和接收 call out1 lds dx,mes2 ;显示提示信息 mov ah,09 int 21h mov ah,09h ;显示序号1 waiti: call testsend mov ah,01 ;是,从键盘上读一字符 int 21h cmp al,27 ;若为ESC,结束 jnz continue exit:

RS232串口通信实验

RS232串口通信实验 一、认识RS232 单片机的串行口是非常有用的,通过他我们可以把单片机系统的数据传回电脑处理或者接受电脑传过来的数据而进行相应的动作,在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。 RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口. 它是在1970年由美国电子工业协会(EIA)联合贝尔系统,调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定.后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准.而工业控制的RS-232口一般只使用RXD,TXD,GND三条线. 在讨论RS-232C接口标准的内容之前,先说明两点: 首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。 其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。 (1)RS232(DB9)的接口说明

单片机串口通信实验

滨江学院 单片机原理及应用 题目单片机串口通信实验 院系____电子工程系______ 专业_____通信工程_______ 学生姓名_______******_______ 学号______**********___

二O一二年六月十日 单片机串口通信实验 摘要:CPU 与其外部设备之间的信息交换或计算机之间的信息交换均可被称为“通信”。串行通信是指数据逐位顺序串行传送的通信方式。串行通信只需一对传输线,并且可以利用电话线等现有通信信道作为传输介质,因而可以大大降低传输线路的成本。 关键字:51单片机,串口通信,全双工 正文:MCS 一51 系列单片机内部有一个可编程的全双工串行通信口,可作为通用异步接收和发送器,也可作为同步移位寄存器用。该串行口有4 种工作模式。片内的定时器/计数器可用作波特率发生器。接收、发送均可工作在查询方式或中断方式。MCS 一51 系列单片机内部的串行通信口,有二个物理上相互独立的接收、发送缓冲器SBUF,对外也有两条独立的收、发信号线RxD(P3.0)和TxD(P3.1)。可以同时发送、接收数据,实现全双工传送。发送缓冲器和接收缓冲器不能互换,发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。两个缓冲器占用同一个端口地址(99H)。具体对哪一个缓冲器进行操作,取决于所用的指令是发送还是接收。 一、实验 1、实验目的 掌握单片机串行口工作原理,单片机串行口与PC机的通信工作原理及编程方法。 2、实验器材 微机、串口通讯软件、程序烧录软件、面包板一块、芯片一块、电焊等

3、实验内容 实验板上有RS-232接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。本实验要求当PC机向实验板发送的数字在实验板上显示,按实验板键盘输入的数字在PC机上显示,并用串口助手工具软件进行调试。 4、实验原理 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通信。进行串行通讯信要满足一定的条件,比如电脑的串口是RS232电平(-5~-15V为1,+5~+15V为0),而单片机的串口是TTL电平(大于+2.4V 为1,小于- 0.7V为0),两者之间必须有一个电平转换电路实现RS232电平与TTL电平的相互转换。 为了能够在PC机上看到单片机发出的数据,我们必须借助一个Windows 软件进行观察,这里我们可以使用免费的串口调试程序SSCOM32或Windows 的超级终端。 单片机串行接口有两个控制寄存器:SCON和PCON。串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端用于输出移位同步时钟信号,其波特率固定为振荡频率的1/12。由软件置位串行控制寄存器(SCON)的REN位后才能启动,串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的T1位置1,必须由软件清零。 单片机与PC机通信时,其硬件接口技术主要是电平转换、控制接口设计和远近通信接口的不同处理技术。在DOS操作环境下,要实现单片机与微机的通

rs232串口通信原理

rs232串口通信原理 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。 b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。

RS-485总线收发实验要点

RS-485总线收发实验 在本章节,我们将介绍RS-485总线的使用。本实验一共需要两块神舟IV号STM32开发板,一块作为RS485的发送端,另一块作为RS485的接收端,接收总线上的数据。本节分为 如下几个部分: 1 RS-485总线实验的意义与作用 2实验原理 3软件设计 4硬件设计 5下载与验证 6实验现象 意义与作用 前面两个例程,我们分别讲解了串口printf实验和串口中断收发实验,对RS232串口原理及其应用有了一定的了解,但是由于RS232接口标准出现较早,难免有不足之处,主要有以 下四点: (1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。 (2)传输速率较低,在异步传输时,波特率为20Kbps。 (3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 (4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。 针对RS232接口的不足,于是就不断出现了一些新的接口标准,RS-485就是其中之一, 它具有以下特点: (1)RS-485的电气特性:逻辑"1"以两线间的电压差为+(2—6)V表示;逻辑"0"以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232降低了,就不易损坏接口电 路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。 (2)RS-485的数据最高传输速率为10Mbps(实际取决于RS485接口芯片和电路)。(3)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。 (4)RS-485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS-232接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连 接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地 建立起设备网络。 (5)因为RS485接口组成的半双工网络,一般只需二根连线(我们一般叫AB线),所以RS485接口均采用屏蔽双绞线传输。 基于以上原因,RS485总线在工业控制行业应用非常广泛,适合分散的,远距离(上千米)的多点通信,这是RS232所不能实现的,因此,通过使用STM32开发板实现RS485的通信,我们可以了解RS485总线的应用和基本原理,搭建RS485通信网络。 实验原理 RS-485总线简介

实验二RS232串口实验

RS-232串口通信实验 一、实验目的 1. 熟悉串口通信的基本原理,掌握RS-232接口标准及DB9的主要引脚功能 2. 初步掌握可编程串行接口芯片的使用方法。 3. 掌握C/C++语言程序进行串行通信的编程方法 二、实验环境 1. 硬件:PC机两台,RS-232连接线,示波器,电烙铁。 2. 软件:虚拟串口软件,串口调试工具,V C/C++语言编程平台。 三、实验内容 1. 通过串口调试程序和虚拟串口工具,在单台主机上实现串口通信,了解串口参数 2. 制作串口通信线缆,,利用串口调试工具,实现两台主机串口通信,用示波器观察波形。 3. 采用C/C++等编程方式实现数据的发送与接收功能,并在屏幕上显示出发送/接收的数据。(选作) 四、实验要求 1. 实验前应预先掌握相关的软硬件技术资料。 2. 提前编写出有关程序,方可进行连线与通信实验。 3. 根据实验自行确定通信协议。 4. 实验报告包括: 1) 实验目的、内容。 2) 通信连接方式、协议(包括规约与数据格式)。 3) 所设置的参数、波形 4) 具体程序代码和实验结果。 5) 总结试验过程中遇到的问题及解决。 五、实验原理

串口通信是计算机上与外部设备之间进行信息交换的基本方法,串口同时也是仪器仪表设备通用的通信协议;很多设备带有RS232接口口。同时,串口通信协议也可以用于获取远程采集设备的数据。 采用串口通信时,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 图1 串行通信示意图 串行通信包括异步通信和同步通信。本实验采用异步通信方式。异步通信方式中,每个字符作为一个独立的整体进行发送,字符间的时间间隔可以是任意的,为了实现同步,需要在每个字符的第一为前加1位起始位(逻辑“1”),并在字符的最后一位加1位、1.5位或2位停止位(逻辑“0”)。异步通信格式如图二所示。 起始位5~8为数据校验位停止位 图2 异步通信格式 串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配: (a) 波特率: 这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。

rs232串口通信实验报告

RS232串口通信实验 一、实验题目: 设计一个简单的基于串口通信的信息发送和接受界面二.实验目的: 1.熟悉并掌握RS232串口标准及原理。 2.实现PC机通过RS232串口进行数据的收发。 3.熟悉VB语言编写程序的环境,掌握基本的VB语言编程 技巧 二、实验设备 PC机一台,RS232串口通信线(9针)一条,跳线一个(一台PC实验时,将其中的2和3短接) 三、实验内容 1、界面内容: (1)打开串口与关闭串口按钮 (2)信息发送区:信息编辑区,发送信息按钮 (3)信息接受区:信息显示区,接收信息按钮 2、主窗体的程序代码: Private Sub Form1_load() MSComm1.PortOpen = True End Sub

Private Sub Command1_Click() MSComm1.Output = Text1.Text End Sub Private Sub Command2_Click() Dim buf$ buf = MSComm1.Input If Len(buf) = 0 Then Text2.Text = "empty" Else Text2.Text = buf End If End Sub Private Sub Command3_Click() MSComm1.PortOpen = False End End Sub Private Sub Command4_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If MSComm1.Settings = "9600,N,8,1" MSComm1.RThreshold = 1 MSComm1.PortOpen = True MSComm1.InputLen = 0 End Sub 然后生成R232.EXE可执行文件:

相关文档
相关文档 最新文档