1、第第11章章 串行通信及其接口电路串行通信及其接口电路本章主要内容本章主要内容1.串行通信的基本概念串行通信的基本概念2.可编程串行接口片可编程串行接口片8251A11.1 串行通信串行通信11.1.1 串行通信的特点:串行通信的特点:数据在单条数据在单条1位宽的传输线上按时间先后一位一位地传位宽的传输线上按时间先后一位一位地传送;送;节省传输线(优点);节省传输线(优点);数据传输率较低(缺点);数据传输率较低(缺点);主要适用于主要适用于长距离、低速率长距离、低速率的通信中。的通信中。11.1.2 串行通信涉及的常用术语和基本概念串行通信涉及的常用术语和基本概念1.单工、半双工和全双工单工
2、、半双工和全双工(1)单工(Simplex)特点:仅能进行一个方向的数据传送特点:仅能进行一个方向的数据传送 设备A发送器发送器设备B接收器接收器Data flow(2)半双工(半双工(Half Duplex)特点:数据可以在两个方向上进行传送,但是这种传送特点:数据可以在两个方向上进行传送,但是这种传送绝不能同时进行。绝不能同时进行。【双向,但不同时双向,但不同时】设备A发送器发送器/接收器设备B接收器接收器/发送器Data flow(3)全双工(全双工(Full Duplex)特点:能够在两个方向同时进行数据传送。特点:能够在两个方向同时进行数据传送。设备A发送器发送器/接收器接收器设备B
3、接收器接收器/发送器发送器2.数据传输率数据传输率 n每秒传输的二进制位数,单位为每秒传输的二进制位数,单位为bps(bit per second)也也称称比特率比特率。n波特率波特率每秒传输的每秒传输的“符号符号”(也称信号码元(也称信号码元Signal Element)的个数。)的个数。【例如,每秒传送例如,每秒传送1个符号,则波特率为个符号,则波特率为1波特波特】n在计算机中,一个在计算机中,一个“符号符号”的含义为的含义为高、低两种电平高、低两种电平,分别代表逻辑值分别代表逻辑值“1”和和“0”,所以每个符号的信息量为,所以每个符号的信息量为1比特,此时波特率与比特率刚好一致。比特,此
4、时波特率与比特率刚好一致。n但在其他一些场合但在其他一些场合(例如通信中采用的例如通信中采用的“相一幅相一幅”复合复合调制技术调制技术),一个一个“符号符号”的信息含量就不是一个比特,的信息含量就不是一个比特,此时,波特率就不等于比特率。此时,波特率就不等于比特率。n标准标准 波特率系列:波特率系列:50,75,110,150,300,600,1200,4种相位(0,90,180,270)每种相位有两种振幅值实现 3位位/信号码元信号码元 调制9001800002700001101011111000100110010n现在的电话网是模拟通信系统,它是为传输话音信息现在的电话网是模拟通信系统,它
5、是为传输话音信息而设计的。要在电话网上传送数字信号,必须经过而设计的。要在电话网上传送数字信号,必须经过调调制和解调制和解调。n实现调制和解调两个过程的设备称为实现调制和解调两个过程的设备称为“调制解调器调制解调器”(Modulator DemodulatorModem)n方法:方法:选取音频范围某一频率的正(余)弦模拟信号选取音频范围某一频率的正(余)弦模拟信号作为作为载波载波,用以运载所要传送的数字信号。,用以运载所要传送的数字信号。n用传送的数字信号改变载波信号的用传送的数字信号改变载波信号的幅值、频率或相位幅值、频率或相位,使之在信道上传送;使之在信道上传送;n到达信道另一端,再将数字
6、信号从载波中取出。到达信道另一端,再将数字信号从载波中取出。000001111数字信号(a)调幅(b)调频 (c)调相按数字信号的按数字信号的值改变载波信值改变载波信号的幅度号的幅度按数字信号的按数字信号的值改变载波信值改变载波信号的频率号的频率按数字信号的按数字信号的值改变载波信值改变载波信号的相位号的相位3.发送时钟和接收时钟发送时钟和接收时钟 RxCTxCTxD数据输入寄存器输入移位寄存器1,16,32数据输出寄存器输出移位寄存器1,16,32CLK(主时钟主时钟)(串行数据输入)输入移位脉冲输入移位脉冲(串行数据输出)输出移位脉冲输出移位脉冲 接收时钟发送时钟RxD4.波特率因子波特率
7、因子 F(时钟频率)(时钟频率)波特率因子波特率因子波特率波特率n波特率因子波特率因子:数据传输率数据传输率(波特率)(波特率)与与时钟频率时钟频率之间的比之间的比例系数例系数.n给定时钟频率,选择不同的给定时钟频率,选择不同的波特率因子波特率因子可得到不同的波特可得到不同的波特率。率。例如:例如:f=19.2 kHz,若选波特率因子为,若选波特率因子为16,则波特率为,则波特率为1200 bps。n若选定波特率因子和波特率,则相应的确定了对若选定波特率因子和波特率,则相应的确定了对时钟频率时钟频率的要求。的要求。8251外部的外部的时钟电路时钟电路 1,16,1MHzN分频分频19.2KHz
8、移位脉冲移位脉冲CLKOUT 8253 12001619200(时钟频率)(时钟频率)若外部时钟电路的频若外部时钟电路的频率率F1MHz,需用,需用8253分频,试计算分频系数(分频,试计算分频系数(8253的计数初值)?的计数初值)?n8253计数初值时钟频率计数初值时钟频率(波特率波特率因子波特率波特率因子)5.异步方式与同步方式异步方式与同步方式(1)异步方式(异步方式(Asynchronous):也称):也称“起止同步式起止同步式”。n串行异步传输数据格式:串行异步传输数据格式:1/0001115-8位数据位位数据位1/0停止位或空闲位1 1起始位起始位奇偶校验位停止位或、22111第
9、n个字符空闲位第n+1个字符低位低位高位高位(2)同步方式()同步方式(Synchronous)n串行同步通信信息格式串行同步通信信息格式同步字符(SYN1)同步字符(SYN2)数据(DATA)同步通信的效率(协议开销)同步通信的效率(协议开销)n例:例:SDLC/HDLC帧格式:帧格式:n假定数据长度为假定数据长度为2048位,位,通信效率为:通信效率为:2048/(204848)97%协议开销仅为协议开销仅为3n一般公式:一般公式:SDLC/HDLC协议开销协议开销1.0N/(N+48),其中其中N为发送数据的比特数。为发送数据的比特数。标志标志01111110地址地址8位位控制控制8位位
10、CRC8位位CRC8位位标志标志01111110数据场数据场11.4 可编程串行通信接口可编程串行通信接口8251AnIntel 8251A是通用同步是通用同步/异步收发器异步收发器USART(Universal Synchronous Asynchronous Receiver/Transmitter),它是专为它是专为Intel 微处理器设计的,可用作微处理器设计的,可用作CPU和串行外和串行外设的接口电路。设的接口电路。11.4.1 8251A的基本性能的基本性能 (1)可用于同步和异步传送。可用于同步和异步传送。(2)同步传送:同步传送:58位位/字符;内部或外部字符同步;字符;内部或
11、外部字符同步;可自动插入同步字符。可自动插入同步字符。(3)异步传送:异步传送:58位位/字符;时钟速率为通信速率的字符;时钟速率为通信速率的1、16、64倍。倍。(4)异步传送时,可产生中止字符(异步传送时,可产生中止字符(BreakCharacter););可产生可产生1、1.5、或、或2位的停止位;可检测假起始位;位的停止位;可检测假起始位;可自动检测和处理中止字符。可自动检测和处理中止字符。(5)波特率:异步:波特率:异步:DC-19.2K;同步:;同步:DC-64K。(6)全双工、双缓冲器发送和接收。全双工、双缓冲器发送和接收。(7)差错检测:具有差错检测:具有奇偶错、溢出错和帧格式
12、错奇偶错、溢出错和帧格式错等差错检等差错检测电路。测电路。(8)28脚双列直插式封装。脚双列直插式封装。(9)全部输入输出与全部输入输出与TTL电平兼容;单一电平兼容;单一+5V电源;单一电源;单一TTL电平时钟;电平时钟;Intel 8251APROGRAMMABLE COMMUNICATION INTERFACEnSynchronous and Asynchronous OperationnSynchronous 5-8 Bit Characters;Internal or External Character Synchronization;Automatic Sync Insertio
13、nn Asynchronous 5-8 Bit Characters;Clock Rate-1,16 or 64 Times Baud Rate;Break Character Generation;1,1.5,or 2 Stop Bits;False Start Bit Detection;Automatic Break Detect and Handling;n Synchronous Baud RateDC to 64K Baudn Asynchronous Baud Rate DC to 19.2K Baudn Full Duplex,double Buffered,Transmitt
14、er and Receivern Error Detection Parity,Overrun and Framingn Fully Compatible with 8080/8085 CPUn 28-Pin DIP Packagen All Inputs and Outputs are TTL Compatiblen Single+5V Supplyn Single TTL Clock 11.4.2 8251A的基本功能和工作原理的基本功能和工作原理1.8251A 的引脚的引脚8251A有有28条引脚,引脚分配如图条引脚,引脚分配如图11.12所示。所示。8251AD1TxDCLKRESET
15、DSRRTSDTRRxCVccD0TxEMPTYCTSWRTxCD7D6D5D4 GNDRxDD3CSRDC/DSYNDET/BRKDETTxRDYRxRDY11098765432111312281920212223242526271815161714D2图图 11-12 8251A的引脚信图的引脚信图2.8251A方块图及工作原理方块图及工作原理n8251A的结构方块图如图的结构方块图如图11.13所示。所示。n由图中可看出由图中可看出8251A可分为可分为5个部分。个部分。(1)接收器接收器 (2)发送器发送器 (3)数据总线缓冲器数据总线缓冲器 (4)调制解调器控制电路调制解调器控制电路
16、 (5)读写控制逻辑电路读写控制逻辑电路 数据总线数据总线缓冲器缓冲器读读/写写控制逻辑电路控制逻辑电路调制调制/解调解调控制电路控制电路接收控制电路接收控制电路串并串并转换转换发送发送缓冲器缓冲器缓冲器缓冲器并串并串转换转换发送控制电路发送控制电路RESETCLKC/DC/DRDWRCSDSRDTRCTSRTSD7-D0内内部部总总线线TXDRXDTXEMPTYTXCRXRDYRXCSYNDETTXRDY发送器发送器接收器接收器图图 11.13 8251A 内部结构方块图内部结构方块图接收接收11.4.3 8251A对外接口信号对外接口信号 8251A是是CPU与外设之间的接口电路,其对外的
17、接口信与外设之间的接口电路,其对外的接口信号可分为两组:号可分为两组:一组是与一组是与CPU的接口信号的接口信号;另一组是与外设之间的接口信号另一组是与外设之间的接口信号(参见图参见图11.15)。80868251A外设外设D7-D0CLK译码译码CSABM/IOC/DRDRDWRWRTXRDYTXEMPTYRXRDYSYNDETRESETDTRDSRRTSCTSTXDRXD计数器计数器/定时器定时器RXCTXC图图 11.15 8251A的对外接口信号的对外接口信号1.8251A与与CPU之间的接口信号之间的接口信号 (1)复位信号复位信号RESET (2)数据线数据线D7D0 (3)读写控
18、制信号读写控制信号 (4)收发联络信号收发联络信号 表11-1 8251A的读的读/写控制真值表写控制真值表CS C/D RD WR 操作0 0 0 1 CPU从8251A读数据0 0 1 0 CPU往8251A写数据0 1 0 1 CPU从8251A读状态0 1 1 0 CPU往8251A写控制命令 0 1 1 D7D0为高阻态1 D7D0为高阻态2.8251A与外设之间的接口信号与外设之间的接口信号有四个有四个Modem控制信号控制信号DTR、DSR、RTS和和CTS。另外还有四个信号,如下所述:另外还有四个信号,如下所述:(1)接收器时钟接收器时钟RXC (2)发送器时钟发送器时钟TXC
19、 (3)接收数据线接收数据线RXD (4)发送数据线发送数据线TXD本本 地地 Modem远远 程程 Modem 计计 算算 机机终终 端端123456782022101103104105106107102109108125机壳地发送数据(TXD)接收数据(RXD)请求发送(RTS)允许发送(CTS)Modem就绪(DSR)信号地(GND)载波检测(CD)终端就绪(DTR)呼叫指示载波检测呼叫指示电话线CCITT信号名插脚号 V.24/RS-232C 信号连接与定时关系信号连接与定时关系 a)信号线连接信号线连接11.4.4 8251A的编程的编程n 8251A的编程包括两个部分,一个是的编程
20、包括两个部分,一个是方式指令字方式指令字,另,另一个是一个是命令指令字命令指令字。n前者用来定义前者用来定义8251A的工作方式,它必须紧接在复位的工作方式,它必须紧接在复位后由后由CPU写入;写入;n后者用来指定芯片的实际操作,只有在写入了方式选后者用来指定芯片的实际操作,只有在写入了方式选择控制字后,才能由择控制字后,才能由CPU写入。写入。n1.方式指令字方式指令字n 方式指令字的格式如图方式指令字的格式如图11.16所示。所示。D7 D6 D5 D4 D3 D2 D1 D0S2S1EPPENL2L1B2B100 同步方式同步方式01 异步方式(异步方式(X1)10 异步方式(异步方式(
21、X16)11 异步方式(异步方式(X64)00 字符长度为字符长度为5位位01 字符长度为字符长度为6位位10 字符长度为字符长度为7位位11 字符长度为字符长度为8位位1 带奇偶校验带奇偶校验0 不带奇偶校验不带奇偶校验1 偶校验偶校验0 奇校验奇校验异步异步00无效无效011位停止位位停止位101.5位停止位位停止位112位停止位位停止位同步同步111个同步字符,外同步,个同步字符,外同步,SYNDET为输入为输入101个同步字符,内同步,个同步字符,内同步,SYNDET为输出为输出012个同步字符,外同步,个同步字符,外同步,SYNDET为输入为输入002个同步字符,内同步,个同步字符,
22、内同步,SYNDET为输出为输出图图 11.16 8251A的方式指令字的方式指令字2.命令指令字命令指令字命令指令字的格式如图11.17所示,它直接让8251A实现某种操作或进入规定的工作状态。D7 D6 D5 D4 D3 D2 D1 D0EHIRRTSERSBRKRXEDTRTXEN1 进入搜索方式进入搜索方式1 内部复位内部复位1 允许发送允许发送1 数据终端准备好数据终端准备好1 允许接收允许接收1 发送中止字符发送中止字符0 正常工作正常工作1 清除错误标志清除错误标志1 请求发送请求发送图图 11.17 8251A的命令指令字的命令指令字3.状态字状态字nCPU可以在可以在8251
23、A工作过程中利用输入指令读取当前工作过程中利用输入指令读取当前8251A的状态字,从而可以检测接口和数据传输的工的状态字,从而可以检测接口和数据传输的工作状态。作状态。n 8251A状态字的格式如图状态字的格式如图11.18所示。所示。D7 D6 D5 D4 D3 D2 D1 D0DSRSYNDET/BRKDETFEOEPETXEMPTYRXRDYTXRDY1 发送器准备好发送器准备好1 数据通信设备准备好数据通信设备准备好帧格式错标志帧格式错标志溢出错标志溢出错标志奇偶错标志奇偶错标志1 接收器准备好接收器准备好1 发送器空发送器空SYNDETBRKDET1 已达到同步已达到同步0 未达到同
24、步未达到同步1 接收到中止字符接收到中止字符0 正常工作正常工作图图 11.18 8251A 的状态字的状态字(1)三个错误标志位三个错误标志位PE、OE和和FE,PE=1是奇偶校验错;是奇偶校验错;OE=1是溢出错,也称为是溢出错,也称为“超越错超越错”;FE=1是是“帧格帧格式错式错”,它们只对异步方式有效。出现这三种错误时,它们只对异步方式有效。出现这三种错误时都不中止都不中止8251A的工作,它们可以用操作命令字中的的工作,它们可以用操作命令字中的ER位来复位。位来复位。(2)RXRDY、TXE(TXEMPTY)和)和SYNDET/BRKDET位与同名引脚的状态含义相同,此处不再重述。
25、位与同名引脚的状态含义相同,此处不再重述。(3)DSR位位是数据通信设备准备好状态位,是数据通信设备准备好状态位,DSR=1表示表示调制解调器或其他外设已处于准备好状态,此时调制解调器或其他外设已处于准备好状态,此时DSR输入信号有效。输入信号有效。(4)TXRDY是发送器准备好位,它与是发送器准备好位,它与输出引脚输出引脚TXRDY的含义的含义有所不同。有所不同。TXRDY状态位为状态位为“1”只反映当前发送缓冲器已只反映当前发送缓冲器已空,而空,而TXRDY输出引脚输出引脚为为“1”时,除发送缓冲器已空外,时,除发送缓冲器已空外,还需要以还需要以CTS=0和和TXEN=1为条件,即存在如下
26、逻辑关系:为条件,即存在如下逻辑关系:n输出引脚输出引脚TXRDY为为“1”=发送缓冲器空发送缓冲器空(CTS=0)(TXEN=1)n通常通常TXRDY状态位提供状态位提供CPU查询,而查询,而TXRDY引脚引脚的输出信的输出信号作为中断请求信号发给号作为中断请求信号发给CPU。4.8251A的初始化及数据传送流程图的初始化及数据传送流程图n8251A的初始化及数据传送流程图如图的初始化及数据传送流程图如图11.19所示。所示。输出方式指令字输出方式指令字输出第一个同步字符输出第一个同步字符异步方式?异步方式?是单同步?是单同步?RESET输出第二个同步字符输出第二个同步字符输出命令指令字输出
27、命令指令字有复位命令否?有复位命令否?传送数据传送数据输出命令指令字或输入状态字输出命令指令字或输入状态字数据完否?数据完否?YNNNNYYY图图 11.19 8251A 初始化和数据传送流程图初始化和数据传送流程图n8251A的初始化编程必须的初始化编程必须在复位操作之后,先设置方在复位操作之后,先设置方式指令字;式指令字;n如果设定在如果设定在异步方式异步方式,则马上要输出,则马上要输出命令指令字命令指令字进行进行设置,然后才能进行数据传送;设置,然后才能进行数据传送;n在数据传送过程中,也可使用在数据传送过程中,也可使用命令指令字命令指令字进行某些操进行某些操作设置或读取作设置或读取82
28、51A的状态;的状态;n在数据传送结束时,若使用在数据传送结束时,若使用IR位为位为“1”的内部复位命的内部复位命令使令使8251A复位,则它又可重新接收方式指令字,从复位,则它又可重新接收方式指令字,从而改变工作方式完成其他传送任务。而改变工作方式完成其他传送任务。n如果设定如果设定8251A工作在工作在同步方式同步方式,那么在输出方式指,那么在输出方式指令字后,应紧跟着输出一个同步字符或两个同步字符,令字后,应紧跟着输出一个同步字符或两个同步字符,然后再输出命令指令字,后面的操作与异步方式相同。然后再输出命令指令字,后面的操作与异步方式相同。5.编程举例编程举例(1)异步方式下的初始化编程
29、异步方式下的初始化编程n设定设定8251A工作于异步方式,波特率因子为工作于异步方式,波特率因子为64,每字,每字符符7个数据位,偶校验,个数据位,偶校验,2位停止位,则位停止位,则方式指令字方式指令字为为11111011=FBH。n 命令指令字命令指令字的设定,例如使的设定,例如使8251A的发送器允许,接的发送器允许,接收器允许,使状态寄存器中的收器允许,使状态寄存器中的3个错误标志位复位,使个错误标志位复位,使数据终端准备好信号数据终端准备好信号DTR输出低电平,则输出低电平,则命令指令字命令指令字应为应为00010111=17H。n若若8251A的端口地址为的端口地址为50H、51H,
30、则本例初始化程序,则本例初始化程序如下:如下:MOV AL,0FBH ;输出方式指令字输出方式指令字 OUT 51H,AL MOV AL,17H ;输出命令指令字输出命令指令字 OUT 51H,AL(2)同步方式下的初始化编程举例同步方式下的初始化编程举例n8251A工作于同步方式,双同步字符,同步字符设定工作于同步方式,双同步字符,同步字符设定为为16H,内同步,偶校验,每字符,内同步,偶校验,每字符7个数据位,则个数据位,则方式方式指令字指令字为为00111000B=38H。n命令指令字命令指令字设定为设定为10010111B=97H,使发送器允许,使发送器允许,接收器允许,使错误标志复位
31、,开始搜索同步字符,接收器允许,使错误标志复位,开始搜索同步字符,并通知调制解调器,数据终端设备已准备就绪。并通知调制解调器,数据终端设备已准备就绪。n8251A的端口地址为的端口地址为50H、51H,则本例初始化程序如,则本例初始化程序如下:下:MOV AL,38H ;输出方式指令字输出方式指令字 OUT 51H,AL MOV AL,16H ;输出两个输出两个同步字符同步字符16H OUT 51H,AL OUT 51H,AL MOV AL,97H ;输出命令指令字;输出命令指令字 OUT 51H,AL CPU执行上述程序之后,即完成了对执行上述程序之后,即完成了对8251A同步方式的同步方式
32、的初始化编程。初始化编程。11.4.5 8251A 的应用的应用1.利用利用8251A实现与终端的通信实现与终端的通信2.利用利用8251A实现双机通信实现双机通信n利用利用8251A实现相距较近(不超过实现相距较近(不超过15米)的两台微机米)的两台微机通信,其硬件连接如图通信,其硬件连接如图11.20所示。所示。n由于是近距离通信,因此不用由于是近距离通信,因此不用Modem,两台微机直接,两台微机直接通过通过RS-232C相连即可,且通信双方均作为数据终端相连即可,且通信双方均作为数据终端设备设备DTE;由于采用;由于采用EIA RS-232C接口标准,所以需接口标准,所以需要加接电平转
33、换电路。要加接电平转换电路。n通信时假设对方已准备好,所以可不使用四根联络信通信时假设对方已准备好,所以可不使用四根联络信号(指号(指DTR,DSR,RTS,CTS),仅使,仅使8251A的的CTS接地即接地即可。可。n甲乙两机可进行半双工或全双工通信。甲乙两机可进行半双工或全双工通信。CPU与接口之与接口之间可按查询方式或中断方式进行数据传送。间可按查询方式或中断方式进行数据传送。n本例采用本例采用半双工通信,查询方式,异步传送。半双工通信,查询方式,异步传送。8251ACTSDSRRxDTxCRxCCLK系统主时钟系统主时钟TxDRTSDTRCPU总线总线时钟电路时钟电路甲机甲机EIA/T
34、TL电电平平转转换换237237DTEDTETxDTxDRxDRxDEIA/TTL电电平平转转换换8251ACTSDSRRxDTxCRxCCLKTxDRTSDTR系统主时钟系统主时钟CPU总线总线时钟电路时钟电路RS232C接口接口图图 11.20 利用利用8251A进行双机通信硬件连接图进行双机通信硬件连接图乙机乙机GND(1)发送端初始化程序及控制程序如下所示发送端初始化程序及控制程序如下所示(设在此之前设在此之前已对已对8251A进行了复位操作进行了复位操作):nSTART:MOV DX,8251A控制端口号控制端口号n MOV AL,7AH ;输出方式指令字输出方式指令字,异步方式,异
35、步方式,7位数据位,位数据位,1位停止位位停止位n OUT DX,AL ;偶校验,波特率因子为偶校验,波特率因子为16n MOV AL,11H ;输出命令指令字输出命令指令字,发送器允许,错误标志复位,发送器允许,错误标志复位n OUT DX,ALn MOV SI,发送数据块首地址发送数据块首地址 n MOV CX,发送数据块字节数发送数据块字节数 nNEXT:MOV DX,8251A控制端口号控制端口号 n IN AL,DX ;输入状态字输入状态字n TEST AL,01H ;查询状态位查询状态位TXRDY是否为是否为“1”n JZ NEXT ;发送未准备好,则继续查询发送未准备好,则继续查
36、询n MOV DX,8251A数据端口号数据端口号 n MOV AL,SI ;发送准备好,则从发送区取一字节数据发送发送准备好,则从发送区取一字节数据发送n OUT DX,AL n INC SI ;修改地址指针修改地址指针n LOOP NEXT ;未发送完,继续未发送完,继续n HLT (2)接收端初始化及控制程序如下所示接收端初始化及控制程序如下所示(设在此之前已对设在此之前已对8251A进行了复位操作进行了复位操作):nBEGIN:MOV DX,8251A控制端口号控制端口号n MOV AL,7AH ;输出方式指令字输出方式指令字n OUT DX,AL n MOV AL,14H ;输出命令
37、指令字输出命令指令字n OUT DX,ALn MOV DI,接收数据块首地址接收数据块首地址 n MOV CX,接收数据块字节数接收数据块字节数 nL1:MOV DX,8251A控制端口号控制端口号 n IN AL,DX ;输入状态字输入状态字n TEST AL,02H ;查询状态位查询状态位RRDY是否为是否为“1”n JZ L1 ;接收未准备好,则继续查询接收未准备好,则继续查询n TEST AL,08H ;检测是否有奇偶校验错检测是否有奇偶校验错n JZ ERR ;若有错,则转出错处理若有错,则转出错处理n MOV DX,8251A数据端口号数据端口号 n IN AL,DX ;接收准备好
38、,则接收一个字节接收准备好,则接收一个字节n MOV DI,AL ;存入接收数据区存入接收数据区n INC DI ;修改地址指针修改地址指针n LOOP L1 ;未接收完,则继续未接收完,则继续n HLT8251A初始化的补充说明初始化的补充说明(关于先写关于先写3次次“0”的问题)的问题)MOV DX,2B9HMOV AL,0OUT DX,AL ;OUT DX,AL ;OUT DX,AL ;向8251A 写3次“0”MOV AL,40H;内部复位内部复位 OUT DX,AL MOV AL,4EH ;方式指令字方式指令字OUT DX,AL;MOV AL,27H;命令指令字命令指令字 OUT D
39、X,ALIntel 8251APROGRAMMABLE COMMUNICATION INTERFACEnA Reset Operation(internal or external)will return the 8251A to the Mode instruction format.Note:nTo guarantee that the device is in the Command instruction format before the Reset command is issued.It is safest to execute the worst-case initializa
40、tion sequence(sync mode with two sync characters).nLoading three 00Hs consecutively into the device with C/D=1 configures sync operation and writes two dummy 00H sync characters.An internal Reset command(40H)may then be issued to return the device to the“idle”state.n 第11章 作业P342第第7题题第第13题题第第14题题第第15题题