微机原理复习思考题串并行通信和接口技术

发布时间:2018-10-06 18:58:40   来源:文档文库   
字号:

第八章 可编程接口芯片及其应用.doc

5.1 接口部件为什么需要有寻址功能?设计一个用74LS138构成的译码电路,输入为A3A4A5A8,输出8个信号以对8个接口部件进行选择。想一想如果要进一步对接口中的寄存器进行寻址,应该怎样实现?

解答 首先,接口要对选择存储器和I/O的信号能够做出解释;此外,要对送来的片选信号进行识别,以便判断当前接口是否被访问,如果受到访问,还要决定是接口中哪个寄存器受到访问。用A3-5译码可以选择访问8个接口部件,用A8和读、写信号配合可进一步寻址接口中的寄存器。

 

5.2 接口部件的输入/输出操作具体对应哪些功能,举例说明。

解答 输入对应初始化和数据进入接口,输出对应将数据送到总线上。

 

5.3 从广义上说接口部件有哪些功能?

解答 从广义的角度概括出来的接口的功能如下: 寻址功能; 输入/输出功能; 数据转换功能; 联络功能; 中断管理功能; 复位功能; 可编程功能; 错误检测功能。

 

5.4 怎样进行奇/偶校验?如果用偶校验,现在所传输的数据中1的个数为奇数,那么,校验位应是多少?

解答 一般传输信息时,接口采用奇/偶校验位对传输错误进行检测.传输时,如果用奇校验,那么使信息中1的数目(包括校验位)为奇数.也就是说,所传输的数据中如果1的个数为奇数时,则校验位为0,所传输的数据中如果1的个数为偶数,则校验位为1,这样,在传输一个数据时,1的总数目总是为奇数.同样的道理,如果用偶校验,那么,信息中1的数目(包括校验位)为偶数。

 

5.8 在数据通信系统中,什么情况下可以采用全双工方式,什么情况下可用半双工方式?

解答 如果一个数据通信系统中,对数据的两个传输方向采用不同的路这样的系统就可以工作在全双工方式。对于只进行单方向数据传输的外部设备时,故用半双工就能满足。

 

5.9 什么叫同步通信方式?什么叫异步通信方式?它们各有什么优缺点?

解答 同步通信,即交许多字符组成一个信息组,字符一个接一个地传输,每组信息的开始要加上同步字符,没有信息传输出时,要填上空字符,同步通信不允许有间隙。异步通信,两个字符之间的传输间隔是任意的,每个字符的前后都要用一些数位来作为分隔位。比较起来,在传输率相同时,同步通信方式下的住处有效率要比比方式下的高,因为同步方式下的的非数据信息比例要较小。但是,在同步方式下,要求进行信息传输双方必须用同一个时间进行协调,在传输数据的同时,还必须传输时钟信号。而在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样。

 

5.10 什么叫波特率因子?什么叫波特率?设波特率因子为64,波特率为1200,那么时钟频率为多少?

解答 发送时钟与接收时钟的频率与位传输率的比称为波特率因子,而位传输率称为波特率。时钟频率为76800HZ

 

5.11 标准波特率系列指什么?

解答 标准波特率系列为110300600120018002400960019200

 

5.12 设异步传输时,每个字符对应1个超始位、7个信息位、1个奇/偶校验位和1个停止位,如果波特率为9600,刚每秒能传输的最大字符数为多少个?

解答 9600/10=960

 

5.13 RS-232-C标准中,信号电平与TTL电平不兼容,问RS-232-C标准的10分别对应什么电平?RS-232-C的电平和TTL电平之间通常用什么器件进行转换?

解答 RS-232-C-5V—-15V规定为1”,将+5V—+15V规定为0”。将TTL电平转换成RS-232-C电平时,中间要用到MC1488器件,反过来,用MC1489器件,将RS232-C电平转换成TTL电平。

 

5.14 8251A的编程结构中,可以看到8251A有几个寄器和外部电路有关?一共要几个端口地址?为什么

解答 总共有9个寄存器与外部电路有关,一共要三个端口地址。

 

5.15 8251A内部有哪些功能模块?其中读/写控制逻辑电路的主要功能是什么?

解答 8251A有一个数据输入缓冲寄存器和一个数据输出缓冲寄存器,一个发送移位寄存器和一个接受移位寄存器,一个控制寄存器和一个状态寄存器,一个模式寄存器和两个同步字符寄存器等功能模块。读/写控制逻辑电路用来配合数据总线缓冲器中工作。其主要功能有:1)接受写信号WR,并将来自数据总线的数据和控制字写入8251A2)接受读信号RD,并将数据或状态字从8251A送往数据总线;3)接受控制/数据信号C/D,将此信号和读/写信号合起来通知8251A,当前读/写的是数据还是控制字、状态字;4)接受时钟信号CLK,完成8251A的内部定时;5)接受复位信号RESET,使8251A处于空闲状态。

 

5.16 什么叫异步工作方式?画出异步工作方式时8251ATxDRxD线上的数据格式。

解答 串行工作方式分为两种类型,一种叫同步方式,另一种叫异步方式。异步工作方式时,两个字符之间的传输间隔是任意的,所以,每个字符的前后都要用一些数位来作为分隔位。在采用异步工作方式时,非数据信息比例比较大,而且,信息有效率比同步方式低,在异步方式下,接收方的时钟频率和发送方的时钟频率不必完全一样,而只要比较像近,即不超过一定的允许范围就行了。异步方式时的数据格式图

 

5.17 什么叫同步工作方式?什么叫双同步字符方式?外同步和内同步有什么区别?画出双同步工作时8251ATxD线和RxD线上的数据格式。

解答 串行工作方式分为两种类型,一种叫同步方式,另一种叫异步方式。同步方式时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为信息帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步方式下,非数据信息比例比较小,要求进行信息传输的双方必须用同一个时钟进行协调,正是这个时钟确定了同步串行传输过程中每1位的位置,而且,在传输数据的同时,还必须传输时钟信号。双同步方式,就是要在测得输入移位寄存器的内容和第一个同步字符寄存器的内容相同后,再继续检测此后的输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同,如果不容同,则重新比较输入移位寄存器和第一个同步字符寄存器的内容,如果相同,则认为同步已经实现。外同步和内同步的区别:在外同步情况下,和内同步过程有所不同,因为这时是通过在同步输入端SYNDET加一个高电位爱实现同步的,SYNDET端一出现高电平,8251A就会立刻脱离对同步字符的搜索过程,只要此高电位维持一个接收时钟周期,8251A便认为已经完成同步。同步方式时的数据格式图

 

5.18 8251ACPU之间有哪些连接信号?其中C/DRDWR如何结合起来完成对命令、数据的写入和状态、数据的读出?

解答 8251ACPU之间的连接信号可以分为4类:

      1)片选信号:CS——片选信号CSCPU的地址信号通过译码后得到的。

      2)数据信号:D7-D0——8251A8根数据线D7-D0,通过它们,8251A与系统的数据总线相连。

      3)读/写控制信号:RD——读信号RD为低电平时,用来通知8251ACPU当前正在从8251A读取数据或则状态信息;

                    WR——写信号WR为低电平时,用来通知8251ACPU当前正在往8251A写入数据或则控制信息;

              C/D——控制/数据信号C/D 也是CPU送往8251A的信号,用来区分当前读/写的是数据还是控制信息或状态信息。

      4)收发联络信号:TxRDY——发送器准备好信号TxRDY用来告诉CPU8251A已经准备好一个字符。

TxE——发送器空信号TxE为高电平时有效,用来表示此时8251A发送器中并行到串行转换器空,它实际上指示一个发送动作的完成。

RxRDY——接受器准备好信号RxRDY用来表示当前8251A已经从外部设备或调制解调器接受到一个字符,正等待CPU取走

SYNDET——同步检测信号SYNDET只用于同步方式。

其中C/DRDWR结合起来完成对命令、数据的写入和状态、数据的读出:C/DWRRD3个信号和读/写操作之间的关系如图

C/DWRRD的编码和对应的操作

8251A只有两个连续的端口地址,数据输入端口和数据输出端口合用一个偶地址,而状态端口和控制端口合用一个奇地址。当C/D为低电平时,正好选中了偶地址端口,再与RDWR配合,便实现了数据的读/写,当A1为高电平时,正好选中了奇地址端口,再与RDWR配合,便实现了状态信息的读取和控制信息的写入。

 

5.19 8086/8088系统中,8251AC/D端应当和哪个信号相连,以便实现状态端口、数据端口、控制端口的读/写?

解答 8086/808系统中,8251AC/D端应与地址线A1相连接。在086/808系统中,利用地址线A1来区分奇地址端口和偶地址端口,于是,当A1为低电平时,C/D端也是低电平,正好选中了偶地址端口,再与RDWR配合,便实现了数据的读/写,当A1为高电平时,C/D端也是高电平,正好选中了奇地址端口,再与RDWR配合,便实现了状态信息的读取和控制信息的写入,这样,地址线A1的电平变化正好符合了8251AC/D端的信号要求。

 

5.20 8251A和外设之间有哪些连接信号?

解答 8251A与外部设备之间的连接信号分为两类,具体如下:

     1)收发联络信号:DTR--数据终端准备好信号是由DTR8251A送往外设的,CPU通过命令可以使DTR变为低电平即有效电平,从而通知外部设备,CPU当前已经准备就绪;DSR--数据终端准备好信号DTR是外设送往8251A的,低电平时有效,它用来表示当前外设已经准备好。当DSR端出现低电平时,会在8251A的状态寄存器第7位上反映出来,所以,CPU通过对状态寄存器的读取操作,便可以实现对DSR线号的检测。RTS--请求发送信号RTS8251A送往外设的,低电平有效,CPU可以通过编程命令使RTS变为有效电平,以表示CPU已经准备好发送。CTS--清除请求发送信号CTS是对RTS的响应信号,它是由外设送往8251A的,当CTS为低电平时,8251A才能执行发送操作。(2)数据信号:TxD--发送器数据信号端TxD用来输出数据。CPU送往8251A的并行数据被转变为串行数据后,通过TxD送往外设。RxD--接收器数据信号端RxD用来接收外设送来的串行数据,数据进入8251A后被转变为并行方式。

 

5.21 为什么8251A要提供DTRDSRRTSCTS四个信号作为和外设的联络信号?平常使用时是否可以只用其中两个或者全部不用?要特别注意什么?说明CTS端的连接方法。

解答 实际上,这4个信号是提供给cpu外设联络用的。我们知道,cpu和外设不能直接相连的,cpu对外设的控制信号和外设给cpu的状态信号都不能在cpu和外设间直接传输,只能通过接口传递,8251A正是通过这4个信号起联络作用的。其中DTRRTSCPU通过8251A送给外设的,CPU通过软件对控制寄存器中的DTRRTS位置1就可以使8251ADTR引腿和DTS引腿输出有效电平,所以,DTRDTS是对外设的控制信号,DSRCTS是外设通过8251A传递给的状态信号,当外设和端相连时,往此引脚上送一个低电平,就会影响状态寄存器的DSR位,而可通过软件对DSR位检测,CTS端的低电平为低还是为高则会影响端的电平,而正是8250A送给CPI的一个状态信号,所以,CTS也起到将外设状态通知的联络作用。平时使用时,可以只用其中两个或全部都不用。当外设不要求有联络信号时,只要将CTS接地即可;当外设只要一对联络信号时,可以选其中任一组,既可是DTRDSR,也可用RTSCTS,不过仍要满足使CTS在某个时候得到低电平;只有当某个外设要求的联络信号比较多时,才有必要将4个信号都用上。特别要注意的是CTS必须为低电平,其他三给信号的引腿可以悬空起来不用。这就是说,即使和外设间不需要任何传递信号,也要将CTS端接地使它处于有效电平。原因很简单,因为只有CTS当为低电平时,TRDY才能使为高电平,而只有当TRDY为高电平时,才能往8251A发送数据。

 

5.22 8086系统中采取什么措施来实现8位接口芯片和低8位数据线的连接且满足对奇/偶端口地址的读/写?这样做的道理是什么?

解答 将地址总线的最低位A0不连接到8251A这样的接口芯片上,而是将地址次地位A1做为地址最低位来用就行了。在这种情况下,如果CPU这边给出连续的两个偶地址,到8251A这边,由于地址次地位作为地址最低位来用,相当与将CPU给出的地址除以2,而两个连续的偶地址中,必定有一个能被4整除,另一个不能被4整除,于是,两个偶地址分别除以2后,就边成了一奇一偶两个地址。这样一来,从CPU这边来说,端口地址都是偶地址,所以,传递信息时,信息总是出现在低8位数据线上;而从端口这边来说,端口地址中既有奇地址,也有偶地址,而且是连续的,这正好满足许多接口芯片对端口地址的要求。

 

5.23 8251A进行编程时,必须遵守哪些约定?

解答 8251A进行编程时,必须遵守的约定主要有3个:
1.芯片复位以后,第一次使用奇地址端口写入的操作为模式字进入模式寄存器。
2.如果模式字中规定了8251A工作的同步模式,那么,CPU接着往奇地址端口输入一个或两个字节就是同步字符,同步字符被写入同步积存器。如果有两个同步字符,则会按先后分别写入第一个同步积存器和第二个同步积存器。
3.这之后,只要不是复位命令,不管是同步模式还是异步模式,由CPU用奇地址端口写入的值将作为控制字送控制积存器,而用偶地址端口写入的将作为数据送到数据输出缓冲积存器。

 

5.24 8251A的模式字格式如何?参照教材上给定格式编写如下模式字:异步方式,1个停止位,偶校验,7个数据位,波特率因子为16

解答 8251A进行初始化时,模式字是按照模式寄存器的格式来设置的,8251A工作在同步模式和异步模式两种情况下。当模式寄存器的最低两位为0时,8251A便进入同步模式 ,此时,最高位决定了同步字符的数目;如果模式寄存器的两个最低位不全为0,则8251A就进入异步模式。模式寄存器的格式如1-a,1-b图所示:按题意编写的模式字为:01111010

 

5.25 8251A控制字的格式如何?参照教材上列出的格式给出如下控制字:发送允许,接收允许,DTR端输出低电平,TxD端发送空白字符,RTS端输出低电平,内部不复位,出错标志复位。

解答 8251A进行初始化时,控制字是按照控制寄存器的格式写入的。控制寄存器的格式如P1475.13所示。按题意编写的控制字为:00111111

 

5.26 8251A状态字格式如何?哪几位和引腿信号有关?状态位TxRDY和引腿信号TxRDY 有何区别?它们在系统设计中有什么用处?

解答 状态字是放在状态寄存器中的,状态寄存器的格式如P1475.14所示:状态寄存器的126位分别与8251A引脚RxRDYTxESYNDET上的信号有关。状态位TxRDY和引脚信号TxRDY上的信号不同,状态位TxRDY不受输出信号CTS和控制位TxEN的影响。而引脚TxRDY必须在数据缓冲区为空,CTS为低电平且TxEN为高电平时,才为1,即TxRDY1的条件:数据缓冲区空*CTS*TxEN=1。状态位RxRDY1指出接口中已经接受到一个字符,当前正准备好输入到CPU。不管是TxRDY还是RxRDY状态位,都可以在程序设计时加以使用,来实现对8251A数据发送过程和接受过程的测试。当然,也可以对引脚TxRDYRxRDY上的信号加以利用,实际使用中,这两个信号常常作为外设对CPU的中断请求信号。当CPU8251A输出一个字符以后,状态位TxRDY会自动清零,与此类似的,当CPU8251A输入一个字符时,状态位RxRDY会自动清零。

5.27 参考初始化流程,用程序段对8251A进行同步模式设置。奇地址端口地址为66H,规定用内同步方式,同步字符为2个,用奇校验,7个数据位。

解答 INIT: XOR AX ,AX
MOV CX ,0003
MOV DX ,66H
OUT1: CALL KKK
LOOP OUT1
MOV AL ,40H
CALL KKK
MOV AL ,18H ;命令方式字 00011000B =18H
CALL KKK
MOV AL ,27H
CALL KKK 
……
KKK: OUT DX ,AL
PUSH CX
MOV CX ,0002
ABC: LOOP ABC
POP CX
RET

 

5.28 设计一个采用异步通信方式输出字符的程序段,规定波特率因子为647个数据位,1个停止位,用偶校验,端口地址为40H42H,缓冲区首址为2000H:3000H

解答 STATE: MOV AL ,7BH ;命令方式字 01111011B = 7BH
OUT DX ,AL
MOV CX ,2DH
MOV SI ,3000H
MOV DX ,40H
CHAROUT: MOV DX ,42H
IN SL ,DX
TEST AL,01
JZ CHAROUT
MOV AL ,[SI]
OUT DX ,AL
INC SI
DEC CX
JNZ CHAROUT
MOV AX ,4COOH
INT 21H 

 

5.29 并行通信和串行通信各有什么优缺点?

解答 并行通信就是把一个字符的各数位用几条线同时进行传输。优点:与串行通信相比,在同样的传输率下,并行通信的信息实际传输速度快,信息率高。缺点:并行通信的高速度是以通信线路复杂且成本高为代价,当通信距离较远,位数又多时更是如此。串行通信就是指通信的发送方和接收方之间的数据在单根通信线上逐位顺序传送。优点:线路简单(只需一对传输线),特别是可以利用已有的电话网,在任何两点通电话的设备之间配置适当的通信接口便可实现计算机之间的远程通信。缺点:传输速度比并行通信慢得多。

 

5.30 在输入过程和输出过程中,并行接口分别起什么作用?

解答 在输入过程中,外设将数据送给接口,并且使状态线"数据输入准备好"成为高电平。接口在把数据接收到输入缓冲寄存器中的同时,使"数据输入回答"线变为高电平,作为对外设的响应。外设接到这个回答信号后,就撤除数据和"数据输入准备好"信号。数据到达接口中后,接口会在状态寄存器中设置"输入准备好"状态位,以便CPU对其进行查询,接口也可以在此时向CPU发一个中断请求。所以,CPU既可以用软件查询的方式,也可以用中断方式来设法读取接口中的数据。CPU从并行接口中读取数据后,接口会自动清除状态寄存器中的"输入准备好"状态位,并且使数据总线高阻状态。此后,又可以开始下一个输入过程。
  在输出过程中,每当外设从接口取走一个数据之后,接口就会将状态寄存器中的"输出准备好"状态位置"",以表示CPU当前可以往接口中输出数据,这个状态位可供CPU进行查询。此时,接口也可以向CPU发送一个中断请求。所以,CPU即可以用软件查询的方式,也可以用中断方式设法往接口中输出一个数据。当CPU输出的数据到达接口的输出缓冲寄存器中后,借口会自动清除"输出准备好"状态位,并且将数据送往外设,与此同时,借口望外设发送一个"数据输出回答"信号。接口收到此信号后,会将寄存器中的"输出准备好"状态位重新置"",以便CPU输出下一个数据。

 

5.31 8255A3个端口在使用时有什么差别?

解答 (1) 端口A对应1个8位数据输入锁存器和1个8位数据输出锁存器/缓冲器。所以,用端口A作为输入或输出时,数据均受到锁存。(2) 端口B对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。(3) 端口C对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。这样,当端口C作为输入端口时,对数据不做锁存,而作为输出端口是,对数据进行锁存。在使用中,端口A和端口B常常作为独立的输入端口或输出端口,端口C则配合端口A和端口B的工作。具体的讲,端口C常常通过控制命令被分成2个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,它们分别用来位端口A和端口B提供控制信号和状态信号。

 

5.32 当数据从8255A的端口C往数据总路线上读出时,8255A的几个控制信号CSA1A0RDWR分别是什么?

解答 CS 0A1 1A0 0RD 1 WR 0

5.33 8255A的方式选择控制字和置1/0控制字都是写入控制端口的,那么,它们是由什么来区分的?

解答 8255A接收到写入控制口的控制字时,就会对最高位即标志位进行测试。如为1,则将此字节作为方式选择控制字写入控制寄存器;如为0,则此字节作为对端口C的置1/0控制来处理。

 

5.34 8255A有哪几中工作方式?对这些工作方式有什么规定?

解答 8255A有三种工作方式:它们分别是:方式0,方式1,方式21、方式0的工作特点为:(1)任何一个端口可作为输入口,也可作为输出口,各端口之间没有规定必然的联系。(2)各个端口的输入输出,可以有16种不同的组合,所以可以适用于多种使用场合。对方式0工作方式的规定如下:只能在同步传输和查询式传输中使用。2、方式1的工作特点:(1)端口A和端口B可分别作为两个数据口工作在方式1,并且,任何一个端口可作为输入口或输出口。(2)如果8225A的端口A和端口B中只有一个端口工作在方式1,那么,端口C中就有3位被规定为配合方式1工作信号,此时,另一个端口可以工作在方式0,端口C中其他数位也可以工作在方式0,即作为输入或输出。对方式1的规定如下:在方式1下,规定一个端口作为输入口或者输出口的同时,自动规定了有关的控制信号和状态信号,尤其是规定了相应的中断请求信号。这样在许多采用中断方式进行输入/输出的场合,如果外部设备能为8255A提供选通信号或者数据接收应答信号,那么,常常使8255A的端口工作于方式1情况。3、方式2的工作特点:(1)方式2只适用于端口A。(2)端口A工作于方式2时,端口C5个数位自动配合端口A提供控制信号和状态信号。对方式2的规定如下:方式2是一种双向工作方式,如果一个并行外部设备即可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行,那么,将这个外设和8255A的端口A相连,并使它工作在方式2,就会非常合适。

 

5.35 8255A设置工作方式,8255A的控制口地址为00C6H。要求端口A工作在方式1,输入;端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。

解答 

Mov AL ,B1H

MOV DX ,00C6H

OUT DX ,AL

 

5.36 8255A4个端口地址为00C0H00C2H00C4H00C6H,要求用置0/1方式对PC61,对PC40

解答 MOV AL00H   ;对PC61的控制字

       MOV DX00CCH ;控制地址DX

       OUT DXAL    ;对PC61操作

       MOV AL08H   ;对PC40的控制字

       OUT DXAL

 

5.37 8255A在方式0时,如进行读操作,CPU8255A分别要发什么信号?对这引起信号有什么要求?据此画出8255A方式0的输入时序。

解答 CPU发出地址信号,经过TAR时间,便发出读信号RD。下面为图形:

 

5.38 8255A在方式0时,如进行写操作,CPU8255A分别要发什么信号?画出这些信号之间的时序关系。

解答 地址信号和片选信号。下面为图形:

 

5.39 8255A的方式0一般使用在什么场合?在方式0时,如要使用应答信号进行联络,应该怎么办?

解答 方式0的使用场合有两种,一种是同步传送,另一种是查询式传送。在方式0情况下,没有规定固定的应答信号,所以,这时,将端口A端口B作为数据端口,把端口C4个数位(高4位或者是低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态。就是这样,利用端口C来配合端口A和端口B的输入/输出操作。

 

5.40 8255A的方式1有什么特点?参考教材中的说明,用控制字设定8255AA口工作于方式1,并作为输入口;B口工作于方式1,半作为输入口,用文字说明各个控制信号和时序关系。假定8255A的端口地址为00C0H00C2H00C4H00C6H

解答 方式1有如下特点:(1)端口A和端口B可分别作为两个数据口工作在方式1,并且,任何一个端口可作为输入口或者输出口。(2)如果8255A的端口A和端口B中只有一个端口工作于方式1,那么,端口C中就有3位被规定为配合方式1工作的信号,此时,另外一个端口可以工作在方式0,端口C中的其它数位也可以工作在方式0,即作为输入或者输出。(3)如果8255A的端口A和端口B都工作在方式1,那么,端口C中就有6位被规定为配合方式1工作的信号,剩下的2位,仍可作为输入或输出。

MOV ALC6H

MOV DX00C6H

OUT DXAX

 各个信号说明如下:

(1)/STB:这是选通信号输入端,低电平有效。它是由外设送往8255A的,当/STB有效时,8255A接收外设送来的一个8位数据,从而8255A的输入缓冲器中得到一个新的数据。

(2)IBF:这叫缓冲器满信号,高电平有效。它是8255A输出的状态信号,当它有效时,表示当前已有一个新的数据在输入缓冲器,此信号一般供CPU查询用。IBF信号是由/STB信号使其置位的。而由读信号/RD的后沿即上升沿使其复位。

(3)INTR:它是8255A送往CPU的中断请求信号,高电平有效。INTR端在STB、IBF均为高电平时被置为高电平,也就是说,当选通信号结束、从而已将一个数据送进输入缓冲器中,并且输入缓冲器满信号已为高电平时,8255A会向CPU发出中断请求信号,即将INTR端置为高电平。在CPU响应中断读取输入缓冲器中的数据时,由读信号/RD的下降沿将INTR降为低电平。

(4)INTE:这叫中断允许信号,实际上,它就是控制中断允许或中断屏蔽的信号。INTE没有外部引出端,它是由软件通过对C端口的置1指令或置0指令来实现对中断的控制的。具体讲,对PC41,则0使A端口处于吕断允许状态;对PC40,则使A端口处于中断屏蔽状态。

时序关系:

   当来自外设的输入数据出现之后,选通信号接着就来到,选通信号的宽度至少要求为500秒。经过Tstb时间后,输入缓冲器满信号IBF<1>有效,此信号可供CPU查询,这为CPU工作在查询方式下输入数据提供了条件。8255A在选通信号结束以后,经过Tstb时间,便发出中断请求信号INTR<2>,这样,为CPU工作在中断方式下输入数据提供了条件。不管CPU是用查询方式还是中断方式,每当从8255A读入数据时,都会发出读信号/RD。如果工作在中断方式,那么,当读信号/RD有效以后,经过Trit时间,就将中断请求信号清除<3>/RD信号结束之后,数据已经读到CPU的寄存器中,经过Tsib时间,输入缓冲器满信号IBF变低<4>,从而可以开始下一个数据输入过程。

 

5.41 8255A的方式2用在什么场合?说明端口A工作于方式2时各信号之间的时序关系。

解答 方式2是一种双向工作方式,如果一个并行外部设备既可以作为输入设备,又可以作为输出设备,并且输入输出动作不会同时进行,那么,将这个外设和8255A的端口A相连,并使它工作在方式2,就会非常合适。时序关系:(1)对输入过程,当CPU响应中断,并用输出指令往8255A端口中写入一个数据时,会发出写脉冲信号/D/D信号一方面使中断请求信号INTR变低<1>,另一方面使输出缓冲器满信号/OFa变低<2>/OPFa信号送往外设,外设得到此信号后,发出/ACK4信号<3>./ACK4使8255A的输出锁存器打开,从而数据便出现在8255A与外设之间的数据连线上<4>,,/ACK4信号也使输出缓冲器满信号/OBFa变为高电平<5>,从而可以开始下一个数据传输进程,此传输进程可能仍是一个输出进程,也可能是一个输入进程。(2)对输出过程,当外设往8255A送来数据时<6>,选通信号/STBa也一起来到,选通信号将数据锁存到8255A的输入锁存器,从而使输入缓冲器满信号IBFa成为高电平<>,选通信号结束时,使中断请求信号为高<8>.当CPU响应中断进行读操作时,会发出信 号/RD/RD信号有效后,将数据从8255A读到CPU中,于是,输入缓冲器满信号IBFa又成为低电平<9>,且中断请求信号变为低电平。

 

5.42 在并行接口中为什么要对输入/输出(特别是输出)数据进行锁存?在什么情况下可以不锁存?

解答 因为在并行接口中,数据同时在几条线上进行传输,在输入和输出的过程中,外设和接口之间需要互相通信息,当输入设备送来信息时,接口要将其放入缓冲器,再将其转化为CPU能接收的格式。而当CPU送出数据时,接口也要将其送入缓冲器中,再将其转化为外部设备所需要的信息格式,因此在这些过程中,需要对数据进行锁存.当发生中断请求时,可以不锁存数据。

 

5.43 并行接口电路中为什么要寄存外设的状态?你能举出两个例子说明寄存状态的必要性吗?

解答 在并行接口电路中,外设将数据送给接口,并且使状态线数据输入准备好成为高电平。接口在把数据收到输入缓冲寄存器中的同时,使数据输入回答线变为高电平,作为对外设的响应。外设接到这个回答后,就撤除数据和数据输入准备好信号。数据到达接口中时,接口会在状态寄存器中设置输入准备好状态位,以便CPU对其进行查询,接口也可以在此时向CPU发一个中断请求。同样在输出的过程中,也要用到这些信号。所以说要寄存这些外设的状态,而使CPU和外设能互相通信而协调工作。例如:一个即连接纸带读入机,又连接纸带穿孔机的接口应用两个分开的通路,一个作为输入通路,一个作为输出通路,但输入动作和输出动作并不是同时进行的,那么就需要寄存外设的状态。

 

5.44 根据PC总线的特点,给一个并行接口设计一个译码器,并行口占用的I/O端口地址为4F04F3H

解答 地址线的A1A2直接接入并行接口芯片内作片内寻址4个端口地址,其余地址线译码后选04F0H作并行芯片的片选信号。

                                                           

 

5.45 请用8212设计一个无条件传送的输出接口,要求它的输出控制八个LED(发光二极管),使按照输出数据点亮各LED(注:发光二极管的阳极接+V,阴极接地,则亮;若两级同电位,则不亮)

 

5.46 74LS244也可以用简单的并行接口电路,请查手册找出该芯片的引脚结构,然后完成上题提出的任务。请问,与8212相比接口有何区别?

 

5.47 8255A的方式0和方式1在功能上有什么区别?在什么情况下使用方式1

 

5.48 试说明方式1输出时的工作过程。

 

5.49 假定8255A的地址为1F01F3HA口用作方式1输入,请对它作初始化的编程。

 

5.50 利用8255A检测外部八个开关量的情况,根据开关量输出两个独立的控制信号,请设计基本的逻辑电路,并对8255A进行初始化编程。

 

5.51 试用8255A设计一个并行接口,实现主机与打印机的连接,打印机读入数据时需要有一个DS信号选通,接收了一个信号给出一个ACK回答。设并行口地址为1C01C3H

 

5.52 请说明串行传输的主要特点,并说明串行传输与并行传输各适合在什么场合下使用。

 

5.53 什么是双工,半双工和单工通信方式?举你熟悉的通信例子说明属于何种方式。

 

5.54 一个数据传输系统由哪几部分组成?每一部分各起什么作用?

 

5.55 异步传输的基本特征是什么?保证它正确传输的条件是什么?

 

5.56 利用一个异步传输系统传送文字资料,系统的速率为1200波特,待传送的资料为5000个汉字长,设系统不用校验位,停止位只用一位,问至少需要多少时间才能传完全部资料?

 

5.57 如果上题中的传输用同步方式进行,双方约定每块传送1KB,至少要多少时间才能传完?

 

5.58 异步传输时,发送方的速率为300波特,而接收方速率却为600波特,这种条件下能正常通信吗?为什么?

 

5.59 根据你对同步通信的理解,实现这种通信的基本问题是什么?

 

5.60 画一个同步码检测电路,说明它的检测过程。如果同步码共有两个字节,且并不相同,应如何实现检测?

 

5.61 在数据传输中为什么要用MODEM?试画一个FSK的波形,说明调制和解调的原理。

 

5.62 RS-232-C标准的接口电平与逻辑状态有什么关系?如何实现?

 

5.63 8251A编程时,应遵循什么次序?

 

5.64 模仿个人计算机的异步通信适配器,将8250改由8251A实现,凡8251A中缺少的信号,均设计外部电路实现。请画出一个原理图。

 

5.65 试对一个8251A进行初始化编程,使它在异步方式下工作,用偶校验且指定一位停止位

 6.25 概述怎样用软件方法和硬件方法来进行定时。

解答: 用软件方法定时,一般都是根据所需要的时间常数来设计一个延迟子程序,延迟子程序中包含一定的指令,设计者要对这些指令的执行时间进行严密的计算或者精确的测试,以便确定延迟时间的否符合要求。用硬件方法定时,就要用到计数器/定时器。在简单的软件控制下,产生准确的时间延迟,这种方法的主要思想是根据需要的定时时间,用指令对计数器/定时器设置定时常数,并用指令启动计数器/定时器,于是计数器/定时器开始计数,计到确定值时,便自动产生一个定时输出,在计数器/定时器开始工作以后,CPU就不必去管它,而可以去做别的工作。

 

6.26 8253计数器/定时器中,时钟信号CLK和门脉冲信号GATE分别起什么作用?

解答: 时钟信号CLK决定计数速率,门脉冲信号GATE是时钟的控制信号。

 

6.29 编程将8253计数器0设置为模式1,计数初值为3000H;计数器1设置为模式2,计数初值为2010H;计数器2设置为模式4,计数初值为4030H;计数器3设置为模式3,计数初值为5060H

6.37 下面是一个8253的初始化程序段。8259的控制口地址为46H3个计数器端口地址分别为40H42H,44H。在8259初始化前,先将8259A的所有中断进行屏蔽,8259A的奇地址端口为81H。请对下面程序段加详细注释,并以十进制数表示出各计数器初值。
INI:    CLI
        MOV AL, 0FFH
        OUT 81H, AL
        MOV AL, 36H
        OUT 46H, AL
        MOV AL, 0
        OUT 40H, AL
        MOV AL, 40H
        OUT 40H, AL
        MOV AL, 54H
        OUT 46H, AL
        MOV AL, 18H
        OUT 42H, AL
        MOV AL, 0A6H
        OUT 46H, AL
        MOV AL, 46H
        OUT 44H, AL
        MOV AL, 80H
        OUT 44H, AL

 

6.38 下面是一个用8253作为定时器的发音程序,程序中已经加了部分注释。请对8259的有关程序段加上注释,并画出整个程序的流程图。8253的控制口地址为46H3个计数器端口地40H42H44H8255AB端口接扬声器驱动电路,B端口的地址为61H
SOUND:  PUSHF
        CLI
        OR   DH, DH ; DH中为发长音的个数
        JZ   K3     ; 如不发长音,则转k3
K1:     MOV  BL, 6  ; 如发长音,则置长音计数器
        CALL BEEL   ; 调用发音程序
K2:     LOOP K2     ; 发音之间留一点间隙
        DEC  DH     ; 长音发完否
        JNZ  K1     ; 否,则继续
K3:     MOV  BL, 1  ; 如发完长音,则置短音计数器
        CALL BEEL   ; 调用发音程序
K4:     LOOP K4     ; 发音之间留一点间隙
        DEC  DL     ; 继续发短音吗
        JNZ  K3     ; 是,则继续
K5:     LOOP K5     ; 否,则留一个间隙
        POPF        ; 标志恢复
        RET         ; 返回
BEEL:   MOV  AL, B6H
        OUT  46H, AL
        MOV  AX, 533H
        OUT  44H, AL
        MOV  AL, AH
        OUT  44H, AL
        IN   AL, 61H ;取扬声器驱动信息
        MOV  AH, AL
        OR   AH, 03  ; 接通扬声器
        OUT  61H, AL ; 扬声器驱动
        SUB  CX, CX  ; 一次发音时间定时
K7:     LOOP K7
        DEC  BL      ; BL中为发音计数值
        JNZ  K7      ; 如未结束则继续发音
        MOV  AL, AH  ; 如发音结束,则恢复B端口信息
        OUT  61H, AL
        RET 

解答:                                     

本文来源:https://www.2haoxitong.net/k/doc/4a35fcdf0129bd64783e0912a216147916117e35.html

《微机原理复习思考题串并行通信和接口技术.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式