微机原理及接口技术8

上传人:gb****c 文档编号:243304720 上传时间:2024-09-20 格式:PPT 页数:74 大小:1.21MB
返回 下载 相关 举报
微机原理及接口技术8_第1页
第1页 / 共74页
微机原理及接口技术8_第2页
第2页 / 共74页
微机原理及接口技术8_第3页
第3页 / 共74页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第8章串行接口技术,1,本章教学目的与要求,掌握串行通信的基本概念,了解串行通信的通信方式,掌握串行通信的数据格式和差错检测,了解信号的调制和解调,了解串行通信RS-232、RS-422A、RS-485接口标准,掌握8215A的主要功能、编程结构、引脚信号和控制字格式及用法,能利用串行通信接口进行相关的数据传输应用,2,8.1串行通信的概念,8.2串行通信物理接口标准,8.3 可编程异步通信接口芯片8251A,3,8.1串行通信的概念,8.1.1 串行通信及特点,计算机与外设或其他计算机之间的信息交换称为数据通信。数据通信方式有两种:并行通信和串行通信。,并行通信方式中,需要传输的各位数据同时传送,有多少位数据,就需要多少根数据传输线。串行通信方式中,把数据的字节分解为单个的二进制位在一条信号线上一位一位顺序传送。,由于并行通信时数据的各个位同时传送,可以以字或字节为单位进行并行传输。因此并行通信传输速度快,但传输线数量多、成本高,易引起干扰,可靠性差,故适合传输效率高、传输距离较短的场合。串行通信传输数据一位接一位地在一条传输线上顺序传送,能够节省传输线,比较经济,但传送速度较慢,效率低,适合数据位数多且远距离数据传送的场合。图8.3为这两种通信方式的示意图。,4,图8.3 两种通信方式的示意图。,5,8.1.2 两种串行通信方式,按照串行数据的时钟控制方式,串行通信可分为异步串行通信和同步串行通信两种。,1异步串行通信ASYNC(Asynchronous Data Communication),异步串行通信又称为起止异步方式通信,是计算机中常用的数据信息传输方式。发送端在一个字符正式发送前先发送一个起始位,然后发送有效字符,在字符发送结束时再发送一个停止位,起始位至停止位构成一帧。异步串行通信的帧格式如图8.4所示。,6,图8.4 异步通信的字符帧格式,7,(1)异步串行通信的数据格式,异步串行通信传输的每个字符由一个起始位(Start Bit)作为数据开始传送的标志,起始位采用低电平。紧跟在起始位后的是58位的被传送字符的有效数据位,传送时按照低位在前高位在后的顺序依次传送,数据位数的选择可由硬件或软件来设定。数据位传送完后可以选择一位奇偶校验位,用来校验数据的传输是否正确,奇偶校验位可以采用奇校验或偶校验,也可以不设置校验位。最后必须有停止位,标志着传送一个字符的结束,停止位的长度为1位、1.5位或2位,停止位采用高电平。,8,例题:,试画出用异步串行通信协议传送字符“B”的波形图,要求加偶校验位和一位停止位。,解:字符“B”的ASCII的码为42H,其传送波形图如图8.5所示。,图8.5 异步协议传输ASCII字符“B”的格式,9,(2)波特率,串行通信中数据传输速率用波特率(Baud Rate)来表征。所谓波特率,是指单位时间内传送二进制数据的位数,用bps(位/秒,bit/s)来表示。波特率是衡量串行数据传输速度快慢的重要指标和参数,波特率越高,数据传输速率越快。,16倍波特率时钟的采样过程如图8.6所示。,10,图8.6 16倍波特率时钟的采样过程,11,(3)异步传输中的差错检测,由于线路或程序出错等原因,使得在通信过程中可能产生传送错误。异步通信中接收方通常可检测到如下一些错误:, 奇偶校验错(Parity Error), 超越错(Overrun Error), 帧格式错(Frame Error),采用异步通信方式的优点是控制简单,不需要收发双方的时钟频率保持完全一致,可以有偏差,纠错方便。缺点是一旦传输出错,则需要重新发送,由于包含起始位和停止位,传输效率低,信息冗余大。,12,2同步串行通信SYNC(Synchronous Data Communication),图8.7(a)为单同步字符帧格式,图8.7(b)为双同步字符帧格式,图8.7(c)为外同步字符帧格式。,图8.7 同步通信的字符帧格式,13,8.1.3 串行通信的数据传送方式,在串行通信中,数据在通信线路上进行传输,根据数据流的传送方向可分为单工方式、半双工方式和全双工方式三种。,1单工方式(Simplex),图8.8 单工方式,14,2半双工方式(Half Duplex),图8.9 半双工方式,15,33、全双工方式(Full Duplex),图8.10 全双工方式,16,8.1.4信号的调制和解调,串行通信中传输的数据都是以“0”“1”序列组成的数字信号。它包含了从低频到高频范围很宽的谐波信号,因此在传输线上传输时要求线路的频带也很宽,否则会产生严重的信号失真。在长距离通信时,为了降低成本,常常采用普通电话线路进行传输,但普通电话线路的频带宽度有限,一般只有3003000Hz,其频带特性如图8.11所示。,图8.11 电话线路的频带特性,17,在发送端利用调制器(Modulator)把要传送的数字信号调制转换为能在电话线路上传输的音频模拟信号,这个过程称为调制。在接收端利用解调器(Demodulator)将接收到的音频模拟信号转换为数字信号,这个过程称为解调。如图8.12所示,图中MODEM为调制解调器。,图8.12 远程通信示意图,18,8.1.5 串行通信的校验方法,校验是串行通信中必不可少的重要环节,也是衡量通信系统对差错控制能力的重要指标。常用的校验方法有:奇偶校验、循环冗余校验CRC(Cyclic Redundancy Check) 和方阵码校验等。,奇偶校验是最简单最常用的校验方法。它的基本原理是在发送数据时,在其最末位后加一位奇偶校验位,如图8.13所示。,19,图8.13 在发送时产生奇偶校验位的电路,图8.14 在接收时的奇偶校验电路,20,8.1.6 串行通信的实现方法,串行传送时数据是一位一位依次顺序传送的,而在计算机中数据是并行的,所以当数据由计算机送至数据终端时,要先把并行的数据转换为串行的数据再传送,而在计算机接收终端送来的数据时,要先把串行的数据转换为并行的数据才能处理加工。,常用的串行通信实现方法是使用硬件接口电路。,21,串行接口与CPU及外设的连接如图8.15所示。,图8.15 CPU通过串行接口与外部设备的连接,22,1)通用异步收发器UART,典型的UART接口的基本结构如图8.16所示。,图8.16 典型的UART接口的基本结构,23,UART接口主要包括:,(1)输出缓冲寄存器,(2)输出移位寄存器,(3)输入移位寄存器,(4)输入缓冲寄存器,(5)控制寄存器,(6)状态寄存器,24,UART的工作流程可以分为接收过程和发送过程两部分。,发送过程:CPU发来的有效数据写入接口的输出缓冲寄存器,输出缓冲寄存器将数据送到输出移位寄存器,同时将状态寄存器中的“发送准备好”位置1,并向CPU发出中断申请(用中断方式时),表示接口可以接收CPU写入下一个有效数据。,接收过程:接收控制电路不断检测串行数据线上的电平,一旦出现持续一个位周期的低电平(指异步方式),则开始采样有效数据位,并将采集到的数据送入输入移位寄存器。采样重复进行,直到采样到停止位。接收控制逻辑对接收到的数据进行奇偶校验,若不正确,则将状态寄存器中奇偶校验错误状态位置1;若正确,则将有效数据位并行送入输入缓冲寄存器。,25,图8.17 典型的串行USRT的基本结构,2)通用同步收发器USRT,典型的串行USRT的基本结构如图8.17所示。,26,8.2串行通信物理接口标准,串行通信的物理接口标准包括连接电缆的机械特性、电气特性、协议功能及传送过程的定义,它属于ISO/OSI体系结构中的最底层物理层,为链路层提供透明的位流传输实体,并规定了传输数据位的硬件规则。串行通信接口电路经过使用和发展,目前常用的有RS232C、RS422A、RS485等标准,这里介绍几种接口标准。,27,8.2.1RS232C串行接口标准,RS-232C标准(协议)的全称是EIA-RS-232C标准,它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(Recommended Standard)代表推荐标准,232是识别代号,C代表RS-232的最新一次修改(1969),在这之前有RS-232B、RS-232A。它规定了连接电缆的机械特性、电气特性、信号功能及传送过程。目前在PC机上的COM1、COM2接口,就是RS-232C接口。,28,1RS-232C的接口信号,标准的D型25针连接器各引脚的排列如图8.18所示。,图8.18 RS-232C引脚图,29,发送数据TXD:串行数据通过TXD终端由DTE向DCE发送。,接收数据RxD:通过RXD终端接收DCE发送的数据。,请求发送RTS :用来表示DTE准备向DCE发送数据。,允许发送CTS:用来表示 DCE 准备好接收 DTE 发来的数据。,RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变为高电平。,数据终端就绪DTR:数据终端设备准备就绪。,数据准备就绪DSR :数据装置准备好信号。,DTR和DSR这两个信号有时连到电源上,一上电就立即有效。目前有些RS-232C接口甚至省去了用以指示设备是否准备好的这类信号,认为设备是始终都准备好的。可见这两个设备状态信号有效,只表示设备本身可用,并不表示通信链路可以开始进行通信了。,信号地SG:所有的信号都要通过信号地线构成回路。,载波检测DCD:用来表示DCE已经接通通信链路。,振铃指示RI:当MODEM接收到振铃呼叫信号时,使该信号有效。,发送器时钟TXC:控制数据终端发送串行数据的时钟信号。,接收器时钟RXC:控制数据终端接收串行数据的时钟信号。,数据信号检测和数据信号速率选择:用于指示信号质量和选择传输速率。,30,2、RS232C的连接和使用,RS232C的传输距离短,一般小于15米,当进行15米以上远距离通信时,需要使用调制解调器MODEM。,(1)远距离通信,连接方式如图8.19所示。,(a)采用MODEM和专用线通信时信号线的连接,31,(b)采用MODEM和电话网通信时信号线的连接,图8.19 采用MODEM时信号线的连接,32,(2)近距离通信的连接,RS232C连线如图8.20(a)所示。,(a) (b),图8.20 零MODEM方式的最简单连接,图8.20(b)中,为了满足全双工通信的联络控制要求,将RTS和CTS互接,用请求发送信号RTS来产生允许发送信号CTS,这样的连接方式表明请求传送总是允许的。同样的,将DTR和DSR互接,用户数据终端准备好信号产生数据装置准备好信号。,33,3RS232C的电气特性,RS232C接口标准对逻辑电平和各种信号线功能都作了规定:,在数据发送TxD和数据接收RxD信号线上,-3V-15V的电平表示逻辑1(MARK), +315V的电平表示逻辑0(SPACE)。而在请求发送RTS、允许发送CTS、数据准备就绪DSR、数据终端就绪DTR和载波检测DCD等控制和状态信号线上,+3V+15V的电平表示信号有效(接通,ON状态,正电压),-3V-15V表示信号无效(断开,OFF状态,负电压)。,EIA-RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。,34,图8.22 EIA-RS-232C电平转换器的连接,35,8.2.2 RS422A接口标准,RS422A 标准是一种平衡传输方式的串行接口标准,它的数据信号采用差分传输方式,使用一对双绞线,将其中一线定义为A,另一线定义为B,发送端和接收端分别采用平衡发送器和差动接收器连接,从根本上消除了信号地线,这相当于两个单端驱动器,图8.24所示为平衡驱动差分接收电路。,图8.24 RS422A平衡驱动差分接收电路,36,8.2.3 RS485标准,RS485是RS422A标准的变型,它与RS422A都是采用平衡差分电路,区别在于按照上述的工作要求,RS485为半双工工作方式,因此可以采用一对平衡差分信号线来连接。由于任何时候只能有一点处于发送状态,因此发送电路必须由使能信号加以控制。,RS485用于多点互联时非常方便,可以省掉很多信号线。RS485允许在电路中有多个发送器,也允许一个发送器驱动多个负载设备。由于RS485与RS422A的驱动/接收电路区别不大,因此许多情况下RS485与RS422A可以互连。如图8.25所示,在环形网络系统中,采用RS485/422A可以构成数据链路系统。,图8.25 环形数据链路系统,37,RS485标准的特点:,(1)抗干扰能力强。,(2)传输速率高。,(3)传输距离远。,(4)能实现多点对多点的通信。,38,8.3 可编程异步通信接口芯片8251A,CPU利用串行通信接口与外部进行数据传输,必须通过串行接口电路来实现。串行通信接口电路的基本任务包括:,实现串行数据格式化。,进行串并转换。,数据传输速率的控制。,能进行错误检测。,实现TTL与EIA电平转换。,实现计算机与通信设备之间的信号联络与控制。,39,8.3.1可编程串行接口芯片8251A概述,8251A是通用同步/异步收发器USART (Universal Synchronous Asynchronous Receiver/Transmitter),它是专为Intel 微处理器设计的,具有同步、异步接收或发送的功能,可用作CPU和串行外设的接口电路。其功能是:,(1)通过编程,可以工作在同步方式下,也可以工作在异步方式下,字符位数为 5-8 个;,(2)在同步方式下,波特率为 064K;异步方式下,波特率为019.2K;,(3)同步传输时,可以用 5、6、7或8位来表示一个字符,并且内部能自动检测同步字符,从而实现同步。除此之外,8251A 也允许同步方式下增加奇/偶校验位进行校验。,(4)异步传输时,也可以用5、6、7或8位来表示一个字符,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验,1个启动位,并能根据编程为每个数据增加1个、1.5个或2个停止位。,(5)具有奇偶错、数据丢失和帧错误检测能力;。,40,18251A的内部结构,8251A的内部结构方框图如图8.27所示。8251A主要由数据总线缓冲器、接收器、发送器、读/写控制逻辑和调制解调控制逻辑等电路组成,内部总线实现各部件相互间的通信。,图8.27 8251A的内部结构,41,28251A的引脚信号,作为CPU与外部设备(或调制解调器)之间的接口,8251A的对外引脚信号分为两组,一组是8251A与CPU之间的信号,一组是8251A与外部设备(或调制解调器)之间的信号。图8.28是8251A与外部设备及CPU之间的引脚示意图。8251A的引脚如图8.29所示。,42,图8.28 8251A与外部设备及CPU之间的引脚示意图,图8.29 8251A的引脚图,43,(1)8251A与CPU之间的连接信号,CS:片选信号,输入,通常由系统地址总线的高位地址经过地址译码器产生。,D7D0:数据总线,双向,三态。,RD:读信号,输入,与系统总线的读信号相连。,WR:写信号,输入,与系统总线的写信号相连。,C/D:控制/数据寄存器选择信号,输入,用来区分当前读/写的是数据还是控制信息或状态信息。,RD、WR、C/D与读写操作之间的关系如表8-3所示。,44,表8-3 8251A端口基本操作,CS,C/D,RD,WR,功能,0,0,0,1,CPU从8251A读数据,0,0,0,1,CPU向8251A写数据,0,1,1,0,CPU从8251A读取状态,0,1,1,0,CPU向8251A写控制字,1,未选中,45,TXRDY:发送器准备好信号,输出,高电平有效。,TXE:发送器空信号,输出,高电平有效。,RXRDY:接收器准备好信号,输出,高电平有效。,SYNDET:复用双功能引脚,同步/中止检测信号,双向。,同步方式时,为同步检测信号SYNDET。,异步方式时,该引脚作为中止信号检测BD,输出。当检测到中止字符后,输出高电平。,46,(2)8251A与外部设备之间的连接信号,DTR:数据终端准备好信号,输出,低电平有效。,DSR:数据设备准备好信号,输入,低电平有效。,RTS:请求发送信号,输出,低电平有效。,CTS:清除请求发送信号,输出,低电平有效。,TXD:发送器数据信号端,用来输出数据。,RXD:接收数据信号端,用来接收外部设备送来的串行数据。,RXC:接收器时钟,用来控制接收器接收数据的速率。,TXC:发送器时钟。用来控制8251A的发送数据的速率。,CLK(Clock):时钟,用来产生8251A的内部时序。,47,8.3.2 8251A的编程,对8251A的初始化编程主要包括方式选择控制字、操作命令控制字。,1方式选择控制字,方式选择控制字是在复位后写入,用于选择8251A的工作方式(同步方式、异步方式)和数据格式。方式选择控制字写入8251A的控制口(奇地址端口),格式和定义如图8.30所示。,48,图8.30 8251A的方式选择控制字,49,D1D0:波特率因子选择。,D3D2:数据位的位数(不包括奇偶校验位)。,D4:是否需要奇偶校验。,D5:奇偶校验类型。,D7D6:含义因工作方式而异。,50,例题:,在某异步通信中,数据格式采用8位数据位,1个起始位,1个停止位,偶校验,波特率因子为64,其方式选择控制字为01111111B=7FH。将方式选择控制字写入控制口,则程序段为,MOVDX,209H;8251A控制口地址,MOVAL,7FH;方式选择控制字,异步方式,OUTDX,AL;写方式选择控制字,例题:,某同步通信中,若帧数据格式位:字符长度为8位,双同步字符,内同步方式,奇校验,则方式选择控制字为00011100B=1CH。将方式选择控制字写入控制口,则程序段为:,MOVDX,209H;8251A控制口地址,MOVAL,1CH;方式选择控制字,同步方式,OUTDX,AL;写方式选择控制字,51,2操作命令控制字,操作命令控制字的作用是确定8251A的数据传送方向及与传送方向相适应的工作状态。操作命令控制字写入8251A的控制口(奇地址端口),格式和定义如图8.31所示。,图8.31 8251A的操作命令控制字,52,D0:允许发送位TXEN(Transmit Enable)。,D1:数据终端准备就绪DTR。,D2:允许接收位RXE(Receive Enable)。,D3:发送中止断点字符位SBRK(Send Break Character)。,D4:清除错误标志位ER(Error Reset)。,D5:请求发送位RTS (Request To Send)。,D6:内部复位位IR(Internal Reset)。,D7:进入搜索方式EH(Enter Hunt Mode),只对同步方式有效。,53,3状态字,8251A执行CPU的各种命令,将数据传送时建立的各种状态存放在状态寄存器中,称为状态字。CPU可以在8251A工作过程中利用输入命令读取8251A当前的状态字,从而了解8251A接口和数据传输的工作状态。8251A状态字的格式如图8.32所示。,图8.32 8251A的状态字,54,8251A状态字中D1、D2、D6、D7位的含义与8251A同名引脚定义相同,这里不再赘述。,D3:奇偶校验错PE(Parity Error)。,D4:溢出错OE(Overrun Error)。,D5:格式错FE(Framing Error),只用于异步方式。,出现这三种错误时都不会终止8251A的操作,可以通过操作命令字中的ER来复位。,55,例题:,查询8251A的发送器是否准备好,试写出相应程序段。,MOV DX,209H;状态口地址,START:IN AL,DX;读取状态字,ANDAL,01H;D0=1?,JZ START;若未准备好,则等待,MOVDX,208H;数据口地址,MOVAL,0FFH,OUTDX,AL;发送字符写入8251A,56,4、8251A的初始化编程,8251A可以工作在不同的方式下,因此需要在使用之前进行初始化编程,以确定其通信方式、传送方向、数据格式和传送速率等。初始化编程是通过写入方式选择控制字、操作命令控制字和同步字符来实现的。初始化流程如图8.33所示。,57,图8.33 8251A初始化流程,58,例题:,设定8251A工作于异步方式,波特率因子为16,每个字符8个数据位,偶校验,2位停止位,则方式选择控制字为11111110B=FEH。,操作命令控制字设定,设定使8251A的发送器允许,接收器允许,使状态寄存器中的3个错误标志位复位,使数据终端准备好信号DTR输出低电平,则操作命令控制字为00010111B=17H。,假设8251A的端口地址为208H、209H,则8251A的初始化程序如下:,MOVDX,209H,MOVAL,0FEH;输出方式选择控制字,OUTDX,AL,MOVAL,17H;输出操作命令字,OUTDX,AL,59,综合应用实例/应用实例和实例分析:,11、利用8251A实现与终端之间的串行通信,终端通常包括键盘和显示器,因此计算机与终端之间需要进行双向通信。这里以8251A为主要部件,计算机通过串行接口与键盘和显示器终端的连接如图8.34所示。,图8.34 8251A与键盘-显示器终端之间串行通信的电路连接,60,8251A与键盘、显示器之间进行数据通信,从键盘输入一个字符,并立即将该字符送到显示器进行显示。采用异步串行通信方式,数据格式为1位停止位,8位数据位,偶校验,波特率系数为16,则8251A的方式选择控制字为01111110B=7EH,操作命令控制字为00110111B=37H。,对8251A进行初始化和接收、发送控制程序如下:,CODE SEGMENT,ASSUME CS:CODE,START:MOVDX,209H;控制口地址,MOVAL,00H;空操作,OUTDX,AL,MOVAL,40H;内部复位(使D6=1),OUTDX,AL,NOP,MOVAL,7EH;方式控制字(异步,1位停止位,字符长度为8位,波特率因子为16,偶校验),OUTDX,AL,MOVAL,37H;控制命令字(RTS、ER、RXE、DTR、TXEN均置位),OUTDX,AL,STATE1:INAL,DX ;读取状态字,TESTAL,02H;查状态位D1(RXRDY)是否为1,61,JZ STATE1;若未准备好,则继续查询,MOVDX,208H;装入数据端口地址,INAL,DX;接收一个字符,MOVBL,AL; 暂存在寄存器BL中,CMPAL,1BH;测试是否ESC键,JZEXIT;若输入为ESC,则退出,STATE2: MOVDX,209H,INAL,DX;读取状态字,TESTAL,01H;查状态位D0(TXRDY)是否为1,JZSTATE2;若未准备好,则继续查询,MOVDX,208H,MOVAL,BL,OUTDX,AL;将刚收到的字符送给显示器,JMPSTATE1;准备继续接收,EXIT:MOVALAH,4CH,INT21H;发送完毕,返回DOS,CODE ENDS,END START,62,2利用8251A实现两台计算机之间的串行通信,两台计算机近距离(不超过15米)串行通信,硬件连接如图8.35所示。甲机发送,乙机接收。由于两台计算机距离较近,因此采用无MODEM连接,每台计算机的RS232串行接口分别采用一片8251A芯片连接,通信双方均作为数据终端设备,它们之间只需TXD,RXD,SG三根线连接就能通信。由于采用的是EIA RS232接口标准,因此需要加电平转换电路。,图8.35 利用8251A进行双机串行通信的硬件连接图,63,甲乙两台计算机可以进行半双工或全双工通信,CPU与接口之间数据传送方式可以采用查询方式或中断方式。本例中采用异步传输方式,字符长度为8位,2位停止位,波特率因子为16,偶校验,CPU与8251A采用查询方式交换数据。8251A的命令/状态端口地址为209H,数据端口地址为208H。发送和接收程序流程图如图8.36所示。,64,图8.36 双机串行通信接口发送和接收程序流程图,65,(1)发送端初始化程序及控制发送程序如下(略去数据段定义):,CODE SEGMENT,ASSUME CS:CODE,START:MOVDX,209H;控制口地址,MOVAL,OOH00H;空操作,OUTDX,AL,MOVAL,40H;内部复位(使D6=1),OUTDX,AL,NOP,MOVAL,OFEH0FEH;方式控制字(异步,2位停止位,字符长度为8位,波特率因子为16,偶校验),OUTDX,AL,MOVAL,37H;控制命令字(RTS、ER、RXE、DTR、TXEN均置位),OUTDX,AL,MOVCX,COUNT;传送字节数送CX,MOVSI,OFFSETBUF;发送区首址送SI,66,STATE:MOVDX,209H,INAL,DX;读取状态字,TESTAL,01H;查状态位D0(TXRDY)是否为1,JZSTATE;若发送未准备好,则继续查询,MOVDX,208H;装入数据端口地址,MOVAL,SI;发送准备好,则从发送区取一字节发送,OUTDX,AL,INCSI;修改地址指针,DECCX ;字节数减1,JNZSTATE;未发送完,继续发送,MOVALAH,,4CH,INT21H;发送完毕,返回DOS,CODEENDS,ENDSTART,67,(2)接收端初始化程序及控制发送程序如下(略去数据段定义):,CODESEGMENT,ASSUMECS:CODE,START:MOVDX,209H;控制口,MOVAL,O0H00H;空操作,OUTDX,AL,MOVAL,40H;复位(同发送程序复位),OUTDX,AL,NOP,MOVAL,0FEH;方式选择控制字(同发送程序),OUTDX,AL,MOVAL,14H;命令控制字(ER,RX置位),OUTDX,AL,MOVCX,COUNT;接收字节数,MOVSI,OFFSETBUF;接收数据区首址,68,LABEL:MOVDX,209H,INAL,DX;查询状态字,TESTAL,,38H,JNZERR;查询数据接收是否出错,出错则转ERR,TESTAL,02H;查状态位D2(RXRDY)是否为1,JZLABEL;接收未准备好,则继续查询,MOVDX,208H;数据口,INAL,DX;接收准备好,则接收1字节,MOVDI,AL;存入接收区,INCDI;修改地址指针,DECCX;字节数减1,LOOPLABEL;未发送完,继续,JMPSTOP,ERR:,STOP:MOVALAH,4CH,INT21H;接收完毕,返回DOS,CODEENDS,ENDSTART,69,本章小结,本章主要介绍了串行通信的基本概念和基础知识,串行通信传输是将数据一位接一位地在一条传输线上顺序传送。介绍了两种串行通信方式:异步串行通信和同步串行通信。异步串行通信传输中每个字符包含一个起始位、58位、有效数据位、一位奇偶校验位和1位、1.5位或2位。介绍了波特率和波特率因子以及异步传输中的差错检测。同步通信方式是将数据顺序连接起来,构成一个数据块进行传输,在每个数据块的开始处加1至2位的同步字符,最后以校验字符结束。介绍了串行通信的数据传送方式:单工方式、半双工方式和全双工方式三种。介绍了信号的调制和解调,为了实现通过电话线路进行数字信号的传输,引入了调制解调器,利用调制解调器的调制和解调功能实现数据的远距离传输。在远距离通信中,为了保证信息传输的正确性,采用奇偶校验和循环冗余校验CRC等方法对数据进行校验,并介绍了数据校验原理。在串行通信的实现方法上介绍了硬件实现方法(UART、USRT)两种。介绍了串行通信的物理接口标准:RS232C、RS422A、RS485等。RS-232是用于连接数据终端设备DTE与数据通信设备DCE之间的标准接口,电气特性是用正负电压来表示逻辑状态,-3V-15V的电平表示逻辑1,+315V的电平表示逻辑0,与计算机接口或终端进行连接时,需要在RS-232C与TTL电路之间进行电平和逻辑关系的变换。RS422A标准的数据信号采用差分传输方式,在干扰信号作为共模信号出现时,接收器接收差分输入电压,能识别两个信号并正确接收传送的信息。RS485标准采用差动发送/接收,传输速率高,传输距离远,能实现多点对多点的通信,在许多方面得到了广泛应用。介绍了可编程异步通信接口芯片8251A的内部结构、引脚信号及与CPU和外部设备的连接方法、初始化编程和应用举例。,70,习题,1、串行通信的主要特点是什么?,2、什么是同步通信方式?什么是异步通信方式?它们各自的特点是什么?,3、什么是波特率?什么是波特率因子?,4、同步通信协议有哪两种?各自的特点是什么?,5、0位插入/删除技术的作用是什么?,6、什么是信号的调制和解调?为什么要进行信号的调制和解调?,7、奇偶校验的规则及特点是什么?,8、串行通信硬件接口电路的主要功能是什么?,9、串行通信的接口标准有哪些?比较它们的特点及使用场合。,10、RS-232接口对远距离通信和近距离通信所使用的信号线有什么不同?为什么?,11、RS-232接口的信号电平采用什么逻辑?逻辑“1”和逻辑“0”电平各为多少?,12、RS485标准的特点是什么?,13、串行通信接口电路的基本任务有哪些?,14、简述8251A的内部结构及各部分的作用。,15、8251A与外部设备之间的接口信号有哪些?,16、8251内部有哪些寄存器?分别举例说明它们的作用和使用方法。,17、假定8251A工作于异步方式,波特率因子为16,数据位7位,奇校验,允许发送和接收数据,其端口地址为E0H,E1H。试编写初始化程序。,18、设8251A的控制和状态端口地址为241H,数据端口地址为240H,采用异步方式,7位数据位,奇校验,1位停止位,波特率因子为16,试编写一个程序段,采用查询方式输入100个字符,并将字符存放在BUFFER开始的缓冲区中。,71,72,17、假定8251A工作于异步方式,波特率因子为16,数据位7位,奇校验,允许发送和接收数据,其端口地址为E0H,E1H。试编写初始化程序。,MOV AL,01011010B,OUT E1H,AL,MOV AL,00110111B,OUT E1H,AL,73,18、设8251A的控制和状态端口地址为241H,数据端口地址为240H,采用异步方式,7位数据位,奇校验,1位停止位,波特率因子为16,试编写一个程序段,采用查询方式输入100个字符,并将字符存放在BUFFER开始的缓冲区中。,MOV AL,01011010B,MOV DX,241H,OUT DX,AL;写方式选择控制字,MOV AL,01010110B,OUT DX,AL ;写操作命令字,MOV BX,BUFFER;接收缓冲区首地址,MOV CX,100,START:MOV DX,241H,IN AL,DX;读状态字,TEST AL,01H;检查数据接收是否准备就绪,JZ START;未就绪,等待,MOV DX,240H;装数据端口地址,IN AL,DX;接收数据,MOV BX,AL;装入数据缓冲区,INC BX;修改接收缓冲区地址,DEC CX;接收计数减1,JNZ START;未接收完,继续接收,HLT,74,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!