串口通信MAX232课件_第1页
串口通信MAX232课件_第2页
串口通信MAX232课件_第3页
串口通信MAX232课件_第4页
串口通信MAX232课件_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1

RS-232C该标准的全称是EIA-RS-232C标准(ElectronicIndustrialAssociate-RecommendedStandard232C)是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。232标准与CCITT的V.24基本相同。它适合于数据传输速率在0~20kbit/s范围内、传输距离在15m以内的通信。由于通信设备厂商大都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准。常用异步串行通讯接口标准

DCE1RS-232C该标准的全称是EIA-RS-232C标准(1DCE计算机DTEDCEDCEDTE电话线ModemModem计算机RS232CRS232C计算机计算机TXDTXDRXDRXDGNDGND目前已在标准规定了数据终端设备(DTE)和数据通信设备(DCE)间串行通信接口的物理(电平)、信号和机械连接标准DCE计算机DTEDCEDCEDTE电话线2EIARS-232C串行口EIARS-232C串行口3RS232C的电气标准:

3V~15V:逻辑0-3V~-15V:逻辑19600bps①电气特性RS232C的电气标准:①电气特性4DTE插针式DCE内孔式25针DB插连接器DTE插针式DCE内孔式9针DB插连接器②机械特性DTEDCE25针DB插连接器DTEDCE9针DB插连接器②5232C标准规定了25针连接器DB-25,并且规定在DTE一端的插座为插针型,在DCE一端为插孔型。既可以用于同步通信,也可以用于异步通信。在进行异步通信时,最多也只需9个信号:2个数据信号、6个控制信号、1个公共信号地。因此从286微机到现在的微机一般都采用DB-9型连接器,作为多功能I/O卡或主板上COM1和COM2两个串行口的连接器。232C标准规定了25针连接器DB-25,并且规定在DTE一6在通信速率低于20kbit/s时,RS-232C所能直接连接的最大物理距离为15m(50英尺)。232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码元畸变小于4%的前提下给出的。为了保证码元畸变小于4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500pF。然而,在异步通信实际应用中,码元畸变超过4%,甚至为10%~20%时,也能正常传输信息,这意味着驱动器的负载电容可以超过2500pF;而且由于工艺的改进,每英尺电缆的电容值也远远小于40~50pF。因而传输距离往往可大大超过15m。在通信速率低于20kbit/s时,RS-232C所能直接连接7信号定义(25针)信号定义(25针)8RS-232C接口信号定义引脚(9针)引脚(25针)信号信号源类型描述18CDDCE控制载波信号检测23RxDDCE数据接收数据32TxDDTE数据发送数据420DTRDTE控制终端准备好57GND--信号地66DSRDCE控制数据机准备好74RTSDTE控制请求发送85CTSDCE控制清除以便发送922RIDCE控制振铃信号RS-232C接口信号定义引脚(9针)引脚(25针)信号信号92号线发送数据(TxD——Transmitteddata):通过TxD线DTE终端将串行数据发送到MODEM。3号线接收数据(RxD——Receiveddata):通过RxD线DTE终端接收从MODEM发来的串行数据。4号线请求发送(RTS——Requesttosend):用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON状态),向MODEM请求发送。它用来控制MODEM是否要进入发送状态。5号线允许发送(CTS——Cleartosend):用来表示DCE准备好接收DTE发来的数据。是对请求发送信号RTS的响应信号。当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知DTE终端开始沿发送数据线TxD发送数据。2号线发送数据(TxD——Transmitteddata)104号线和5号线这对RTS/CTS请求应答联络信号是用于半双工采用MODEM的系统中作发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,因此不需RTS/CTS联络信号,使其处于高电平状态。6号线数据通信设备准备就绪(DSR——Datasetready):有效时(ON状态),表明MODEM处于可以使用的状态。7号线信号地(SG——SignalGround):所有公共信号地。4号线和5号线这对RTS/CTS请求应答联络信号是用于半双工118号线数据载波检测(DCD—DataCarrierdetection)线:用来表示DCE已接通通信链路,告之DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使DCD信号有效,通知DTE终端准备接收,并且由MODEM将接收下来的载波信号解调成数字数据后,沿接收数据线RxD送到DTE终端。20号线数据终端设备准备就绪(DTR——DataSetready):有效时(ON状态),表明数据终端可以使用。8号线数据载波检测(DCD—DataCarrierd126号线和20号线这对DSR和DTR信号有时连到电源上,一上电就立即有效。目前有些RS-232C接口甚至省去了用以指示设备是否准备好的这类信号,认为设备是始终都准备好的。可见这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了。22号线振铃指示(RI——RingingIndicator):当MODEM收到交换台送来的振铃呼叫信号时;使该信号有效(ON状态),通知终端,已被呼叫。6号线和20号线这对DSR和DTR信号有时连到电源上,一上电13串口通信MAX232课件14计算机间RS232C通信的常用连接方法全握手无握手计算机计算机TXDTXDRXDRXDGNDGNDTxDRxDRTSCTSDTRDSRCDRIGNDTxDRxDRTSCTSDTRDSRCDRIGND计算机间RS232C通信的常用连接方法全握手无握手计算机计15接口连接接口连接16TTL/CMOS<—>RS232电平转换芯片:MAX202MAX232/MAX233MC1488(+/-12V)/SN75150MC1489(+5V)TTL/CMOS<—>RS232电平转换芯片:17MCl488、SN75150芯片可完成TTL电平—>EIA电平的转换MCl489、SN75154芯片可实现EIA电平->TTL电平的转换MAX232芯片可完成TTL←→EIA双向电平转换由于MCl488要求使用±12V高压电源,不太方便。电平转换芯片MAX232,可以实现TTL电平与RS-323电平双向转换。MAX232内部有电压倍增电路和转换电路,仅需+5V电源便可工作,使用十分方便。MCl488、SN75150芯片可完成TTL电平—>EIA电18串口通信MAX232课件19PC机COM口接8051机11p(TXD)10p(RXD)PC机和单片机串口通讯的硬件电路

PC机RXDTXDMAX232T1OUTR1INT1IN(R1OUTRXDTXDMCS-51PC机COM口接8051机11p(TXD)PC机和单片机串口202.RS-449接口标准为了改善RS-232C的电气特性、延长零MODEM方式的传输距离并最大限度地提高数据传输速率,EIA又发布了RS-449接口标准。RS-449标准定义了一个37条引脚的连接器,增加了10条信号线,但是它只规定了接口的功能、机械特性和规程特性,接口的电气特性则由RS-422A和RS-423A这两个标准规定。2.RS-449接口标准为了改善RS-232C的电气特性、延21(1)RS-423A接口标准RS-423A采用非平衡线路,每一路信号均为单端输出,差分输入。电路按传输方向分成两组,每个方向共用一条回线。当传输距离在12m以内时,数据速率可达到300kbit/s。(2)RS-422A接口标准RS-422A标准是一种平衡方式传输。所谓平衡方式,是指双端发送和双端接收。(1)RS-423A接口标准22RS-422A标准由于采用了双线传输,大大增强了共模抗干扰的能力。当传输距离在12m以内时,数据速率可达到10Mbit/s.传输距离增加则速率降低,当传输距离为1km时,允许的最大传输速率为100kbit/s。该标准规定电路中只许有1个发送器,可有多个接收器。串口通信MAX232课件23RS422的连接线路……R主站RRS422多采用1:N的全双工连接方式从站1从站NRS422的连接线路……R主站RRS422多采用1:N243.RS-485接口标准RS-485与RS-422A标准一样,也是一种平衡传输方式的串行接口标准,它和RS-422A兼容,并且扩展了RS-422A的功能。两者主要差别是,RS-422A标准只许电路中有一个发送器,而RS-485标准允许在电路中可有多个发送器,因此,它是一种多发送器/多接收器的标准。RS-485允许一个发送器驱动多个负载设备,负载设备可以是驱动发送器、接收器、收发器组合单元。RS-485的共线电路结构是在一对平衡传输线的两端都配置终端电阻,其发送器、接收器、组合收发器可挂在平衡传输线上的任何位置,实现在数据传输中多个驱动器和接收器共用同一传输线的多点应用,其配置如图8.11所示。3.RS-485接口标准RS-485与RS-422A标准一样25RS-485标准的特点有:由于RS-485标准采用平衡发送/差分接收,所以,共模抑制比高,抗干扰能力强。传输速率高,它允许的最大传输速率可达10Mbit/s。传输信号的摆幅小(200mv)。传送距离远(指无MODEM的直接传输),采用双绞线,在不用MODEM的情况下,当传输速率为100Kbit/s时,可传送的距离为1.2km,若传输速率降低,还可传送更远的距离。RS-485标准的特点有:26能实现点对点、点对多点、多点对多点的通信RS-485允许平衡电缆上共连接32个发送器、接收器、组合收发器。RS-485标准目前已在许多方面得到应用,尤其是在多点通信系统中,如工业集散分布系统、商业POS收款机和考勤机的联网中用得很多,是一个很有发展前途的串行通信接口标准。能实现点对点、点对多点、多点对多点的通信27RS485的连接线路……RRRS485多半双工的连接方式RS485的连接线路……RRRS485多半双工的连接方式28RS422和RS485接口标准规格RS422RS485传输模式平衡平衡差动输出(V)±2±1.5接收器敏感度(V)±0.2±0.2驱动器负载,最小(Ω)10060最大驱动器数量132最大接收器数量1032最大传输速度(bps)10M10M最大电缆长度@90Kbps(ft)40004000最大电缆长度@10Mbps(ft)5050RS422和RS485接口标准规格296.3PC机与单片机通信PC机在与单片机串行接口后,可以方便地构成主从分布式多机系统。从机(单片机)作数据采集或实时控制,主机作数据处理或中央管理等这种多机系统在过程控制、仪表生产、生产自动化和企业管理等方面都有广泛的应用。此外微机和单片机串行接口后,可以大大方便单片机的开发过程。6.3PC机与单片机通信PC机在与单片机串行接口后,可30一、PC机串口资源及编程使用方法PC机一般有COM1和COM2两个串口。寄存器名称端口地址复位后初始值COM1COM2发送器保持寄存器(TBR)3F8H2F8HXXXXXXXXB接收器数据寄存器(RBR)3F8H2F8HXXXXXXXXB波特率因子低位寄存器(DLL)3F8H2F8H00000000B波特率因子高位寄存器(DLH)3F9H2F9H00000001B中断允许寄存器(IER)3F9H2F9H00000000B中断标识寄存器(IIR)3FAH2FAH00000000B线路控制寄存器(LCR)3FBH2FBH01100000B调制解调器控制寄存器(MCR)3FCH2FCHXXXX0000B线路状态寄存器(LSR)3FDH2FDHXXXXXXXXB调制解调器状态寄存器(MSR)3FEH2FEHXXXXXXXXB一、PC机串口资源及编程使用方法寄存器名称端口地址复位后初31使用串口必须先初始化,有以下4个步骤。DLHDLL波特率DLHDLL波特率DLHDLL波特率09H00H5000HC0H60000H18H480006H00H7500H60H120000H10H720004H17H11000H40H180000H0CH960003H59H134.500H3AH200000H06H1920003H00H15000H30H240000H03H3840001H80H30000H20H360000H01H115200例:设COM1的波特率为9600,则outportb(0x3fb,0x80);/*写线路控制寄存器,访问波特率因子寄存器*/

outportb(0x3f8,0x0c);/*写入波特率因子低字节*/

outportb(0x3f9,0x00);/*写入波特率因子高字节*/

⒈设置波特率PC机串口初始化使用串口必须先初始化,有以下4个步骤。DLHDLL波特率DL32⒉设置数据格式例:设数据为7位,1位起始位,1位停止位,偶校验,则设置如下:outportb(0x3fb,0x1a);⒊设置操作方式不允许中断:outportb(0x3fc,0x03);允许中断:outportb(0x3fc,0x0b);自测试工作方式,且不允许中断:outportb(0x3fc,0x13);⒋设置中断允许寄存器开放中断语句:outportb(0x3f9,0x0f);⒉设置数据格式33例1将PC机的COM1初始化为9600波特率、7位数据、偶校验、1位停止位、不中断,则初始程序如下:initcom1(){outportb(0x3fb,0x80);/*写线路控制寄存器,访问波特率因子寄存器*/outportb(0x3f8,0x0c);/*写入波特率因子低字节*/outportb(0x3f9,0x00);/*写入波特率因子高字节*/

outportb(0x3fb,0x1a);/*设数据为7位,1位起始位,1位停止位,偶校验*/outportb(0x3fc,0x03);/*不允许中断*/}PC机的发送、接收程序例1将PC机的COM1初始化为9600波特率、7位数据、34例2PC机从COM1发送一个字符,程序如下:send(charsendchar){intcoms;do{ /*查询发送缓冲器是否空*/coms=inportb(0x3fd)&0x20;}while(coms!=0x20);outportb(0x3f8,sendchar);}例2PC机从COM1发送一个字符,程序如下:35⒈PC机的通信软件#include“stdio.h”main(){charc1,c2;intcoms;outportb(0x3fb,0x80);/*初始化8250*/outportb(0x3f8,0x30);outportb(0x3f9,0x00);outportb(0x3fb,0x03);/*8位数据,1位停止位*/outportb(0x3fc,0x03);c1=getchar();开始初始化8250有键输入吗?取键盘字符发送寄存器空否?向单片机发送字符接收单片机发回的字符接收的数据有效码?显示发回的字符NNNYYY结束PC机发送程序⒈PC机的通信软件开始初始化8250有键输入吗?取键36do{ /*查询发送缓冲器是否空*/coms=inportb(0x3fd)&0x20;}while(coms!=0x20);outportb(0x3f8,c1);waitok: /*查询接收数据是否有效*/coms=inportb(0x3fd);if((coms&0x01)==0)gotowaitok;c2=inportb(0x3f8);printf(“Thereturncharis:”);putchar(c2);}do{ /*查询发送缓冲器是否空*/37开始初始化定时器T1初始化串行口启动定时器T1开放中断主程序踏步中断服务程序关中断清接收中断标志RI保护现场接收PC机发来的字符将字符发送回PC机开中断,恢复现场中断返回MCS-51单片机通信软件主程序中断服务程序开始初始化定时器T1初始化串行口启动定时器T1开放中断主38主程序: ORG 0000H LJMP MAIN ORG 0023H LJMP SERVEMAIN:MOV TMOD,#20H;初始化T1 MOV TH1,#0F3H MOV TL1,#0F3H MOV SCON,#50H ;串行口为方式1,REN=1 MOV PCON,#80H ;SMOD=1 SETB TR1 SETB EA SETB ESHERE: SJMP HERE单片机接收程序主程序:单片机接收程序39中断服务程序:SERVE: CLR EA ;中断服务程序 CLR RI PUSH PSW ;保护现场 SETB RS0 CLR RS1 PUSH ACC MOV A,SBUF ;接收PC机发来的字符 MOV SBUF,A ;将字符回送给PC机WAIT:JNB TI,WAIT ;等待发送完毕 CLR TI POP ACC ;恢复现场 POP PSW SETB EA RETI END中断服务程序:40中断服务程序:SERVE: CLR EA ;中断服务程序 CLR RI PUSH PSW ;保护现场 SETB RS0 CLR RS1 PUSH ACC MOV A,SBUF ;接收PC机发来的字符MOV SBUF,A ;将字符回送给PC机WAIT: JNB TI,WAIT ;等待发送完毕 CLR TI POP ACC ;恢复现场 POP PSW SETB EA RETI END中断服务程序:41⒈PC机软件设计

开始初始化8250输入单片机编号发送单片机编号接收单片机送回的编号取键盘字符编号一致吗?向单片机发送字符接收单片机发回的字符显示发回的字符NY结束多机通讯程序设计⒈PC机软件设计开始初始化8250输入单片机编号发送42程序清单:#include“stdio.h”main(){charc1,c2,n1,n2;intcoms;outportb(0x3fb,0x80); /*初始化8250*/outportb(0x3f8,0x30);outportb(0x3f9,0x00);outportb(0x3fb,0x2b); /*8位数据,1位停止,奇偶校验位为1*/outportb(0x3fc,0x03); /*PC机处于发送地址状态*/outportb(0x3f9,0x00); /*禁止8250中断*/printf(“PleaseinputthenumberofMCS:\n”);scanf(“%c”,&n1);do{ /*查询发送移位寄存器是否空*/coms=inportb(0x3fd)&0x40;}while(coms!=0x40);outportb(0x3f8,n1); /*PC机发送单片机地址编号*/outportb(0x3fc,0x01); /*PC机处于接收状态*/waitok1: /*查询单片机返回的编号是否有效*/coms=inportb(0x3fd);if((coms&0x01)==0)PC机端的程序程序清单:PC机端的程序43gotowaitok1;n2=inportb(0x3f8); /*读入单片机返回的编号*/if(n1!=n2) printf(“ThenumberofMCSiserror!\n”); break;else {outportb(0x3fc,0x03); /*PC机处于发送状态*/ outportb(0x3fb,0x3b); /*PC机处于发送数据状态*/c1=getchar(); do{ /*查询发送移位寄存器是否空*/coms=inportb(0x3fd)&0x40;}while(coms!=0x40);outportb(0x3f8,c1);outportb(0x3fc,0x01); /*PC机处于接收状态*/waitok2: /*查询单片机返回的字符是否有效*/coms=inportb(0x3fd);if((coms&0x01)==0)gotowaitok2;c2=inportb(0x3f8); /*读入单片机返回的字符*/printf(“Thereturncharis:”);/*显示返回的字符*/putchar(c2);}}gotowaitok1;44⒉单片机程序流程中断服务程序保护现场接收地址与本机地址相等否?回送本机地址接收PC机发来的字符将收到的字符回送PC机恢复现场中断返回NY单片机软件设计⒉单片机程序流程中断服务程序保护现场接收地址与本机地址相等453、程序清单: ORG 0000H LJMP MAIN ORG 0023H LJMP SERVEMAIN: MOV TMOD,#20H ;初始化T1 MOV TH1,#0F3H MOV TL1,#0F3H MOV SCON,#0F0H ;串行口为方式3,REN=1 MOV PCON,#80H ;SMOD=1 SETB TR1 SETB EA SETB ESHERE: SJMP HERESERVE:CLR EA PUSH ACC PUSH PSW CLR RS1 SETB RS03、程序清单:46

MOV A,SBUF ;接收地址 XRL A,#01H ;与本机地址进行比较 JNZ RETURN ;与本机地址不符,则返回 CLR SM2 ;置单片机为接收数据状态 CLR RI MOV A,#01H MOV SBUF,A ;发送本机地址给PC机 JNB TI,$ ;等待发送完毕 CLR TI JNB RI,$;等待PC机发来的字符接收完毕 MOV A,SBUF ;读入字符 CLR RI MOV SBUF,A JNB TI,$ ;等待发送完毕 CLR TIRETURN:POP PSW POP ACC SETB EA RETI END MOV A,SBUF ;接收地址471

RS-232C该标准的全称是EIA-RS-232C标准(ElectronicIndustrialAssociate-RecommendedStandard232C)是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。232标准与CCITT的V.24基本相同。它适合于数据传输速率在0~20kbit/s范围内、传输距离在15m以内的通信。由于通信设备厂商大都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准。常用异步串行通讯接口标准

DCE1RS-232C该标准的全称是EIA-RS-232C标准(48DCE计算机DTEDCEDCEDTE电话线ModemModem计算机RS232CRS232C计算机计算机TXDTXDRXDRXDGNDGND目前已在标准规定了数据终端设备(DTE)和数据通信设备(DCE)间串行通信接口的物理(电平)、信号和机械连接标准DCE计算机DTEDCEDCEDTE电话线49EIARS-232C串行口EIARS-232C串行口50RS232C的电气标准:

3V~15V:逻辑0-3V~-15V:逻辑19600bps①电气特性RS232C的电气标准:①电气特性51DTE插针式DCE内孔式25针DB插连接器DTE插针式DCE内孔式9针DB插连接器②机械特性DTEDCE25针DB插连接器DTEDCE9针DB插连接器②52232C标准规定了25针连接器DB-25,并且规定在DTE一端的插座为插针型,在DCE一端为插孔型。既可以用于同步通信,也可以用于异步通信。在进行异步通信时,最多也只需9个信号:2个数据信号、6个控制信号、1个公共信号地。因此从286微机到现在的微机一般都采用DB-9型连接器,作为多功能I/O卡或主板上COM1和COM2两个串行口的连接器。232C标准规定了25针连接器DB-25,并且规定在DTE一53在通信速率低于20kbit/s时,RS-232C所能直接连接的最大物理距离为15m(50英尺)。232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码元畸变小于4%的前提下给出的。为了保证码元畸变小于4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500pF。然而,在异步通信实际应用中,码元畸变超过4%,甚至为10%~20%时,也能正常传输信息,这意味着驱动器的负载电容可以超过2500pF;而且由于工艺的改进,每英尺电缆的电容值也远远小于40~50pF。因而传输距离往往可大大超过15m。在通信速率低于20kbit/s时,RS-232C所能直接连接54信号定义(25针)信号定义(25针)55RS-232C接口信号定义引脚(9针)引脚(25针)信号信号源类型描述18CDDCE控制载波信号检测23RxDDCE数据接收数据32TxDDTE数据发送数据420DTRDTE控制终端准备好57GND--信号地66DSRDCE控制数据机准备好74RTSDTE控制请求发送85CTSDCE控制清除以便发送922RIDCE控制振铃信号RS-232C接口信号定义引脚(9针)引脚(25针)信号信号562号线发送数据(TxD——Transmitteddata):通过TxD线DTE终端将串行数据发送到MODEM。3号线接收数据(RxD——Receiveddata):通过RxD线DTE终端接收从MODEM发来的串行数据。4号线请求发送(RTS——Requesttosend):用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON状态),向MODEM请求发送。它用来控制MODEM是否要进入发送状态。5号线允许发送(CTS——Cleartosend):用来表示DCE准备好接收DTE发来的数据。是对请求发送信号RTS的响应信号。当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知DTE终端开始沿发送数据线TxD发送数据。2号线发送数据(TxD——Transmitteddata)574号线和5号线这对RTS/CTS请求应答联络信号是用于半双工采用MODEM的系统中作发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,因此不需RTS/CTS联络信号,使其处于高电平状态。6号线数据通信设备准备就绪(DSR——Datasetready):有效时(ON状态),表明MODEM处于可以使用的状态。7号线信号地(SG——SignalGround):所有公共信号地。4号线和5号线这对RTS/CTS请求应答联络信号是用于半双工588号线数据载波检测(DCD—DataCarrierdetection)线:用来表示DCE已接通通信链路,告之DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使DCD信号有效,通知DTE终端准备接收,并且由MODEM将接收下来的载波信号解调成数字数据后,沿接收数据线RxD送到DTE终端。20号线数据终端设备准备就绪(DTR——DataSetready):有效时(ON状态),表明数据终端可以使用。8号线数据载波检测(DCD—DataCarrierd596号线和20号线这对DSR和DTR信号有时连到电源上,一上电就立即有效。目前有些RS-232C接口甚至省去了用以指示设备是否准备好的这类信号,认为设备是始终都准备好的。可见这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了。22号线振铃指示(RI——RingingIndicator):当MODEM收到交换台送来的振铃呼叫信号时;使该信号有效(ON状态),通知终端,已被呼叫。6号线和20号线这对DSR和DTR信号有时连到电源上,一上电60串口通信MAX232课件61计算机间RS232C通信的常用连接方法全握手无握手计算机计算机TXDTXDRXDRXDGNDGNDTxDRxDRTSCTSDTRDSRCDRIGNDTxDRxDRTSCTSDTRDSRCDRIGND计算机间RS232C通信的常用连接方法全握手无握手计算机计62接口连接接口连接63TTL/CMOS<—>RS232电平转换芯片:MAX202MAX232/MAX233MC1488(+/-12V)/SN75150MC1489(+5V)TTL/CMOS<—>RS232电平转换芯片:64MCl488、SN75150芯片可完成TTL电平—>EIA电平的转换MCl489、SN75154芯片可实现EIA电平->TTL电平的转换MAX232芯片可完成TTL←→EIA双向电平转换由于MCl488要求使用±12V高压电源,不太方便。电平转换芯片MAX232,可以实现TTL电平与RS-323电平双向转换。MAX232内部有电压倍增电路和转换电路,仅需+5V电源便可工作,使用十分方便。MCl488、SN75150芯片可完成TTL电平—>EIA电65串口通信MAX232课件66PC机COM口接8051机11p(TXD)10p(RXD)PC机和单片机串口通讯的硬件电路

PC机RXDTXDMAX232T1OUTR1INT1IN(R1OUTRXDTXDMCS-51PC机COM口接8051机11p(TXD)PC机和单片机串口672.RS-449接口标准为了改善RS-232C的电气特性、延长零MODEM方式的传输距离并最大限度地提高数据传输速率,EIA又发布了RS-449接口标准。RS-449标准定义了一个37条引脚的连接器,增加了10条信号线,但是它只规定了接口的功能、机械特性和规程特性,接口的电气特性则由RS-422A和RS-423A这两个标准规定。2.RS-449接口标准为了改善RS-232C的电气特性、延68(1)RS-423A接口标准RS-423A采用非平衡线路,每一路信号均为单端输出,差分输入。电路按传输方向分成两组,每个方向共用一条回线。当传输距离在12m以内时,数据速率可达到300kbit/s。(2)RS-422A接口标准RS-422A标准是一种平衡方式传输。所谓平衡方式,是指双端发送和双端接收。(1)RS-423A接口标准69RS-422A标准由于采用了双线传输,大大增强了共模抗干扰的能力。当传输距离在12m以内时,数据速率可达到10Mbit/s.传输距离增加则速率降低,当传输距离为1km时,允许的最大传输速率为100kbit/s。该标准规定电路中只许有1个发送器,可有多个接收器。串口通信MAX232课件70RS422的连接线路……R主站RRS422多采用1:N的全双工连接方式从站1从站NRS422的连接线路……R主站RRS422多采用1:N713.RS-485接口标准RS-485与RS-422A标准一样,也是一种平衡传输方式的串行接口标准,它和RS-422A兼容,并且扩展了RS-422A的功能。两者主要差别是,RS-422A标准只许电路中有一个发送器,而RS-485标准允许在电路中可有多个发送器,因此,它是一种多发送器/多接收器的标准。RS-485允许一个发送器驱动多个负载设备,负载设备可以是驱动发送器、接收器、收发器组合单元。RS-485的共线电路结构是在一对平衡传输线的两端都配置终端电阻,其发送器、接收器、组合收发器可挂在平衡传输线上的任何位置,实现在数据传输中多个驱动器和接收器共用同一传输线的多点应用,其配置如图8.11所示。3.RS-485接口标准RS-485与RS-422A标准一样72RS-485标准的特点有:由于RS-485标准采用平衡发送/差分接收,所以,共模抑制比高,抗干扰能力强。传输速率高,它允许的最大传输速率可达10Mbit/s。传输信号的摆幅小(200mv)。传送距离远(指无MODEM的直接传输),采用双绞线,在不用MODEM的情况下,当传输速率为100Kbit/s时,可传送的距离为1.2km,若传输速率降低,还可传送更远的距离。RS-485标准的特点有:73能实现点对点、点对多点、多点对多点的通信RS-485允许平衡电缆上共连接32个发送器、接收器、组合收发器。RS-485标准目前已在许多方面得到应用,尤其是在多点通信系统中,如工业集散分布系统、商业POS收款机和考勤机的联网中用得很多,是一个很有发展前途的串行通信接口标准。能实现点对点、点对多点、多点对多点的通信74RS485的连接线路……RRRS485多半双工的连接方式RS485的连接线路……RRRS485多半双工的连接方式75RS422和RS485接口标准规格RS422RS485传输模式平衡平衡差动输出(V)±2±1.5接收器敏感度(V)±0.2±0.2驱动器负载,最小(Ω)10060最大驱动器数量132最大接收器数量1032最大传输速度(bps)10M10M最大电缆长度@90Kbps(ft)40004000最大电缆长度@10Mbps(ft)5050RS422和RS485接口标准规格766.3PC机与单片机通信PC机在与单片机串行接口后,可以方便地构成主从分布式多机系统。从机(单片机)作数据采集或实时控制,主机作数据处理或中央管理等这种多机系统在过程控制、仪表生产、生产自动化和企业管理等方面都有广泛的应用。此外微机和单片机串行接口后,可以大大方便单片机的开发过程。6.3PC机与单片机通信PC机在与单片机串行接口后,可77一、PC机串口资源及编程使用方法PC机一般有COM1和COM2两个串口。寄存器名称端口地址复位后初始值COM1COM2发送器保持寄存器(TBR)3F8H2F8HXXXXXXXXB接收器数据寄存器(RBR)3F8H2F8HXXXXXXXXB波特率因子低位寄存器(DLL)3F8H2F8H00000000B波特率因子高位寄存器(DLH)3F9H2F9H00000001B中断允许寄存器(IER)3F9H2F9H00000000B中断标识寄存器(IIR)3FAH2FAH00000000B线路控制寄存器(LCR)3FBH2FBH01100000B调制解调器控制寄存器(MCR)3FCH2FCHXXXX0000B线路状态寄存器(LSR)3FDH2FDHXXXXXXXXB调制解调器状态寄存器(MSR)3FEH2FEHXXXXXXXXB一、PC机串口资源及编程使用方法寄存器名称端口地址复位后初78使用串口必须先初始化,有以下4个步骤。DLHDLL波特率DLHDLL波特率DLHDLL波特率09H00H5000HC0H60000H18H480006H00H7500H60H120000H10H720004H17H11000H40H180000H0CH960003H59H134.500H3AH200000H06H1920003H00H15000H30H240000H03H3840001H80H30000H20H360000H01H115200例:设COM1的波特率为9600,则outportb(0x3fb,0x80);/*写线路控制寄存器,访问波特率因子寄存器*/

outportb(0x3f8,0x0c);/*写入波特率因子低字节*/

outportb(0x3f9,0x00);/*写入波特率因子高字节*/

⒈设置波特率PC机串口初始化使用串口必须先初始化,有以下4个步骤。DLHDLL波特率DL79⒉设置数据格式例:设数据为7位,1位起始位,1位停止位,偶校验,则设置如下:outportb(0x3fb,0x1a);⒊设置操作方式不允许中断:outportb(0x3fc,0x03);允许中断:outportb(0x3fc,0x0b);自测试工作方式,且不允许中断:outportb(0x3fc,0x13);⒋设置中断允许寄存器开放中断语句:outportb(0x3f9,0x0f);⒉设置数据格式80例1将PC机的COM1初始化为9600波特率、7位数据、偶校验、1位停止位、不中断,则初始程序如下:initcom1(){outportb(0x3fb,0x80);/*写线路控制寄存器,访问波特率因子寄存器*/outportb(0x3f8,0x0c);/*写入波特率因子低字节*/outportb(0x3f9,0x00);/*写入波特率因子高字节*/

outportb(0x3fb,0x1a);/*设数据为7位,1位起始位,1位停止位,偶校验*/outportb(0x3fc,0x03);/*不允许中断*/}PC机的发送、接收程序例1将PC机的COM1初始化为9600波特率、7位数据、81例2PC机从COM1发送一个字符,程序如下:send(charsendchar){intcoms;do{ /*查询发送缓冲器是否空*/coms=inportb(0x3fd)&0x20;}while(coms!=0x20);outportb(0x3f8,sendchar);}例2PC机从COM1发送一个字符,程序如下:82⒈PC机的通信软件#include“stdio.h”main(){charc1,c2;intcoms;outportb(0x3fb,0x80);/*初始化8250*/outportb(0x3f8,0x30);outportb(0x3f9,0x00);outportb(0x3fb,0x03);/*8位数据,1位停止位*/outportb(0x3fc,0x03);c1=getchar();开始初始化8250有键输入吗?取键盘字符发送寄存器空否?向单片机发送字符接收单片机发回的字符接收的数据有效码?显示发回的字符NNNYYY结束PC机发送程序⒈PC机的通信软件开始初始化8250有键输入吗?取键83do{ /*查询发送缓冲器是否空*/coms=inportb(0x3fd)&0x20;}while(coms!=0x20);outportb(0x3f8,c1);waitok: /*查询接收数据是否有效*/coms=inportb(0x3fd);if((coms&0x01)==0)gotowaitok;c2=inportb(0x3f8);printf(“Thereturncharis:”);putchar(c2);}do{ /*查询发送缓冲器是否空*/84开始初始化定时器T1初始化串行口启动定时器T1开放中断主程序踏步中断服务程序关中断清接收中断标志RI保护现场接收PC机发来的字符将字符发送回PC机开中断,恢复现场中断返回MCS-51单片机通信软件主程序中断服务程序开始初始化定时器T1初始化串行口启动定时器T1开放中断主85主程序: ORG 0000H LJMP MAIN ORG 0023H LJMP SERVEMAIN:MOV TMOD,#20H;初始化T1 MOV TH1,#0F3H MOV TL1,#0F3H MOV SCON,#50H ;串行口为方式1,REN=1 MOV PCON,#80H ;SMOD=1 SETB TR1 SETB EA SETB ESHERE: SJMP HERE单片机接收程序主程序:单片机接收程序86中断服务程序:SERVE: CLR EA ;中断服务程序 CLR RI PUSH PSW ;保护现场 SETB RS0 CLR RS1 PUSH ACC MOV A,SBUF ;接收PC机发来的字符 MOV SBUF,A ;将字符回送给PC机WAIT:JNB TI,WAIT ;等待发送完毕 CLR TI POP ACC ;恢复现场 POP PSW SETB EA RETI END中断服务程序:87中断服务程序:SERVE: CLR EA ;中断服务程序 CLR RI PUSH PSW ;保护现场 SETB RS0 CLR RS1 PUSH ACC MOV A,SBUF ;接收PC机发来的字符MOV SBUF,A ;将字符回送给PC机WAIT: JNB TI,WAIT ;等待发送完毕 CLR TI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论