不同类型PLC的串口通讯-12页文档资料

不同类型PLC的串口通讯-12页文档资料
不同类型PLC的串口通讯-12页文档资料

不同类型PLC的串口通讯串口通讯在越来越多的智能仪表,PLC,触摸屏,工控软件(组态王、WINCC),编程软件等等和串口通讯有着直接的关系,因此比较深入的了解串口通讯,有助于我们对这些设备和软件的通讯协议的通讯波特率,起始位,数据位,奇偶校验,停止位的设置。关于计算机的通讯技术,是我们仪表比较前卫又比较较难懂的知识。他更是我们了解平常接触的RJ-45 TCP/IP 通讯的基础。

关于串口通讯的几个概念:

1、串口通讯传送信号的帧数Data Format

串口通讯传送一个字符(一帧数据)包括:一个起始位;7位或8位数据位(大多数设备通讯数据位7、8位居多);一个奇/偶校验位;停止位(1位或1位半或2位)。

2、电脑串口接线

串口的实物和固定通用的引脚定义

DB25芯接头定义 DB9芯接头定义PC串行接口串口定义(db9)

PC/AT 机上的串行口是 9 针公插座,引脚定义为:

1 CD <-- Carrier Detect 载波检测

2 RXD <-- Receive Data 接收数据

3 TXD --> Transmit Data 发送数据

4 DTR --> Data Terminal Ready 数据终端准备好

5 GND –– System Ground 信号地

6 DSR <-- Data Set Ready 数据准备好

7 RTS --> Request to Send 请求发送

8 CTS <-- Clear to Send 允许发送

9 RI <-- Ring Indicator 振铃提示

其中2、3、5脚在设备和PLC通讯中经常用到,时常用的接法,必须记住。

在焊接过程中一定要看好排列的次序,分清端脚,现在的DB9芯头分公母头,计算机上一般为母口,配套的接头为头,公母头上都打有端子号,一定要看清焊接。PLC的公母头有的不一样,一定要看清,不要不分公母,造成无法连接接头。

3、智能仪表,PLC,触摸屏,工控软件(组态王、WINCC),编程软件都会

告诉大家自身串口端口的引脚定义。例如承重管理机,F701C,各大几大PLC厂商的串口端口的引脚定义。

从说明书上,可以清楚的可能看出TXD和RXD的引脚定义。波特率,起始位,数据位,奇偶数校验,停止位等等信息,他为我们提供详尽的通讯参数设置。这在组态王和称重管理机的通讯设置上必须保持一致。

其他欧姆龙各种信号的PLC也给出了串口引脚的定义,但西门子通讯不对大家开放串口通讯的引脚协议,在翻阅各类资料总结出他的串口引脚为4,9的485通讯。在连接电脑串口和各类智能仪表或PLC的串口通讯引脚时,电脑的串口引脚TXD和智能设备的RXD相连,电脑的串口引脚RXD和智能设备的TXD相连,即一个设备说,另一个设备听,地线直接连接。由于好多的设备不提供专用的数据通讯线,所以必须手工

亲自焊接。这一点必须牢记清楚。

一、S7 200的通讯端口定义:

将端接电阻安装在总线连接器上

总线连接器安装的在网段的起点或终点,必须接通端接电阻(将开关置为“ON”,见

下图)。

注意

总线连接器6ES7 972-0BA30-0XA0没有端接电阻。在段的起点和终点不能连接它。确保当启动和正常运行时,电源总是提供给安装有端接电阻的节点。取下快速连接总线连接器,在环形网络布置的总线电缆,可以在任何时候从PROFIBUS接口拆卸总线连接器而不会中断网络的数据通讯。在总线中会发生数据流干扰。

一个总线段必须在两端使用端接电阻进行端接。如果带有总线连接器的最后一个从站没有通电,就不必如此。由于总线连接器从站点供电,因此端接电阻不会受影响。确保电源总是提供给安装有端接电阻的站。

切记:西门子公司的DP连接器不仅仅在终端电阻连接时是上面的等效电路,它的接头内部还有其他电路,能不能这样做接头,还需进一步验证。

我们单台电脑和S7 200或者S7 300联网编制程序、组态王监控,(他们只能有一个软件和PLC通讯),DP上的ON OFF开关应选择在ON状态。在红绿的接线端子上,A接D--, B接D+如下图:

S7 300 MPI通讯和S7 200 PPI通讯,在DP、通讯和连线、终端电

阻配接方法上是完全一样的,全部为RS485两线制的通讯协议,只不过西门子公司的PPI或MPI通讯线是将从PLC CPU的DP连接器(其内有特定的匹配电路和电阻线路)至转换盒的RS485通讯进一步转化为自己软件识别的PPI或MPI协议,再以RS232和普通的电脑进行串口通讯。

二、DP和研华4520模块的接线

1、研华4520模块

它是将RS422、RS485和RS232相互转换使用,以解决PLC的远距离通讯,RS485和RS422通讯距离在1500米左右,基本可以满足现场自控的要求。根据自控设备的串口通讯协议,有时候需要将自控设备通用的RS232转换为RS484通讯,然后进行远距离的传输,再将RS485转换为RS23然后进行和电脑的通讯。

2、研华4520模块的参数设定

SW1用于设定通讯字符的位数,必须和通讯回路中的设备通讯位数相匹配

一致。

经计算S7 200的字符位数为11位,设定位置如上图所示。

SW2用于设定通讯波特率,必须和通讯回路中的设备通讯位数相匹配一致。S7 200的通讯波特率为9600

3、RS485/RS422→RS232研华4520接线图

4、RS232→研华4520( RS422/RS485)→研华4520( RS422/RS485)→

RS232

接线图

现在有一种更为先进将RS422、RS485和RS232相互转换使用,以解决PLC的远距离通讯,它不需要电源供电,不需要设置字符数和波特率,它的型号为FS—485E,

FS-485E

FS-485E RS232/RS485/422无源隔离转换器使用说明书

FS-485E用于实现RS232到RS485和RS422的隔离转换,该产品的工作电源直接从RS232串口上窃取而无需外加电源也能实现RS232到RS485/422的光电隔离,采用特有的无延时自动收发转换技术和波特率自适应技术,即插即用适合所有软件,高效的串口窃电电路和独特的DC/DC 隔离技术保证了无源隔离转换器的可靠工作,并且在不发送数据的待机状态时输出为高阻态,支持多点通信,这一点有别于市售的其它同类廉价产品。本产品内置防静电抗雷击电路,独具电源和收、发指示灯,外形为标

准导轨安装的工业结构。

主要技术参数:

1、适用于一切标准RS232串口,仅使用TXD、RXD、GND

2、输出为四线全双工RS422接口和二线半双工RS485接口

3、采用串口窃电技术,无需外接电源,TXD供电即可工作,另使用RTS、DTR 辅助供电

4、光隔离电压: 1000VDC (最高可做到 3000VDC ,订货时需声明)

5、通信线选截面积为0.5mm2以上的屏蔽双绞线

6、最大通信距离为1800米(9.6Kbps时)、1000米(19.2Kbps以上时),

需TXD、 RTS、DTR供电

7、仅TXD供电时最大通信距离不超过100米,且不能使用终端电阻

8、最多组网站点数为64个

9、最大通信速率为115.2Kbps,波特率自适应

10、具有瞬变电压抑制功能,能承受功率高达500W的瞬态过压,能防雷电和抗静电放电冲击

11、安装方式:35mm标准导轨安装和螺栓孔安装

12、工作温度:-20~70℃

13、外形尺寸:85×55×25

产品外形及端子信号定义:

FS-485E与设备的RS232口的连接:

FS-485E可连接任何RS232串口,本产品的RS232插座是按标准的DTE接口定义的,连接标准DCE接口可用直通电缆连接,连接象电脑这样的DTE接口需做一条交叉电缆,如下图所示,随产品已配有该电缆。对于其它未按标准信号排列的RS232口,用户按照"发送连接收,接收连发送"

的原则连接即可。

产品的应用:

FS-485E可用于点到点通信和多点通信,除可连接多个其它RS485/422接口外,也可将多达128个RS232口组成RS485或RS422通信网络,其通信距离可达1800米,各节点的地址由设备的内部程序确定。

如使用屏蔽双绞线,请将屏蔽层接到产品的"FG"端子上。

1、二线半双工RS485通信网络:

将FS-485E转换器上的RS485和RS422选择开关K1拨到"485",将网络的始端和终端的FS-485E上的终端电阻设置开关K2拨到"R",网络上的其它FS-485E上的终端电阻设置开关K2拨到"OFF"。

和西门子DB连接器终端电阻连接器的连接概念一样。

四、V4.0 STEP 7 MicroWIN SP4 PLC地址的设置

在PLC和运行STEP 7-Micro/WIN的个人计算机之间连接一条电缆。对于简单的PC/PPI连接,将调设为9600波特、DCE、11位。(一般为默认)和PLC通讯时,在主界面点击通讯,见到此界面,双击刷新,即可显示PLC的型号和地址,

在左侧,您可以将远程 PLC 地址直接输入远程地址列表框。这样当您退出“通信连接”对话框时,将为 STEP 7-Micro/WIN 设置目标 PLC。

在“随项目保存设置”复选框前打√,设置 PLC 类型,该选项就会变成默认设置;PLC 类型根据项目改变,并在指令树中更新。如果选择“随项目保存设置”方框,则会用显示的远程地址和 PLC 类型设置更新当前项目。

如果未选择“随项目保存设置”方框,当点击“确定”时,Micro/WIN 会尝试与指定的PPI或STEP 7-Micro/WIN编程地址。

这个方框的默认设置为随项目保存打√,建议设置为默认打√,否则可能造成不是默认的PPI或编程软件地址数据写入到编程程序中,再次通讯有可能通讯不上。在这次PLC通讯不上就是因为在程序下装时,这一点的疏忽造成再次通讯不上。

图中用紫色方框线标注的是根据需要设定特定PPI或编程软件地址,PPI 或编程软件地址设定的地址生效,随项目保存设置必须不选。下一步;笔记本的PC/PG设置画面:

台式机的PC/PG设置画面:

例如。有PLC的通讯线为PPI 串口线用COM设置;

有PLC的通讯线为PPI 串口线用USB设置;

不过组态王还是只对COM设置起作用,不提供USB口设备的定义设置好所有的参数后,在系统块内进行参数的二次确认

S7 200和组态王/ V4.0 STEP 7 MicroWIN SP4/SP3编程软件的PPI 通讯实质上是S7 200 RS484→RS232的通讯,通讯线可以是

1、厂家提供的PPI线,实质它的转换盒也是将RS485→RS232再和电脑主

板上的COM口进行通讯,在S7200 PLC通讯口至转换盒之间也是RS485信号,因此在跨越距离远的情况下,可以将这之间连线剪断对应延长即可。切不可在转换盒至电脑COM口之间的连线延长。

2、DP接线器(单台通讯必须配接终端电阻,OFF、ON选择ON)通过RS485

通讯协议到的转换模块(RS484/RS422转RS232模块,有研华4520模块,必须提供24V电源,进行每帧字符数的设置,通讯波特率的设置;

四星电子FS—485E无源转换隔离模块,不需要提供24V电源,不需要进行进行每帧字符数的设置,通讯波特率的设置;)模块RS232接线至电脑的串口即可。3

组态王软件设置:

1、COM4口为西门子200PLC通信口,通讯参数:波特率:9600,数据位:

8,奇偶校验:偶校验,停止位:1,通信超时3000:毫秒,通信方式:RS232

2、设备配置向导中的参数:生产厂家:西门子,设备名称:S7-200系列,

通信描述:PPI。设备串口号为:COM4,设备地址:2,通讯方式:PPI。

设备地址及通讯参数定义

设备地址格式为:由于S7-200系列PLC 的型号不同,设备地址的范围不同,所以对于某一型号设备的地址范围,请见相关硬件手册。组态王的设备地址要与PLC的PORT口设置一致.PLC默认地址为2。

建议的通讯参数:

设定值推荐值

波特率9600

数据位8

停止位1

校验位偶校验

3、组态王数据词典-IO变量定义

1)、组态王中寄存器列表

2)、寄存器使用举例:

其中数据的定义类型要和PLC数据类型要匹配一致。

希望以上资料对你有所帮助,附励志名言3条:

1、要接受自己行动所带来的责任而非自己成就所带来的荣耀。

2、每个人都必须发展两种重要的能力适应改变与动荡的能力以及为长期目标延缓享乐的能力。

3、将一付好牌打好没有什么了不起能将一付坏牌打好的人才值得钦佩。

1C#中串口通信编程教程

C#中串口通信编程教程 本文将介绍如何在.NET平台下使用C#创建串口通信程序,.NET2.0提供了串口通信的功能,其命名空间是System.IO.Ports。这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。我们将使用标准的RS232C在PC间通信。它工作在全双工模式下,而且我们不打算使用任何的握手或流控制器,而是使用无modem连接。 命名空间 System.IO.Ports命名空间中最重用的是SerialPort类。 创建SerialPort对象 通过创建SerialPort对象,我们可以在程序中控制串口通信的全过程。 我们将要用到的SerialPort类的方法: ReadLine():从输入缓冲区读一新行的值,如果没有,会返回NULL WriteLine(string):写入输出缓冲 Open():打开一个新的串口连接 Close():关闭 Code: //create a Serial Port object SerialPort sp=new SerialPort(); 默认情况下,DataBits值是8,StopBits是1,通信端口是COM1。这些都可以在下面的属性中重新设置 : BaudRate:串口的波特率 StopBits:每个字节的停止位数量 ReadTimeout:当读操作没有完成时的停止时间。单位,毫秒 还有不少其它公共属性,自己查阅MSDN。 串口的硬件知识 在数据传输的时候,每个字节的数据通过单个的电缆线传输。包包括开始位,数据,结束为。一旦开始位传出,后面就会传数据,可能是5,6,7或8位,就看你的设定了。发送和接收必须设定同样的波特率和数据位数。

串行端口程序设计

串行端口程序设计 一、实验目的 了解在linux环境下串行程序设计的基本方法。 掌握终端的主要属性及设置方法,熟悉终端I /O函数的使用。 学习使用多线程来完成串口的收发处理。 二、实验内容 读懂程序源代码,学习终端I /O函数的使用方法,学习将多线程编程应用到串口的接收和发送程序设计中。 三、预备知识 有C语言基础。 掌握在Linux下常用编辑器的使用。 掌握Makefile 的编写和使用。 掌握Linux下的程序编译与交叉编译过程 四、实验设备及工具 硬件:UP-CUP S2410 经典平台、PC机Pentium 500以上, 硬盘10G以上。 软件:PC机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX开发环境 五、实验原理 异步串行I /O方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一对线即可进行。接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。

为了恢复发送的信息,双方必须协调工作。在微型计算机中大量使用异步串行I/O方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。 图2.3.1串行通信字符格式 图2.3.1给出异步串行通信中一个字符的传送格式。开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。最后是表示停止位的“1”信号,这个停止位可以约定持续1位、1.5位或2位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为50,95,110,150,300,600,1200,2400,4800,9600等。 接收方按约定的格式接收数据,并进行检查,可以查出以下三种错误: ●奇偶错:在约定奇偶检查的情况下,接收到的字符奇偶状态和约定不符。 ●帧格式错:一个字符从起始位到停止位的总位数不对。 ●溢出错:若先接收的字符尚未被微机读取,后面的字符又传送过来,则产生溢出错。 每一种错误都会给出相应的出错信息,提示用户处理。一般串口调试都使用空的MODEM 连接电缆,其连接方式如下:

串行异步通信程序设计

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2014年秋季学期 《通信系统综合训练》课程设计 题目:串行异步通信程序设计 专业班级:通信工程(1)班 姓名:李银环 学号:11250134 指导教师:王惠琴 成绩:

摘要 在Windows环境下实现通信的方法主要有利用MSComm控件和直接用Windows API编程,软件采用Microsoft Visual C++ 6.0,利用MSComm控件编程相对来说更简单一些,而直接使用Windows API编程更灵活一些。 本次课程设计分析了串行异步通信的基本原理,在VC++6.0的环境下利用MSComm控件实现了两个PC机的COM口间的数据发送和接收。本文通过对COM1口进行初始化编程,以及对建立的工程中的每个对话框和按钮分别进行编程和设置,成功的实现了利用PC机的两个COM口进行异步通信,并能根据设置调整异步传行通信参数。 关键词:VC++6.0;MSComm控件;串行异步通信

目录 前言 (1) 第1章串行异步通信基本原理 (2) 1.1 串行通信协议 (2) 1.2 串口通信的基本概念 (3) 1.3 RS-232简介 (4) 第2章 VC++软件简介 (5) 2.1 VC++6.0简介 (5) 2.2 Microsoft Communications Control 控件 (6) 第3章串行异步通信系统分析 (7) 第4章串行异步通信系统设计 (8) 4.1建立工程 (8) 4.2 在程序中添加MSComm控件 (9) 4.3 初始化串口:设置MSComm控件的属性 (11) 4.4 发送数据 (12) 第5章串行异步通信程序调试 (18) 5.1 计算机串口设置 (18) 5.2 程序运行结果 (18) 参考文献 (20) 附录 (21) 致谢 (29)

C#中串口通信编程

本文将介绍如何在.NET平台下使用C#创建串口通信程序,.NET 2.0提供了串口通信的功能,其命名 空间是System.IO.Ports。这个新的框架不但可以访问计算机上的串口,还可以和串口设备进行通信。 我们将使用标准的RS 232 C 在PC间通信。它工作在全双工模式下,而且我们不打算使用任何的握手或流控制器,而是使用无modem连接。 命名空间 System.IO.Ports命名空间中最重用的是SerialPort 类。 创建SerialPort 对象 通过创建SerialPort 对象,我们可以在程序中控制串口通信的全过程。 我们将要用到的SerialPort 类的方法: ReadLine():从输入缓冲区读一新行的值,如果没有,会返回NULL WriteLine(string):写入输出缓冲 Open():打开一个新的串口连接 Close():关闭 Code: //create a Serial Port object SerialPort sp = new SerialPort (); 默认情况下,DataBits 值是8,StopBits 是1,通信端口是COM1。这些都可以在下面的属性中重新设置: BaudRate:串口的波特率 StopBits:每个字节的停止位数量 ReadTimeout:当读操作没有完成时的停止时间。单位,毫秒 还有不少其它公共属性,自己查阅MSDN。

串口的硬件知识 在数据传输的时候,每个字节的数据通过单个的电缆线传输。包包括开始位,数据,结束为。一旦 开始位传出,后面就会传数据,可能是5,6,7或8位,就看你的设定了。发送和接收必须设定同样 的波特率和数据位数。 无猫模式 没有Modem模式的电缆只是简单地交叉传送和接收线。同样DTR & DSR, 和 RTS & CTS也需要交叉。RS232针图 这里,我们三条线。互连2和3(一段的2pin连接3pin),连接两端的5pin。 [示例程序] 主程序

MFC串口通信编程详解解析

MFC串口通信编程介绍 主要介绍了用CreateFile(函数和WriteFile(函数读写串口的实例,以及设置串口属性的实例. 在工业控制中,工控机(一般都基于Windows平台经常需要与智能仪表通过串口 进行通信.串口通信方便易行,应用广泛. 一般情况下,工控机和各智能仪表通过RS485总线进行通信.RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点.每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答. 在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX控件,这种方法程序简单,但欠灵活.其二是调用Windows的API函数,这种方法可以清楚地掌握串口通信的机制,并且自由灵活.下面只介绍API串口通信部分. 串口的操作可以有两种操作方式:同步操作方式和重叠操作方式(又称为异步操作方式.同步操作时,API函数会阻塞直到操作完成以后才能返回(在多线程方式中, 虽然不会阻塞主线程,但是仍然会阻塞监听线程;而重叠操作方式,API函数会立即返回,操作在后台进行,避免线程的阻塞. 无论哪种操作方式,一般都通过四个步骤来完成: (1打开串口 (2配置串口 (3读写串口 (4关闭串口

一打开串口 Win32系统把文件的概念进行了扩展.无论是文件、通信设备、命名管道、邮件槽、磁盘、还是控制台,都是用API函数CreateFile来打开或创建的.该函数的原型为: HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile; ?lpFileName:将要打开的串口逻辑名,如“COM1”; ?dwDesiredAccess:指定串口访问的类型,可以是读取、写入或二者并列; ?dwShareMode:指定共享属性,由于串口不能共享,该参数必须置为0; ?lpSecurityAttributes:引用安全性属性结构,缺省值为NULL; ?dwCreationDistribution:创建标志,对串口操作该参数必须置为 OPEN_EXISTING; ?dwFlagsAndAttributes:属性描述,用于指定该串口是否进行异步操作,该值为FILE_FLAG_OVERLAPPED,表示使用异步的I/O;该值为0,表示同步I/O操 作;

VC++串口通信编程

在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。 一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。 在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX 控件,这种方法程序简单,但欠灵活。其二是调用Windows的API函数,这种方法可以清楚地掌握串口通信的机制,并且自由灵活。本文我们只介绍API串口通信部分。 串口的操作可以有两种操作方式:同步操作方式和重叠操作方式(又称为异步操作方式)。同步操作时,API函数会阻塞直到操作完成以后才能返回(在多线程方式中,虽然不会阻塞主线程,但是仍然会阻塞监听线程);而重叠操作方式,API函数会立即返回,操作在后台进行,避免线程的阻塞。 无论那种操作方式,一般都通过四个步骤来完成: (1)打开串口 (2)配置串口 (3)读写串口 (4)关闭串口 (1)打开串口 Win32系统把文件的概念进行了扩展。无论是文件、通信设备、命名管道、邮件槽、磁盘、还是控制台,都是用API函数CreateFile来打开或创建的。该函数的原型为: HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile); ?lpFileName:将要打开的串口逻辑名,如“COM1”; ?dwDesiredAccess:指定串口访问的类型,可以是读取、写入或二者并列; ?dwShareMode:指定共享属性,由于串口不能共享,该参数必须置为0; ?lpSecurityAttributes:引用安全性属性结构,缺省值为NULL; ?dwCreationDistribution:创建标志,对串口操作该参数必须置为OPEN_EXISTING; ?dwFlagsAndAttributes:属性描述,用于指定该串口是否进行异步操作,该值为FILE_FLAG_OVERLAPPED,表示使用异步的I/O;该值为0,表示同 步I/O操作; ?hTemplateFile:对串口而言该参数必须置为NULL;

串行通信程序设计

课程设计任务书 学生姓名: xxx 专业班级: xxx 指导教师: xxx 工作单位: xxx 题目: 串行通信程序设计 初始条件: 用汇编语言编写程序,实现两台计算机之间的通信。 要求完成的主要任务: ①制作RS-232C通信线,并用它连接两台计算机; ②在计算机上用不同的颜色设置接收、发送区域; ③能设置发送、接收的数据长度,并能显示接收的数据; ④能选择通信校验方式(奇校验、偶校验或无校验); ⑤可以将接收的数据作为文件保存起来; ⑥撰写设计说明书及调试心得。 时间安排: 第一阶段: 查阅相关资料 第二阶段: 课程设计 第三阶段: 撰写课程设计报告 第四阶段: 课程设计答辩 指导教师签名:年月日系主任(或责任教师)签名:年月日

串行通信程序设计 1方案论证 首先,要能进行串行通信,串口是基础。使用RS-232 DB-9串口,实现基本通信时,只需将其5号线(地线)相连,2、3号线(接收、发送数据线)分别交叉相连即可。 根据要求,此程序可分为界面显示、参数设置、发送数据、接收数据和保存文件五部分。以下将从这五个方面进行方案论证。 1.1 界面显示 一般情况下显示器的屏幕为25行、82列,不妨把整个屏幕看成25*80个存储单元。屏幕坐上角存储单元的坐标为(0,0),即行号为0,列号为0。因此可通过设置不同的行号和列号定位屏幕上的存储单元。 用不同颜色设置发送和接收区域,即用不同颜色的空格填充发送和接收区域。这就需要调用BIOS系统中断,先置光标位置,再写当前字符和属性。这两项功能都可调用BIOS显示输出10H号中断服务程序实现,详见表1-1 10H号中断服务程序部分功能。 表1-1 10H号中断服务程序部分功能 IBM PC的标准显示器适配器,有单色和彩色之分,其中后者能以文本和图形两种工作方式,既可以显示黑白图形又可以显示有16种颜色的彩色图形。彩色文本方式下,设置不同的属性字节即可实现不同前景和不同背景的组合。例如,0111表示灰白,1110表示黄,设置灰白底黄字的属性为01111110,十六进制表示为7EH。 显示发送和接收两个区域的方案大体分两种,一是两个带状区域,一是两个并排的矩形。从美观的角度来讲,后者更胜一筹。显示标题、提示、设置等信息时,只需先将光标定到合

串行通信及数据校验程序设计.

中北大学 单片机原理及接口技术 课程设计说明书 学生姓名:学号: 学院:计算机与控制工程学院 专业:自动化 题目:串行通信及数据校验程序设计 指导教师:职称: 2013年12月22日

中北大学 单片机及其接口技术课程设计任务书 12/13 学年第一学期 学院:计算机与控制工程学院 专业:自动化 学生姓名:学号 课程设计题目:串行通信及数据校验程序设计 起迄日期:12月16 日~12月20 日 课程设计地点:中北大学 指导教师:沈小林 下达任务书日期: 2013年12月16日

课程设计任务书

课程设计任务书

目录 一、设计任务 (2) 1.任务 (2) 2.通信技术要求 (2) 二、基本原理 (2) 1. AT89C51单片机的串行接口结构 (2) 2.串行口方式1的发送和接收 (4) 3.设置串行通信寄存器 (4) 三、系统方案比较与论证 (5) 1.汇编语言和C语言的特点及选择 (5) 2.并行通信与串行通信的比较 (5) 3.串行通信程序设计的比较 (6) 4.同步通信与异步通信的区别 (6) 四、系统电路设计 (6) 五、软件设计 (7) 1.发送程序设计 (7) 2.接收程序设计 (7) 3.校验程序设计 (8) 4.系统软件总体流程图 (9) 六、总结 (11) 七、参考文献 (11)

一、设计任务 1.任务 通过对单片机串行通信程序设计掌握单片机串行数据通讯的实现及数据校验的原理。 2.通信技术要求 (1)串行通信波特率:9600bps; (2)数据长度:20字节 二、基本原理 1.AT89C51单片机的串行接口结构 51单片机的串行接口是一个全双工的接口,它可以作为UART用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下: (1)数据缓冲器(SBUF) 接受或发送的数据都要先送到SBUF缓存。接收SBUF和发送SBUF用同一直接地址99H,两者在物理结构上是相互独立的,单片机用它们来接收和发送数据,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。 (2)串行控制寄存器(SCON) SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下: SM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式

串行通信程序设计微机原理课设

摘要 计算机与外部进行信息交换的方式有两种,一种是并行通信,另一种是串行通信。其中串行通信时,数据和控制信息是一位接一位串行传输,这样虽然速度会慢一些,但是传输距离长,硬件电路也相对简单。因此在长距离通信系统及各类计算机网中,串行传输方式是主要的通信方式。计算机提供给用户的RS-232C接口就是一个标准的串行通信接口,主要用来把数据处理装置与数据通信装置连接在一起。RS-232C标准包括接口的机械,电气及功能方面的内容,许多场合都以这种借口规范作为连接标准。 串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0,每一位数据占据一个固定的时间长度。 汇编语言是用指令的助记符,符号地址,标号等书写程序的语言,实际上是机器语言的一种符号表示,主要特点是可以使用助记符来表示机器指令的操作码和操作数,可以用标号和符号来代替地址,常量和变量。汇编语言是与机器语言密切相关的,是面向机器的语言。CPU不同的计算机有着不同的汇编语言,汇编语言源程序不能直接在计算机上运行,需要翻译成机器语言程序。 本次课程设计要求制作RS-232C通信线,用其实现两台计算机之间的通信。要求在计算机上用不同颜色设置接收和发送区域,能设置发送和接收的数据长度,显示接收数据,并能选择通信校验方式,将接收的数据作为文件保存起来。 关键字:汇编语言串行通信 RS-232C通信线源程序CPU

串行通信程序设计 1.串行通信的基本原理 1.1串行通信的基本概念 串行通信有两种工作方式:异步通信和同步通信。异步通信由于不需要同步信号,硬件连接简单而被广泛使用于串行部件,计算机与计算机,计算机于单片机及其仪表之间的数据交换。 (1)异步通信 所谓异步通信,是指以字符为单位传输数据,用起始位和停止位标志每个字符的开始和结束,两次传输时间间隔不固定。异步通信不需要同步信号,为了实现异步通信的要求,CPU与外设之间有两项规定,及字符格式和波特率的规定。在一个串行通信系统工作时,应该设定接收方和放松放的比特率相同;在异步通信方式中,任何一组数据总是以起始位开始,停止位结束,在起始位和停止位之间才是有效数据位,另外数据位的末尾是否用奇偶校验,起始位和停止位选用宽度等都有一定的规定。 (2)同步通信 异步通信为了可靠地传输数据,在每次传输数据时附加一些标志位。在大量数据传输时,为了提高速度,就去掉这些标志,这就是同步通信。采用同步传输,数据块开始处要用同步字符来指示,且在发送端和接收端之间要用时钟来实现同步。同步通信中使用的数据格式根据所采用的控制规程而定。 1.2串行通信中的数据传输方向 通常,串行通信数据在两个站之间是双向传输的,A站可作为发送端,B站作为接收端,也可以A站作为接收端,B站作为发送端,根据要求可分为半双工和全双工。 半双工:每次只能有一个站发送,即只能有A站发送到B站,或者有B站发送到A 站,A站和B站不能同时发送。 全双工:两个站都能同时发送成为全双工,数据传输方向示意图如图1-1所示。

串口通信程序设计

1基本理论基础 1.1串行通信的方式 通信的基本方式可以分为并行通信和串行通信两种。串行通信时数据用一根传输线逐为顺序传送。串行通信又分为两种类型:串行异步通信和串行同步通信。 串行异步通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。 同步通信时指在约定的数据通信数率下,发送方和接收方的时钟信号频率和相位始终保持一致,通信双方发送数据和接收数据具有完全一致的定时关系。 1.2串行通信数据传送方式 单工传送:单工传送时指在通信时只能由一方发送数据,另一方接收数据的通信方式。 半双工传送:指在通信时双方都能够接收或者发送,但是不能够同时接收和发送的通信方式。 全双工传送:通信双方之间有两条通路,发送信息和接收信息可以同时进行。 1.3串行通信接口标准RS-232C RS-232C标准是美国EIA于1969年公布的通信协议。它的作用是实现不同的厂商的计算机和各种外围设备进行串行连接。 2.INS 8250 2.1INS 8250的外部引脚和结构 INS 8250是通用异步收发器UART,用作异步通信接口电路。INS 8250的引脚信号基本上可以分为两大类:与CPU系统总线相连的信号线和与通信设备MODEM连接的信号线。

2.2INS的内部寄存器及其编程方法 2.2.1波特率因子寄存器(DLL/DLH) 波特率因子寄存器是用来控制串行数据传输的数率。波特率因子=1843200÷(分频值×16)内部设置波特率因子寄存器DLL/DLH,在初始化时将选用的波特率因子值的高低、低字节分别放入DLH和DLL中。 若设定通信波特率为1200bps,波特率因子寄存器的初始化程序为: MOV DX,3FBH MOV AL,80H OUT DX,AL MOV DX,3F8H MOV AL,60H OUT DX,AL MOV DX,3F9H MOV AL,00H OUT DX,AL 2.2.2通信线路控制寄存器(LCR) 通信线路控制寄存器LRC主要用来指定异步通信数据格式,即字符长度、停止位位数、奇偶校验。LRC的控制字如下 2.2.3通信线路状态寄存器 通信线路状态寄存器用来表示数据接收和数据发送时8250的状态。控制字如下 中断源提出的中断请求被允许还是被禁止是由允许中断寄存器控制。控制字格式如下

串口通信原理与编程

在Windows应用程序的开发中,我们常常需要面临与外围数据源设备通信的问题。计算机和单片机(如MCS-51)都具有串行通信口,可以设计相应的串口通信程序,完成二者之间的数据通信任务。 实际工作中利用串口完成通信任务的时候非常之多。已有一些文章介绍串口编程的文章在计算机杂志上发表。但总的感觉说来不太全面,特别是介绍32位下编程的更少,且很不详细。笔者在实际工作中积累了较多经验,结合硬件、软件,重点提及比较新的技术,及需要注意的要点作一番探讨。希望对各位需要编写串口通信程序的朋友有一些帮助。 一.串行通信的基本原理 串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。 在Windows环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分。 应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。 串口通信程序的流程如下图: 二.串口信号线的接法 一个完整的RS-232C接口有22根线,采用标准的25芯插头座(或者9芯插头座)。25芯和9芯的主要信号线相同。以下的介绍是以25芯的RS-232C为例。 ①主要信号线定义: 2脚:发送数据TXD;3脚:接收数据RXD;4脚:请求发送RTS;5脚:清除发送CTS; 6脚:数据设备就绪DSR;20脚:数据终端就绪DTR;8脚:数据载波检测DCD; 1脚:保护地;7脚:信号地。 ②电气特性: 数据传输速率最大可到20K bps,最大距离仅15m. 注:看了微软的MSDN 6.0,其Windows API中关于串行通讯设备(不一定都是串口RS-232C或RS-422或RS-449)速率的设置,最大可支持到RS_256000,即256K bps! 也不知道到底是什么串行通讯设备?但不管怎样,一般主机和单片机的串口通讯大多都在9600 bps,可以满足通讯需求。 ③接口的典型应用: 大多数计算机应用系统与智能单元之间只需使用3到5根信号线即可工作。这时,除了TXD、RXD以外,

单片机与PC机串行通信系统设计

随着计算机技术特别是单片机技术的发展,单片机的应用领域越来越广泛,单片机在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。但在实际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜任,这时使用多个单片机接合PC机组成分布式系统是一个比较好的解决方案。这样,单片机的数据通信技术就变得十分重要,在某种程度上说,掌握了单片机的数据通信技术也就是掌握了单片机的核心应用技术。 现在单片机及PC机在结构、性能和经济上为实现远程串行通信提供了很好的条件,串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。 本论文运用单片机系统的设计方法,对单片机与PC机的串行通信系统进行设计,通过总体方案的分析与设计,确定了所采用单片机的型号,并明确硬件设计与软件设计的内容,硬件设计方面需要对单片机控制系统的硬件电路,如时钟电路、复位电路进行设计,串口部分确定了以定时器T1工作在方式2作为波特率发生器,单片机与PC机采用了标准的RS-232C接口进行连接,其中存在着电平转换电路的设计,利用了PROTEL99SE软件进行通信系统硬件电路原理图的绘制,并生成报表。软件设计方面,利用VB的MSComm控件进行串口通信软件的开发,根据系统的功能要求,利用汇编程序进行单片机收发数据的程序编制,利用51汇编集成开发环境和STC-ISPV13下载型编程器对单片机汇编程序进行烧录。在系统软硬件调试的过程中,采用AT89C51单片机试验开发板进行功能测试。最后进行分析,验证系统的可行性。 关键词:PC机与单片机的串行通信;VB程序设计;AT89C51实验板

串口通信Windows程序设计

串口通信Windows程序设计 一.工作环境 硬件连接好的串口设备(虚拟串口软件VSPM),Visual Studio 2008 二.基本知识 1.串口通信 串行口通信,IDE,USB,RS232,主要讲RS232接口,理论传输距离可以 达到50m,实际应用只有15m左右,传输速度较慢,波特率115200bps 时,速度才有14KB/S 2.串口通信传输方式 a)异步传输:异步传输将比特分成小组进行传送,小组可以 是8位的1个字符或更长。发送方可以在任何时刻发送这 些比特组,而接收方从不知道它们会在什么时候到达。双 机通讯需要设定开始位,数据位,校验位,停止位,双机 不需要同步时钟,速率慢。 b)同步传输:数据以帧的形式发送,双机时钟必须同步,否 则会出现传输错误,速度比异步传输快。 三.Windows串口程序设计基础 在Win32下,可以使用两种编程方式实现串口通信,其一是使用ActiveX控件,这种方法程序简单,但欠灵活。其二是调用Windows的API函数,这种方法可以清楚地掌握串口通信的机制,并且自由灵活。我们只介绍API串口通信部分。 同步操作时,API函数会阻塞直到操作完成以后才能返回(在多线程方式中,虽然不会阻塞主线程,但是仍然会阻塞监听线程);而异步操作方式,API函数会立即返回,操作在后台进行,避免线程的阻塞。

无论那种操作方式,一般都通过四个步骤来完成: 1.打开串口 2.配置串口 3.读写串口 4.关闭串口 (1)打开串口 HANDLE CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile); lpFileName:将要打开的串口逻辑名,如“COM1”;dwDesiredAccess:指定串口访问的类型,可以是读取、写入或二者并列;dwShareMode:指定共享属性,由于串口不能共享,该参数必须置为0;lpSecurityAttributes:引用安全性属性结构,缺省值为NULL; dwCreationDistribution:创建标志,对串口操作该参数必须置为OPEN_EXISTING; dwFlagsAndAttributes:属性描述,用于指定该串口是否进行异步操作,该值为FILE_FLAG_OVERLAPPED,表示使用异步的I/O;该值为0,表示同步I/O 操作; hTemplateFile:对串口而言该参数必须置为NULL;

基本串口通信程序设计

基本串口通信程序设计 实验要求: 用TC对计算机的串口进行编程,并作一个简单的串口查询通讯程序。 实验方案: 用RS-232串口通讯线将两台计算机A、B的串口相连。 实验步骤: 1、首先对计算机串口通讯控制芯片8250的控制寄存器进行初始化和设置; 2、对计算机B的串口发送一个数据前,查询计算机A的串口的发送移位寄存器是否为空,如果是则发送数据,如果为否则继续查询,直到条件成立;执行完发送指令后,再次查询计算机A的口的发送移位寄存器是否为空,如果是则结束发送;如果为否,则继续查询,直到条件成立。 3、从计算机A的串口接受刚才从计算机B的串口发送的数据前,先查询计算机A的口的接收数据标志位是否为1,如果是则表示计算机A的口接收数据准备就绪,执行接收指令,即从计算机A的口读入数据,若否则表示没有准备好接收,继续查询计算机A的口的接收数据标志位,直到为1;接收完数据后,再次查询计算机A的串口的接受寄存器是否为空的标志位的状态,如果为1则程序转入计算机B的串口的数据发送程序;如果否,则继续查询等待,直到接收。 实验内容: 1.在COMDEBUG中针对串口通信各寄存器进行设置,掌握各寄存器在串口通信中 的作用及各参数的含义。 Com1口中的10各可编程寄存器 地址寄存器名称备注3F8H 发送保持寄存器(THR)DLAB=0 3F8H 接收缓冲寄存器(RBR)DLAB=0 3F8H 波特率因子寄存器[低](DLL)DLAB=1 3F9H 波特率因子寄存器[高](DLM)DLAB=1 3F9H 中断允许寄存器(IER)DLAB=0 3FAH 中断识别寄存器(IIR) 3FBH 线路控制寄存器(LCR) 3FCH Modem控制寄存器(MCR) 3FDH 线路状态寄存器(LSR) 3FEH Modem状态寄存器(MSR) 注:com1口的基地址为:3F8; com2口的基地址为:2F8。 在上表中,10个可编程寄存器,使用了7个地址,其中部分寄存器共用一个地址,由DLAB=0/1来区分,在DLAB=1,用于设定通讯所需的波特率; 8250的控制寄存器控制/状态字: 1)接收缓冲寄存器(RBR)和发送保持寄存器(THR) RBR暂存从线路上接收到的有效字符,等待本地读取。THR暂存等待发向线路的数据。它们共用同意I/O地址,在半双工工作环境下,互不干扰。 2)中断识别寄存器(IIR)和中断允许寄存器(IER)

PC串口通信程序设计[7]

4.3 PC串口通信程序设计[7] 在Windows环境下,串口是系统资源的一部分。应用程序要使用串口进行通信,必须在使用前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。在Windows的系统函数中,均包含了支持通信中断的功能。对串口通信而言,Windows为相应的串口设备开放了用户定义的输出缓冲区和输入缓冲区,应用程序只能对输入/输出缓冲区进行操作,数据进出串口的操作均由系统后台完成。以接收为例,系统每接收一个字符就产生一个低级的硬件中断,系统的串口驱动程序将接收到的字符送入输入缓冲区,此时应用程序就可以通过访问输入缓冲区得到接收到的字符信息。 Windows为用户提供了两种方式实现串口通信: ●使用串口通信控件针对串口通信,微软公司专门提供了MSComm控件,使用该控件进行串口通信设计是十分方便的,程序员不必花时间去了解较为复杂的API函数。通过简单的修改控件的属性和使用控件提供的方法,就可以实现对串口的配置、完成串口接收和发送数据。 ●使用Windows的API应用程序接口Windows中,串口是以文件的形式被打开和访问的。串口和串口通信驱动需要使用设备控制块(DCB,Device Control Block)进行配置。应用程序使用API函数CreateFile打开串口,ReadFile读串口,CreateEvent建立事件对象和CloseHandle关闭串口。 使用串口通信控件进行串口程序开发极为方便,如果不需要对串口进行高级控制一般多选择使用MSComm控件进行开发。本章介绍在VB下使用MSComm 控件进行计算机实验室温控系统串口程序开发。 4.3.1 MSComm控件介绍[7] Micronsoft Communications Control (MSComm)是Micronsoft公司提供的简化Windows下串口通信编程的ActiveX控件,它为应用程序提供了通过串口收发数据的简便方法。在串口编程中,使用MSComm控件非常方便,仅需通过简单的修改控件的属性和使用控件提供的方法,就可以实现对串口的配置,完成串口接收和发送数据等任务。 (一)MSComm控件的通信方法 MSComm控件提供了两种处理通信的方式:事件驱动方式和查询方式。

RS-232接口与单片机串行通信程序设计

单片机的串行口是非常有用的,通过他我们可以把单片机系统的数据传回电脑处理或者接受电脑传过来的数据而进行相应的动作,下面我就给大家介绍上一下电脑的RS-232接口与单片机串行通信程序设计方法。 RS-232简介: 在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通 讯.RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口. ("RS-232-C"中的"-C"只不过表示RS-232的版本,所以与"RS-232"简称是一样的)它是在1970年由美国电子工业协会(EIA)联合贝尔系统,调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.它的全名是"数据终端设备(DTE) 和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定.后来IBM的PC机将RS232 简化成了DB-9连接器,从而成为事实标准.而工业控制的RS-232口一般只使用RXD,TXD,GND三条线. 下面,让我们使用S51增强型单片机实验板来开发一个简单的串口通信实验程序,这是一个串口通信综合实验,需要全套餐客户的相关配件配合才能完成。通过该实验程序,我们可以检测实验板串口的状态,接收计算机发送来的数据,然后再发送回计算机,如果程序中发送和接收窗中显示的字符相同,则说明实验板的串口是良好的,能够正常收发数据,另外单片机接收计算机的控制指令,根据控制指令来控制实验板上的继电器动作。 首先让我们来看看我们做的通讯软件的实际效果。。。 RS-232接口与单片机串行通信程序设计的界面

RS-232串口通信程序设计

RS-232串口通信程序设计 实验要求: 用TC对计算机的串口进行编程,并作一个简单的串口查询通讯程序。 实验方案: 用RS-232串口通讯线将两台计算机A、B的串口相连。 实验步骤: 1、首先对计算机串口通讯控制芯片8250的控制寄存器进行初始化和设置; 2、对计算机B的串口发送一个数据前,查询计算机A的串口的发送移位寄存器是否为空,如果是则发送数据,如果为否则继续查询,直到条件成立;执行完发送指令后,再次查询计算机A的口的发送移位寄存器是否为空,如果是则结束发送;如果为否,则继续查询,直到条件成立。 3、从计算机A的串口接受刚才从计算机B的串口发送的数据前,先查询计算机A的口的接收数据标志位是否为1,如果是则表示计算机A的口接收数据准备就绪,执行接收指令,即从计算机A的口读入数据,若否则表示没有准备好接收,继续查询计算机A的口的接收数据标志位,直到为1;接收完数据后,再次查询计算机A的串口的接受寄存器是否为空的标志位的状态,如果为1则程序转入计算机B的串口的数据发送程序;如果否,则继续查询等待,直到接收。 实验内容: 1.在COMDEBUG中针对串口通信各寄存器进行设置,掌握各寄存器在串口通信中 的作用及各参数的含义。 Com1口中的10各可编程寄存器 地址寄存器名称备注3F8H 发送保持寄存器(THR)DLAB=0 3F8H 接收缓冲寄存器(RBR)DLAB=0 3F8H 波特率因子寄存器[低](DLL)DLAB=1 3F9H 波特率因子寄存器[高](DLM)DLAB=1 3F9H 中断允许寄存器(IER)DLAB=0 3FAH 中断识别寄存器(IIR) 3FBH 线路控制寄存器(LCR) 3FCH Modem控制寄存器(MCR) 3FDH 线路状态寄存器(LSR) 3FEH Modem状态寄存器(MSR) 注:com1口的基地址为:3F8; com2口的基地址为:2F8。 在上表中,10个可编程寄存器,使用了7个地址,其中部分寄存器共用一个地址,由DLAB=0/1来区分,在DLAB=1,用于设定通讯所需的波特率; 8250的控制寄存器控制/状态字: 1)接收缓冲寄存器(RBR)和发送保持寄存器(THR) RBR暂存从线路上接收到的有效字符,等待本地读取。THR暂存等待发向线路的数据。它们共用同意I/O地址,在半双工工作环境下,互不干扰。 2)中断识别寄存器(IIR)和中断允许寄存器(IER)

相关文档
最新文档