并行接口与串行接口精选PPT.ppt
并行接口与串行接口并行接口与串行接口并行接口与串行接口并行接口与串行接口第1页,此课件共94页哦9.19.1并行接口概述并行接口概述9.1.1 并行接口的特点9.1.2 并行接口的类型第2页,此课件共94页哦9.1.1 9.1.1 并行接口的特点并行接口的特点v1 并行接口是在多根数据线上以数据字节或字为单位与I/O设备或被控对象传输数据。v2 并行接口适用于近距离数据传输。一次同时传送多位数据,传送速度快。v3在并行接口中,8位或16位是同时传输的。v4并行传送的信息不要求固定的格式,这与串行传送的信息有固定格式的要求不同。第3页,此课件共94页哦9.1.2 9.1.2 并行接口的类型并行接口的类型v1.1.从并行接口数据传送的方向看,可分为两种从并行接口数据传送的方向看,可分为两种,一是单向传送(只作为输入口一是单向传送(只作为输入口或只作为输出口)或只作为输出口),另一种是双向传送(既可作为输入口,也可作为输出口)另一种是双向传送(既可作为输入口,也可作为输出口)v2.2.从并行接口的电路结构看,并行接口可分为硬接线接口和可编程接口。从并行接口的电路结构看,并行接口可分为硬接线接口和可编程接口。v3.3.可编程接口可以用软件编程序的方法改变接口的工作方式及功能,具有广泛的适应可编程接口可以用软件编程序的方法改变接口的工作方式及功能,具有广泛的适应性和很高的灵活性。性和很高的灵活性。第4页,此课件共94页哦9.2可编程并行接口芯片可编程并行接口芯片8255A基本特性具有两个8位(PA口和PB口)和两个4位(PC口高/低4位)并行I/O端口的接口芯片。能适应CPU与I/O接口之间的多种数据传送方式的要求。PC口的特殊使用:作数据口当PA口和PB口工作在方式1和方式2时,作专用联络信号作状态口PC口可以进行按位控制。5第5页,此课件共94页哦可编程并行接口8255A主要内容1、内部结构与功能2、外部引脚与端口操作3、编程控制字1)方式选择控制字2)C口置/复位控制字3)应用举例4、工作方式与信号组态1)方式0基本I/O例子2)方式1单向选通I/O例子3)方式2双向选通I/O应用方法与步骤:1、硬件连接2、编程准备1)选用端口2)确定方式3)确定控制字3、编写初始化程序4、编写应用程序6第6页,此课件共94页哦9.2可编程并行接口芯片可编程并行接口芯片8255A9.3.18255A结构一、外部引脚与系统总线的连接信号面向数据总线的有:面向地址总线的有:面向控制总线的有:与外部设备的连接信号 PA0PA7:端口A的输入/输出线。PB0PB7:端口B的输入/输出线。PC0PC7:端口C的输入/输出线。12345678910111213141516171819204039383736353433323130292827262524232221PA4PA5PA6PA7PB7PB5PB4PB3PB8D1D2D3D4D0D5D6D7VCCRESETWRRDCSPA3PA2PA1PA0GNDA1A0PC7PC6PC4PC0PC1PC2PC5PB0PB1PB2PC38255A D0D7:双向数据线,用于CPU向8255A发送命令、数据和8255A向CPU回送状态、数据。CS:选片信号A1、A0:地址线,用以选择片内端口 这24根信号线均可用来连接I/O设备和传送信息。其中,A口和B口一般只作输入/输出的数据口用(采用特殊技巧,有时也可利用它们从I/O设备读取一些状态信号,如打印机的“忙”(Busy)状态信号、A/D转换器的“转换结束”(EOC)状态信号,但对A口和B口来说,都是作8255A的数据口读入),C口既可作数据口,也作状态口使用。RD:读信号,低电平有效。WR:写信号,低电平有效。RESET:复位信号,高电平有效。它清除控制寄存器并将8255A的A、B、C三个端口均置为输入方式;输入寄存器和状态寄存器被复位,并且屏蔽中断请求;24条面向外设信号线呈现高阻悬浮状态。7第7页,此课件共94页哦9.2可编程并行接口芯片可编程并行接口芯片8255A二、8255A内部结构A组控制数据总线缓冲器读/写控制逻辑B组控制A组A口(8位)A组C口高位(4位)B组C口低位(4位)B组B口(8位)D0D7RDRDA1A0RESETRDPA0PA7PC4PC7PC0PC3PB0PB7 数据总线缓冲器 这是一个三态双向8位缓冲器,它是8255A与CPU系统数据总线的接口。输入/输出端口A、B、C 8255A包括3个8位输入输出端口(port)。每个端口都有一个数据输入寄存器和一个数据输出寄存器。A组和B组控制电路 控制A、B和C三个端口的工作方式。PC口的作用与8255A的工作方式有关,它除了作数据口以外,还有其他用途,如:a.作数据口。b.作状态口。c.作专用(固定)联络(握手)信号线。d.作按位控制用。读/写控制逻辑 读/写控制逻辑由读信号RD、写信号WR、选片信号CS以及端口选择信号A1、A0等共同产生操作控制逻辑。8第8页,此课件共94页哦CSA1A0RDWR读操作内容PC系统00001PA口口数据总线(数据总线(CPU)数据数据60H00101PB口口数据总线(数据总线(CPU)数据数据61H01001PC口口数据总线(数据总线(CPU)数据数据62H写操作写操作00010PA口口 数据总线(数据总线(CPU)数据数据60H00110PB口口数据总线(数据总线(CPU)数据数据61H01010PC口口数据总线(数据总线(CPU)数据数据62H01110控制寄存器控制寄存器数据总线数据总线控制字控制字63H无操作情况无操作情况1总线悬浮(三态)总线悬浮(三态)011总线悬浮总线悬浮01101控制口不能读控制口不能读63H三、8255A基本操作与端口地址9第9页,此课件共94页哦9.2.28255控制字一、工作方式选择控制字作用:作用:指定指定8255A 38255A 3个并行端口(个并行端口(PAPA、PBPB、PCPC)的工作方式及该方式下的功能)的工作方式及该方式下的功能(传输方向)传输方向)是作输入还是作输出。是作输入还是作输出。格式:格式:8 8位,其中最高位是特征位,一定要写位,其中最高位是特征位,一定要写1 1,其余各位定义如下,应根据用,其余各位定义如下,应根据用户的设计要求填写户的设计要求填写1 1或或0 0。1D6D5D4D3D2D1D0特征位A组方式:00=方式001=方式110=方式211=不用PA0=输出1=输入PC470=输出1=输入B组方式0=0方式1=1方式PB0=输出1=输入PC030=输出1=输入A口方式A口方向C口上半方向B口方式B口方向C口下半方向10第10页,此课件共94页哦9.2.28255控制字例例1 1:要把要把A A口指定为方式口指定为方式1 1,输入,输入,C C口上半部为输出;口上半部为输出;B B口口指定为方式指定为方式0 0,输出,输出,C C口下半部定为输入,则工作方式命令口下半部定为输入,则工作方式命令代码是:代码是:10110001B10110001B或或B1HB1H。若将此命令代码写到若将此命令代码写到8255A8255A的命令寄存器,即实现了对的命令寄存器,即实现了对8255A8255A工作方式及端口功能的指定,或者说完成了对工作方式及端口功能的指定,或者说完成了对8255A8255A的初始化。初始化的程序段为:的初始化。初始化的程序段为:MOVDX,303H;8255A命令口地址MOVAL,0B1H;初始化命令字OUTDX,AL;送到命令口8255A命令口地址就应该是303H吗?11第11页,此课件共94页哦9.2.28255控制字二、PC口按位置/复位控制字作用:作用:指定指定PC口的某一位(某一个引脚)输出高电平或低电平。口的某一位(某一个引脚)输出高电平或低电平。格式:格式:8 8位,其中最高位是特征位,一定要写位,其中最高位是特征位,一定要写0 0,其余各位的定义如下,其余各位的定义如下,应根据用户的设计要求填写应根据用户的设计要求填写1 1或或0.0.0D6D5D4D3D2D1D0特征位不用(写0)位选择000=C口0位001=C口1位111=C口7位1=置位(高电平)0=复位(低电平)12第12页,此课件共94页哦9.2.28255控制字例例2 2:若要把若要把C C口的口的PCPC2 2引脚置成高电平输出,则命令字应该为:引脚置成高电平输出,则命令字应该为:00000101B00000101B或或05H05H。将该命令的代码写入将该命令的代码写入8255A8255A的命令寄存器,就会使得从的命令寄存器,就会使得从PCPC口的口的PCPC2 2引引脚输出高电平,其程序段为:脚输出高电平,其程序段为:MOVDX,303H;8255A命令口地址MOVAL,05H;使PC2=1的命令字OUTDX,AL;送到命令口 如果要使引脚PC2输出低电位,则程序段为:MOVDX,303H;8255A命令口地址MOVAL,04H;使PC2=0的命令字OUTDX,AL ;送到命令口13第13页,此课件共94页哦9.2.28255控制字 利用C口的按位控制特性还可以产生负脉冲或方波输出,对外设进行控制。例例3 3:利用利用8255A8255A的的PCPC7 7产生负脉冲,作打印机接口电路的数据选通信产生负脉冲,作打印机接口电路的数据选通信号,其程序段为:号,其程序段为:MOV DX,303H ;8255A命令口 MOV AL,00001110B ;置PC7=0 OUT DX,AL NOP ;维持低电平 NOP MOV AL,00001111B ;置PC7=1 OUT DX,AL哈哈!你们谁能编程让PC7输出方波?不错!如果只让PC7输出100个方波脉冲,又将怎么办?14第14页,此课件共94页哦9.2.28255控制字3.关于两个命令的讨论 方式命令是对8255A的3个端口的工作方式及功能进行指定,即进行初始化,初始化工作要在使用8255A之前做。按位置位/复位命令只是对PC口的输出进行控制,使用它不会破坏已经建立的3种工作方式,而是对它们实现动态控制的一种支持。它可放在初始化程序以后的任何地方。两个命令的最高位(D7)都分配作特征位,之所以要设置特征位,是为了识别两个不同的命令。按位置位/复位操作的是PC口,但操作的命令代码只能写入命令口。15第15页,此课件共94页哦*4.A口和B口的按位使用方法 A口、B口也可以按位输出高低电平,但是,它与前面的按位置位/复位命令有本质的差别,并且实现的方法也不同,A口、B口按位输出是以送数据到A口、B口来实现的。其具体作法是:若要使某一位置高电平,则先对端口进行读操作,将读入的原输出值,“或”上一个字节,字节中使该位为1,其他位为0,然后再送到同一端口,即可使该位置位。类似过程,用“与”的方法可以使某位输出“0”。10101010OR000000011010101110101011AND111111101010101016第16页,此课件共94页哦例4:若要使PA7位输出高/低电平,则用下列程序段:使PA7输出高电平.MOV DX,300H ;PA数据口地址INAL,DX;读入A口原输出内容ORAL,80H;使PA7=1OUTDX,AL;输出PA717第17页,此课件共94页哦使PA7输出低电平MOVDX,300H;A口地址INAL,DX;读入端口原输出值ORAL,7FH;使PA7=0OUTDX,AL;输出PA718第18页,此课件共94页哦9.2.38255A的工作方式 8255A的工作方式与端口有关,PA口有三种方式(方式0、方式1、方式2),PB口有两种方式(方式0、方式1),PC口只有1种I/O方式方式0。PA、PB口需要联络线时,也由PC口提供。一、方式0基本I/O(简单的输入/输出方式)1、适用场合:无条件传送方式或查询方式2、可用端口:A口、B口、C口3、方式0的查询方式应用:1)A口或B口作数据口2)C口上部/下部各任选一条线分别作状态线和控制(选通)线(其余仍可用着I/O线)19第19页,此课件共94页哦9.2.38255工作方式方式04、方式0的主要特点:A口、B口和C口均可以独立作为单向输入或输出口,彼此没有规定任何联系。输出锁存,输入不锁存。主要用于同步数据传送场合,CPU与外设之间不需联络信号,可实现3个通道数据传送。也可用于查询式数据传送,此时C口上下部分分别定义为输入和输出,用作A口和B口的状态线和控制线。20第20页,此课件共94页哦9.2.38255工作方式方式1二、方式1选通I/O1、适用场合:查询式或中断方式I/O2、特点:需要PC口提供固定的应答联络信号3、可用端口:A口、B口4、方式1端口I/O组态与时序:21第21页,此课件共94页哦9.2.38255工作方式方式1A口方式1输入组态:PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器地址同PC4 数据选通信号,低电平有效,表示外设已将数据置入A口锁存 输入缓冲器满信号,高电平有效,表示锁存入A口的数据还未被CPU取走此信号(PC5)可作状态信号供CPU查询式输入使用;其引出线(IBF)给外设,外设视为CPU是否取走数据的状态信号。中断请求信号,高有效,请求CPU接收数据。当STB IBF INTE为高时被置高。22第22页,此课件共94页哦9.2.38255工作方式方式1B口方式1输入组态:PC2PC1PC0PB7PB0INTEAIBFAINTRASTBA中断允许触发器地址同PC2 数据选通信号,低电平有效,表示外设已将数据置入B口锁存 输入缓冲器满信号,高电平有效,表示锁存入B口的数据还未被CPU取走 中断请求信号,高有效,请求CPU接收数据。当STB IBF INTE为高时被置高。此信号(PC1)可作状态信号供CPU查询式输入使用;其引出线(IBF)给外设,外设视为CPU是否取走数据的状态信号。23第23页,此课件共94页哦9.2.38255工作方式方式1方式1输入时序:datadataINTRIBF 输入端口输入端口D0D7STBRD24第24页,此课件共94页哦9.2.38255工作方式方式1方式1输出组态:PC2PC1PC0PB7PB0INTEBOBFBINTRBACKBPC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器地址同PC6 外设响应信号,低电平有效,表示外设已经从8255取走数据,输出缓冲器满信号,低电平有效,表示CPU已经将数据输出到指定端口。ACK可使其恢复为高。中断请求信号,高电平有效,当数据已被外设取走后,要求CPU输出新的数据。WR上升沿使其复位。此信号(PC7/PC1)可作状态信号供CPU查询式输出使用;其引出线(OBF)给外设,外设视为CPU的状态信号。25第25页,此课件共94页哦9.2.38255工作方式方式1方式1输出时序:输出端口输出端口 INTR D0D7WROBFACK datadata26第26页,此课件共94页哦9.2.38255工作方式方式15、8255A方式1的特点:方式1是一种配置固定应答联络信号的选通输入/输出方式或叫应答方式,这种方式通常用于查询(条件)传送或中断传送。数据的输入输出都有锁存功能。PA和PB为数据口,而PC口的大部分分配作专用(固定)的联络信号的C口引脚,用户不能再指定作其他作用。各联络信号线之间有固定的时序关系,传送数据时,要严格按照时序进行。单向传送。一次初始化只能设置在一个方向上传送,不能同时作两个方向的传送。27第27页,此课件共94页哦9.2.38255工作方式方式2*三、方式2及应用双向选通I/O1、适用场合:查询式或中断方式I/O2、特点:需要PC口提供固定的应答联络信号 各联络线的定义及其时序关系和壮态基本上是在1方式下输入和输出两种操作的组合。3、可用端口:A口4、方式2端口I/O组态与时序:28第28页,此课件共94页哦9.2.38255工作方式方式21)方式2组态图:PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号29第29页,此课件共94页哦9.2.38255工作方式方式22)方式2时序图:外设数据线tWOBtAOBtSTtSIBtPStADtKDtPHtRIBINTRIBFWROBFACKSTBRD数据从外设到8255A数据从8255A到外设数据从8255A到CPU数据从CPU到8255A30第30页,此课件共94页哦8255应用举例1、设8255A的端口地址为60H63H,试编写下列各种情况的初始化程序:(1)将A组和B组设置为方式0,A口和C口味输入口,B口为输出口;(2)将A组设置为方式2,B组设置为方式1,B口为输出口;(3)将A组设置为方式1,端口A为输入,PC6和PC7输出,B组设置为方式1,且B口为输入口。31第31页,此课件共94页哦例例9-39-3v应用应用8255A8255A方式方式0 0连接打印机连接打印机;初始化8255A,使A口处于方式0、输出,C口高4位输入、低4位输出 MOV AL,10001000B OUT 63H,AL MOV AL,00000011B OUT 63H,AL WAIT:IN AL,62H AND AL,00100000B JNZ WAIT MOV AL,CL OUT 60H,AL MOV AL,00000010B OUT 63H,AL CALL DELAY MOV AL,00000011B OUT 63H,AL 8255A 打印机打印机 PA7PA0PC1PC5 DATA0 DATA7 STROBE BUSY图图9-7 方式方式0的打印机接口的打印机接口第32页,此课件共94页哦9.2.38255工作方式方式0及应用2、方式0应用举例例.并行打印机接口设计1)要求 为某应用系统配置一个并行打印机接口,并且通过接口,CPU采用查询方式把存放在BUF缓冲区的1行字符(ASCII码)送去打印。33第33页,此课件共94页哦9.2.38255工作方式方式0及应用 2)分析 由于打印接口直接面向的对象是打印机接口标准,而不是打印机本身,因此打印机接口要按照接口标准的要求进行设计。有关打印机接口标准Centronics的信号线定义和工作时序如下图:DATA0DATA7STROBEBUSYACK字符34第34页,此课件共94页哦过程:采用查询方式时,打印机与CPU之间传送数据的过程是:首先查询BUSY。若BUSY=1,打印机忙,则等待;若BUSY=0,打印机不忙,则送数据。通过并行接口把数据送给标准插座DATA BIT1DATA BIT8 数据线上,此时数据并未送入打印机。再送出一个数据选通信号DATA STROBE(负脉冲)给 标准插座的1号引脚,把数据线上的数据打入到打印机的内部缓冲器。打印机在收到数据后,通过插座的11号引脚发出“忙”(BUSY=1)信号,表明打印机正在处理输入的数据。最后当打印机将该字符打印后,在10号引脚上送出一个回答信号ACK给主机,表示上一个字符已经处理完毕,同时使BUSY=0。DATA0DATA7STROBEBUSYACK字符35第35页,此课件共94页哦9.2.38255工作方式方式0及应用 3)设计 接口电路的设计包括硬件接口电路和软件驱动程序两部分。打印机接口电路 打印机接口电路原理框图如下图所示。该电路的设计思路是:按照Centronicss标准对打印机接口信号线的定义,最基本的信号线需要8根数据线(DATABIT18),1根控制线(STB),1根状态线(BUSY)和 1根地线。CPUPA07PC7PC0地地BUSYSTBDATA07111298255A打印机插座36第36页,此课件共94页哦选用8255A的PA口作数据口输出8位打印数据,工作方式为方式0;c口上半部输出,下半部输入。接口驱动程序。其程序流程图如右图所示。驱动程序的程序段见下页:9.2.38255工作方式方式0及应用结束8255A初始化BUSY=0?送数送STB负脉冲内存+1字节数-1送完?开始YNYN37第37页,此课件共94页哦9.2.38255工作方式方式0及应用;设8255端口地址为90H93H;-DATASEGMENT;定义打印数据缓冲区BUFFDBHELLO!,0DH,0AHNUMEQU$-BUFF;打印字符个数DATAENDS;-CODESEGMENTASSUME CS:CODE,DS:DATASTART:MOVAX,DATA;数据段基址DS赋初值MOVDS,AXMOVAL,10000001B;8255初始化OUT93H,ALMOVAL,00001111B;先使PC7=1,即STB=1OUT93H,ALLEASI,BUFF;设置打印指针MOVCX,NUM;打印字符计数器赋初值38第38页,此课件共94页哦9.2.38255工作方式方式0及应用L:INAL,92H;查BUSY=0?(PC0)TESTAL,01H;00000001BJNZL;忙,则等待;不忙,则向A口送数MOVAL,SI;从缓冲区取1字符OUT90H,AL;送到A口MOVAL,00001110B;发打印机选通负脉冲OUT93H,AL;使STB信号为低(PC7=0)NOPMOVAL,00001111B;再使STB信号变高(PC7=1)OUT93H,AL39第39页,此课件共94页哦9.2.38255工作方式方式0及应用INCSI;打印指针加1DECCX;打印字符数减1JNZL;未完,继续MOVAX,4C00H;打印完返回DOSINT21HCODEENDSENDSTART;源程序结束40第40页,此课件共94页哦*9.2.38255工作方式方式1及应用3、8255方式1应用举例例1:若允许PA口输入时,产生中断请求,则必须设置INTEA=1,即置PC4=1;若禁止它产生中断请求,则置INTEA=0,即置PC4=0,其程序段为:MOVDX,303H;8255A命令口MOVAL,00001010B;置PC4=1,允许中断请求OUTDX,ALMOVAL,00001000B;置PC4=0,禁止中断请求OUTDX,AL41第41页,此课件共94页哦例例9-49-4v应用应用8255A8255A工作在方式工作在方式0 0和方式和方式1 1进行双机并行通信。进行双机并行通信。v;甲机发送方的发送程序 MOV AL,10100000B OUT 63H,AL MOV AL,0DH OUT 63H,ALTEST1:IN AL,DX AND AL,40H JNZ TEST1 MOV AL,CL OUT 60H,ALv;乙机接收方的接收程序 MOV AL,10011000B OUT 63H,AL MOV AL,01H OUT 63H,ALRECEIVE:IN AL,62H TEST AL,80H JNZ RECEIVE IN AL,60H MOV CL,AL MOV AL,00H OUT 63H,AL CALL DELAY INC AL OUT 63H,AL PA07PA07 PC7PC7PC0 PC6PC46PC13PB07 PC05 PB07 PC38255A8255A 0方式方式 1方式方式乙(接收)乙(接收)CPU 甲(发送)甲(发送)CPU未未用用OBFACK图图9-8 两种方式的并行传送接口电路框图两种方式的并行传送接口电路框图第42页,此课件共94页哦9.2.38255工作方式方式1及应用例2在甲乙两台微机之间并行传送1K字节数据。甲机发送,乙机接收。假设甲机要发送的数据存放在BUFS缓冲区,乙机把接收到的数据存放到BUF缓冲区。甲机一侧的8255A采用方式1工作,乙机一侧的8255A采用方式0工作。两机的CPU与接口之间都采用查询方式交换数据。1.分析 双机均采用可编程并行接口芯片8255A构成接口电路,此时,双方的8255A把对方视为I/O设备。43第43页,此课件共94页哦9.2.38255工作方式方式1及应用2.设计(1)硬件连接 根据上述要求,接口电路的连接如下图:方式0方式18255APA07PC7PC3PC46PC02PB07PA07PC7PC6PC45PC03PB07未用8255A甲(发送)CPU乙(接收)CPUACKOBF44第44页,此课件共94页哦9.2.38255工作方式方式1及应用(2)软件编程 接口驱动程序包含发送与接收两个程序。甲机发送程序段:MOVDX,303H;8255A命令口MOVAL,10100000B;初始化工作方式字OUTDX,ALMOVAL,0DH;置发送中断允许INTEA=1OUTDX,AL;PC6=1MOVSI,OFFSETBUFS;设置发送数据区的指针MOVCX,1024;发送字节数MOVDX,300H;向A口写第一个数,产生第一个OBF信号MOVAL,SIOUTDX,AL45第45页,此课件共94页哦9.2.38255工作方式方式1及应用INCSI;内存地址加1DECCX;传送字节数减1L:MOVDX,302H;8255A状态口,即C口INAL,DX;查发送中断请求INTRA=1?(PC3=1?)ANDAL,08HJZL;若无中断请求,则等待;若有中断请求,则继续向A口写数MOVDX,300H;8255APA口地址MOVAL,SI;从内存取第二个数OUTDX,AL;通过A口向乙机发送第二个数据INCSI;内存地址加1此处虽然使用了8255的INTR信号,但却是查询式传送。也可以直接查询PC7,即OBF信号。由接口图可见,PC3并未连接中断请求,此处为何“查询”中断请求?46第46页,此课件共94页哦9.2.38255工作方式方式1及应用DECCX;字节数减1JNZL;字节未完,继续MOVAH,4000H;已完,退出INT21H;返回BUFSDB1024个数据47第47页,此课件共94页哦;乙机接收程序段:MOV DX,303H ;初始化8255 MOV AL,10011000B OUT DX,AL MOV AL,00000111B;使PC3(ACK)=1 OUT DX,AL MOV CX,1024 ;接收数据循环次数初始化 LEA BX,BUFWAIT:MOV DX,302H ;读状态口,即C口 IN AL,DX AND AL,80H ;查询OBF信号,甲已送出?JNZ WAIT48第48页,此课件共94页哦MOVDX,300H;从A口接收数据INAL,DXMOVBX,AL;保存数据MOVDX,303HMOVAL,00000110B;由PC3发ACK脉冲,先使PC3=0,再使PC3=1OUTDX,ALINCBXMOVAL,00000111BOUTDX,ALLOOPWAIT49第49页,此课件共94页哦9.3 9.3 串行通信的基本概念串行通信的基本概念9.3.1 串行数据传送方式9.3.2 波特率和发送/接收时钟9.3.3 串行通信的基本方式9.3.4 信号调制与解调9.3.5 串行接口的任务第50页,此课件共94页哦9.3.1 9.3.1 串行数据传送方式串行数据传送方式1 1全双工全双工2 2半双工半双工 第51页,此课件共94页哦 1 1全双工全双工v当当数数据据的的发发送送和和接接收收分分流流,分分别别由由两两根根不不同同的的传传输输线线传传送送时时,通通信信双双方方都都能能在在同同一一时时刻刻进进行发送和接收操作,这样的传送方式就是全双工(行发送和接收操作,这样的传送方式就是全双工(Full DuplexFull Duplex)制。)制。发送器发送器 发送器发送器 接收器接收器 接收器接收器 B站站 A站站图图9-9 全双工方式示意图全双工方式示意图第52页,此课件共94页哦2 2半双工半双工v若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工(收发数据,这样的传送方式就是半双工(Half DuplexHalf Duplex)制。)制。A站站 B站站 发送器发送器 发送器发送器 接收器接收器 接收器接收器图图9-10 半双工方式示意图半双工方式示意图第53页,此课件共94页哦发送器发送器接收器接收器A站B站单工方式示意图3 3单工单工第54页,此课件共94页哦9.3.2 9.3.2 波特率和发送波特率和发送/接收时钟接收时钟1 1波特率波特率2 2发送发送/接收时钟接收时钟 第55页,此课件共94页哦v并行通信中,传输速度以每秒传输的字节(B/s)表示。在串行通信中,传输速率用波特率来表示。v所谓波特率,是指单位时间内传送二进制数据的位数,单位为位/秒(b/s)或称为波特。v每秒钟所传输的字符数(字符速率)和波特率是两种概念 v例:某系统每秒传送120个字符(即字符速率为120个/秒),每个字符帧由1个起始位、8个数据位和1个停止位组成,则其传送速率为:v (1+8+1)120=1200 b/s=1200波特v每一位的传送时间(也叫宽度)为波特率的倒数:v Td=1/1200=0.833 ms 1 1波特率波特率第56页,此课件共94页哦RXDTXDGNDRXDTXDGNDRXDTXDGND电电平平转转换换RXDTXDGNDRXDTXDGND电电平平转转换换RXDTXDGND微机微机微机其微机其他设备他设备较远距离传送电路较远距离传送电路近距离传送电路近距离传送电路(比如主板上的两个芯片比如主板上的两个芯片)串行通信线的连串行通信线的连接:接:第57页,此课件共94页哦微机接口调制解调器调制解调器接口微机电话分机电话分机远距离传送电路远距离传送电路 数字信号通过调制器变成模拟信号通过电话线传送到对数字信号通过调制器变成模拟信号通过电话线传送到对方,接收方通过解调器将模拟信号转换成数字信号接收。方,接收方通过解调器将模拟信号转换成数字信号接收。第58页,此课件共94页哦v常用串口设备级:COM、USB芯片级:SPI、I2CvRS-232标准串口的形式v电平转换芯片MAX232串行通信接口串行扩展接口第59页,此课件共94页哦串行通信接口总线标准计算机通信主要采用计算机通信主要采用异步串行通信方式异步串行通信方式,常用的异步总线标准有三种:,常用的异步总线标准有三种:RS-232(RS-232A RS-232B RS-232C)RS-449(RS422 RS423 RS485)20mA电流环电流环 这里重点介绍这里重点介绍RS-232 RS-232C:速率:速率:20Kbit/S,最大通信距离最大通信距离 :15m RS422:10Mbit/s,:300m 90Kbit/s,:1200m第60页,此课件共94页哦第61页,此课件共94页哦RS232C 美美国国电电子子工工业业协协会会(EIA)公公布布的的一一种种异异步步通通信信标标准准。RS232C标标准准是:是:P135设备之间通信的距离不大于设备之间通信的距离不大于15米米最大传输速率最大传输速率20Kb/S采用负逻辑:采用负逻辑:“1”3V 15V “0”+3V +15V不带负载时输出电平:不带负载时输出电平:25V +25V输出短路电流:输出短路电流:0.5A最大负载电容最大负载电容:2500pF 当计算机采用当计算机采用RS232标准时必须通过电平转换,标准时必须通过电平转换,MAX232 是是EIA和和TTL电平转换芯片电平转换芯片。内部具有电压提升电路,并有两路接收器和发送器。内部具有电压提升电路,并有两路接收器和发送器。其连线和引脚如图其连线和引脚如图第62页,此课件共94页哦T1INT2INR1OUTR2OUTV+V-T1OUTT2OUTR1INR2IN+5V1.01.01.0 1.01.0+10V-10VTTL/CMOSTTL/CMOSRS-232RS-232VCCV+V-T2OUTT1OUTR2INVCCR1INR1OUTT1INT2INR2OUTGNDMAX232MAX232 连线图连线图MAX232 引脚图引脚图第63页,此课件共94页哦VCCRSTXTAL1XTAL2TXDRXD89C51C1C2T1INR1OUTR1INT1OUTV-V+VCCC3C4C5GNDGNDC1=C2=C3=C4=C5=1MAX23215PC机机COM1或或COM212346789+5V+5V第64页,此课件共94页哦2 2发送发送/接收时钟接收时钟发送端使用的用于决定数据位宽度的时钟称为发送时钟。接收端使用的用于测定每一位输入数据位宽度的时钟称为接收时钟。波特率因子 接收时钟和发送时钟的频率可以是波特率的n倍,一般取16倍、32倍或64倍。这个倍数就称为波特率因子。或者从另外一个角度来说,发送/接收1位数据(1个二进制数据位)所需要的时钟脉冲的个数所需要的时钟脉冲的个数就是波特率因子,单位是个单位是个/位位。第65页,此课件共94页哦接收接收/发送时钟频率与波特率的关系:发送时钟频率与波特率的关系:收收/发波特率发波特率=收收/发时钟频率发时钟频率 /nn波特率因子=1,16,64(同步取n=1,异步常取n=16,64)第66页,此课件共94页哦9.3.3 9.3.3 串行通信的基本方式串行通信的基本方式1 1异步通信异步通信2 2同步通信同步通信 第67页,此课件共94页哦1 1异步通信异步通信 0 0/1 0/1 0/1 0/1 0/1 0/1 1 1 1 0 0/1 起起 始始 位位奇偶奇偶校验校验位位 (可有可无)(可有可无)58位数据位(先送最低位)位数据位(先送最低位)LSBMSB 空空 闲闲 位位停止位停止位(1,11/2 或或2位)位)第第n个字符(个字符(812位)位)第第n1 个字符个字符图图9-11 异步串行通信格式异步串行通信格式第68页,此课件共94页哦起始位每个字符开始传送的标志,起始位采用逻辑0电平起始位起始位校验位校验位停止位停止位空闲位空闲位数据位数据位低位低位高位高位字符字符0/10/1 0/10/10/10/10/10/11 10 01 11 11 1数数据据位位数数据据位位紧紧跟跟着着起起始始位位传传送送。由由58个二进制位组成,低位先传送个二进制位组成,低位先传送校校验验位位用用于于校校验验是是否否传传送送正正确确;可可选选择择奇检验、偶校验或不传送校验位奇检验、偶校验或不传送校验位停停止止位位表表示示该该字字符符传传送送结结束束。停停止止位位采采用逻辑用逻辑1电平,可选择电平,可选择1、1.5或或2位位空空闲闲位位传传送送字字符符之之间间的的逻逻辑辑1电电平平,表表示没有进行传送示没有进行传送第69页,此课件共94页哦2.同步通信同步通信v同步通信的特点是不仅字符内部保持“同步”,而且字符与字符之间也是同步的v以一个数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最后以校验字符结束v同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂v串行同步通信主要应用在网络当中v最常使用高级数据链路控制协议HDLC同步字符同步字符数据数据数据数据数据数据校验字符校验字符第70页,此课件共94页哦 计算机通信是传送数字信号,远程数据通信往往借用计算机通信是传送数字信号,远程数据通信往往借用现有的公用电话网,但电话网是为音频模拟信号的设现有的公用电话网,但电话网是为音频模拟信号的设计的。一般带宽为计的。一般带宽为30030034003400HzHz,不适于数据信号。不适于数据信号。发送时,对数字信号调制,变为适合在电话网上传输发送时,对数字信号调制,变为适合在电话网上传输相应的音频信号;接收时,解调,还原数字信号。相应的音频信号;接收时,解调,还原数字信号。计算机MODEMMODEM模拟信号模拟信号模拟信号模拟信号数字信号数字信号数字信号数字信号数字信号数字信号数字信号数字信号CRT101010101010调制和解调调制和解调9.3