第七章 输入/输出系统 (Pro)

您所在的位置:网站首页 主机和外设之间数据交换方式有哪几种 第七章 输入/输出系统 (Pro)

第七章 输入/输出系统 (Pro)

2024-04-14 02:30| 来源: 网络整理| 查看: 265

bkou考点1        输入输出接口的结构和功能

                         掌握接口的概念,结构及功能

接口:连接两个部件的地方,连接CPU,连接外设的地方

8088CPU    数据线  8位                       A0~A19         连接 接口的话只能是 A0~A15

8086           数据线  也用的是 8位

82  53   59   51  } 8位数据缓冲器     如果 8253计数初值 是字的话  就传送俩次 

控制线没什么区别

接口连外设时:数据信息   控制信息   状态信息

1/0接口:系统与外设间、逻辑电路(适配器)

1/0端口:1/0地址,

                数据端口、状态端口和控制端口

1. 简述1/O接口的基本功能是什么?接口内部一般由哪些寄存器组成?

答: (1) 1/0接口的基本功能:

        ① 数据的寄存和缓冲功能,协调快速CPU与慢速的外设之间数据传送的矛盾和时序差异;

        ②信息格式的转换,例如串行和并行的转换;

        ③ 协调CPU和外设在信息的类型和电平高低方面的差异,如数/模或模/数转等;

        ④采集外设的信息传送给CPU,接收CPU发出的控制命令及启动外设工作。

        ⑤定时、地址译码和设备选择,识别访问的外设;

(2)包括数据寄存器、控制寄存器、状态寄存器。

2.CPU与外设间通信为什么需要设置接口电路?

答:CPU与外设间设置接口电路的原因主要有四个方面:

        ① CPU与外设二者的信号不兼容,包括信号线的功能定义、逻辑定义和时序关系。

        ② CPU与外设的速度不匹配,CPU的速度快,外设的速度慢。

      

          ③ 若不通过接口,而由CPU置接对外设的操作实施控制,会使CPU处于穷于应付在行交道之中,大大降低CPU的效率。

        ④ 若外设直接由CPU控制,会使外设的硬件结构依赖于CPU,对外设的发展不利。

通常,在1/0接口自身都有定时控制逻辑,其原因是它与主机交换信息时存在()。

        A.数据需要缓冲             B.速度不匹配        C时序不同步        D.数据格式需转换

8086CPU系统外设有——————个地址。

1/0设备的端口包括______\_______和状态端口三种端口。

什么是1/0接口?什么是端口?1/0接口的有哪些功能?答题要点:

(1)I0接口:主机和外设之间的交接界面(中间部件) ,通过接口可以实现主机和外设之间的信息交换。

(2)IO端口:接口电路中可被CPU直接访问的寄存器(触发器)。

(3)地址译码、数据缓冲、电平转换、格式转换、逻辑控制。

考点2        I/0指令格式、寻址及应用

        1.I/O端口的编址

                ·88/86用于寻址外设端口的地址线为16条

                端口最多2^16=65536(64KB)个,

                端口号为0000H ~ FFFFH

                两种编址:独立编址      88/86

                                   统一编址        

1.独立编址(专用的I/0端口编址) :

        存储器和I/O端口在两个独立的地址空间中。

 (1)优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计。

 (2)缺点:需要有专用的I/O指令(IN/OUT) ,程序设计的灵活性较差。

2.统一编址(I/O端口与存储器统一编址、存储器映像编址):

        把I/O接口中可以访问的端口作为存储器的一个存储单元,统一纳入存储器地址空间,为每一个端口分配一个存储器地址, CPU可以用访问存储器的方式来访问I/O端口。

优点:不用专门设置访问端口的指令,访问存储器的指令都可以用于访问端口。

缺点:由于端口占用了存储器的一部分存储空间,使得存储器的实际存储空间减少;程序I/O操作不清晰,难以区分程序中的I/O操作和存储器操作。在单片机系统中,多数采用这种编址方法。

在8088/8086中,外设与内存独立编址方式中,用于外设的指令功能( B)。

A.较强

B.较弱                        //    IN or  OUT

c.与用于内存的指令相同

D.以上都不是

1/0设备地址的编址方法有________和________两种。

        2.1/0端口寻址方式

                        直接地址:

                                       只寻址00H~FFH 前256个端口

                        间接地址:

                                       可寻址全部64K个端口: 000OH ~FFFFH

                                       DX寄存器的值存放端口号;

                                        0100H-FFFFH的端口只能采用间接寻址方式。

从65H端口,取一个数M

IN        AL,75H MOV        M,AL                   送  67H端口

        OUT        73H,AL

直接寻址

间接寻址 

        MOV  DX,71H

3.指令格式及寻址

        IN   AX/AL,{PORT/口地址

                             DX}

        OUT  {PORT口地址,AX/AL

                             DX }

                                             存储器的间接寻址 BXBPSIDI

下列四个寄存器中,用来作为1/0端口间接寻址的寄存器是()

        A. BX B. DX C. BP   D.、DI

. IN BL,30H将30H端口数据传送到BL寄存器上。(判断)

       AX/AL

例1:从内存buf单元取一个字节送280H端口

例2:从内存BUF单元取一个字送280H端口

例3:从内存BUF单元取一个字送80H端口

例4: 两种方法写出从80H端口读入一个字节的指令,

考点3        传送控制方式

             1查询传输控制方式

                         无条件

  程序传送{        条件/查询中断

                          中断

硬件                        不需要CPU介入

        DMA传送{        DMAC。823芯片

在一个采用查询方式输入数据的

1/0接口中,八位数据端口地址为

2000H,一位状态端口地址为2002H

(外设数据准备好信号高电平有效,接至数据总线的D7位)。

        写出查询输入1000字节数据存放

到内存以BUF为首地址的缓冲器的

程序段。

特点: 优             缺

WAIT:IN        AL, 70H

         TEST        AL, 02H

        JZ        WAIT

        MOV         AL, OFH

        OUT        71H, AL

①上述程序采用了——————传送方式进行数据输出。②70H是端口,71H是端口。

2. 中断传输控制方式

        多个外设随机向CPU请求,

        提高 CPU的利用率,

        提高系统的 性,

        CPU与外设能协调、并行工作

        需要中断控制器8259芯片

        适合少量数据、中慢速外设的数据传送,如键盘、鼠标。

 简述CPU与外部设备采用中断控制方式传输数据的过程。

(1)当外部设备需要与CPU进行数据交换时,由接口部件

(8259)发出一个中断请求信号,

(2) CPU响应中断请求,在中断服务程序中完成一个字节或一个字的数据传输。

(3)数据传输完成后, CPU返回原程序。

(4) CPU每执行一次中断传送数据,要打断原来执行的程序去执行中断传输的服务程序。

(5)执行前要保护PSW和断点,返回时要恢复断点和PSW。

3. DMA传输控制方式

        克服程序控制传送的不足{程序传送  无条件 ,查询,中断}

                外设→CPU→存储器

                外设←CPU——存储器

        直接存储器存取DMA:

                外设→存储器

                外设←存储器

        DMA传送中,CPU释放总线,

        由DMA控制器(8237)管理总线

        进行传送。

 DMA传送过程:(7.2节)

① 外设发出请求;

②DMAC向CPU申请总线;

③CPU完成当前总线周期后响应,并释放总线控制权;

④DMAC得到总线控制权,并发出DMA响应信号;

⑤DMAC发出各种控制信号,控制外设与存储器之间的数据传送;

⑥数据传送完后,DMAC撤销HOLD信号;

⑦CPU释放HLDA信号,并重新控制总线。

例:1. 在DMA方式下,外设数据输入到内存的路径是()。 

        A.CPU x →存储器

        B.外设→数据总线→存储器

        C.外设→CPU x→DMAC→内存

        D.外设→DMAC{8237}→内存

2. CPU对DMA控制器提出的总线请求响应要比中断请Ο求的响应快,其原因是()。 {hold要比INTA的响应快}  {中断响应 是在指令周期后}{软件慢灵活  硬件快不灵活}

        A. 只需完成访问内存操作

        B. 只需释放总线控制权

        C. 无需保留断点现场

        D.有硬件DMA控制器

                                                                总结:传送方式的比较

无条件传送:慢速外设,与CPU保持同步。

查询传送:简单,CPU效率较低。

中断传送:外设主动、实时性高,与CPU并行工作,CPU效率高,但每次传送需要大量额外时间开销,适于中慢速外设。

DMA传送:传送过程中由专门硬件DMAC控制,不需要CPU介入,外设直接和主存进行数据传送,适合大量、快速数据传送。

ZOP传送;快,独立有自己指令系统总线

简述中新传送方式和DMA传送方式相比有什么不同。

①中断方式通过程序实现数据传送,

        而DMA方式不使用程序直接靠硬件来实现,信息传送速度快。

②CPU对中断的响应是在执行完一条指令之后,

        而对DMA的响应则可以在指令执行过程中的任何总线周期之后请求响应快。

③中断方式必须切换程序,要进行CPU现场的保护和恢复操作。

        DMA仅挪用了一个存储周期,不改变CPU现场,额外花销小。

④DMA请求的优先权比中断请求高。

        CPU优先响应DMA请求,是为了避免DMA所连接的高速外设丢失数据。

⑤ 中断方式不仅具有1/0数据传送能力,而且还能处理异常事件,

        DMA只能进行1/O数据传送。

        总而言之,在进行1/O控制时,DMA控制方式比程序中断控制方式速度快,但程序中断控制方式的应用范围比DMA控制方式广。

{周期挪用,周期扩展,周期停机}

DMA方式与中断方式的区别在于:

(1) DMA方式是依靠硬件来实现存储器和外设之间的数据传送;

        而中断方式是通过执行中断服务程序来实现数据传送。

(2) CPU对DMA的响应在指令执行的总线周期之后;

        而CPU对中断的响应则是在执行完一条指令之后。

(3) DMA方式只能进行数据传送。

        而中断方式不仅能进行数据传送,还能处理异常事件。

(4) DMA请求的优先权比中断请求高。

(5) DMA方式能进行数据块的传送,传输速度快;

        而中断方式只能按字节进行传送,传输速度较慢。

简述主机与外设数据交换的方式及特点

答:主机与外设进行数据交换的常用方式有:

无条件传送方式、程序查询方式、中断方式和DMA传送。(2分)

中断方式:外设在准备就绪的条件下通过请求引脚信号,主动向处理器提出交换数据的请求。处理器无其他更紧迫任务,则执行中断服务程序完成一次数据传送。(2分)

DMA传送:DMA控制器可接管总线,作为总线的主控设备,通过系统总线来控制存储器和外设直接进行数据交换。此种方式适用于需要大量数据高速传送的场合。(2分)

21:CPU与外设采用条件传送方式时,必须要有()。

        A.中断逻辑B.请求信号c.状态端口D.类型号

简述CPU和外设之间的数据传送方式有哪几种?分别用什么方法启动数据传输过程。

答题要点:

(1)有以下三种方式:程序控制方式、中断方式{子程序}、DMA方式 。其中程序控制方式又可分为无条件传送方式和条件传送(查询)方式{主程序}两种方式。

(2)无条件传送方式CPU发出命令,不需要判断外设状态,可以直接进行数据传输;

    在查询方式下,是通过程序来检测接口中状态寄存器中的"准备好" (READY)位,以确定当前是否可以进行数据传输的;在中断方式下,当接口中已经有数据要往CPU输入或者准备好接收数据时,接口会向CPU发一个外部中断请求,CPU在得到中断请求后,如果响应中断,便通过运行中断处理程序来实现输入/输出;在DMA方式下,外设要求传输数据时,接口会向DMA控制器发DMA请求信号,DMA控制器转而往CPU发送一个总线请求信号,以请求得到总线控制权,如果得到DMA允许,那么,就可以在没有CPU参预的情况下实现DMA传输。

简述CPU和外设之间的数据传送方式有哪几种? 分别用什么方法启动数据传输过程。        

        无条件

        条件        程序  IN  OUT

        中断   

        DMA:硬件        8237        总线请求

        IOP:        8089,协  输入/输出    传送        } 硬件

考点4        并行和串行通信的特点和类型

                1.概念特点:

                        (1)数据的并行传送方式是以字节或字为单位传送,数据的串行传送方式是以位为

                            单位传送。

                        (2) 串行通信协议分为异步通信和同步通信。

                       (3)异步串行通信的数据帧的格式:                                 传送数据的基本单位是字符,最优先传送的是1位起始位,低电平信号,随后

                                5-8位数据位,奇偶校验位,最后1-2位高电平的停止位。

                        (4)并行{主板上的}通信通常用在传输距离近、数据率高的场合。

                        (5)异步串行通信的数据传输率:

                ①波特率: 一般用于描述串行通信的速率的指标,

                        每秒能传输的数据的二进制位数。

                        单位:波特 或 bit/s

                        串行异步通信中,收发双方的波特率必须相同。

                        只有波特率一致的情况下才能保证接收方和发送方获取同样的数据。

                ②波特因子:

                        接收器或发送器的频率/数据传输的波特率在

                        8251{可编程串行接口芯片}芯片中有三种1,16,64

                                                f发/收

                            因子=       _______                    

                                               f波特率       

发收  除  因子   =波特率                    

                        通信双方必须预先约定比特率、数据位数、是否带奇偶校验位及校验模式、停止位个数等(帧格式相同)。    

                                http        ftp      

8251A用作异步串行通讯接口,如果设定波特因子为16,而,发送器与接收器时钟频率为19200HZ,则波特率为( )。

19200/16=1200

A. 1200波特B. 2400波特C.9600波特D. 19200波特

写出串行异步通讯方式时的数据帧格式。如果用9600波特率传送一个7位的ASCII码字符,并带有一位奇偶校验位和两位停止位,请给出该字符的传送速率。

1帧:        

        1位起始位,5~8数据位,1位奇偶校验位,1到2位停止位

2 字符(帧)=1+7+1+2=11位

        9600是传输率     9600/11=873字符/秒

需要长距离传输数据时,一般采用()方式,因为节省数据信号线条数少

A.并行B.串行 C.同步D. 异步

·异步串行通信数据帧的格式是怎样的?什么是波特率?

异步串行通信收发双方的波特率必须相同。

通信双方必须预先约定比特率、数据位数、是否带奇偶校验位及校验模式、停止位个数等(帧格式相同)。

只有波特率一致的情况下才能保证接收方和发送方获取同样的数据。

一个异步串行通信接口,发送一帧数据的字符格式如图所示,如果线路上传送的字符格式包括7位ASC1码,1位奇偶校验位,1位停止位。则该帧字符所传送的7位二进制数据值是__0111001B___,采用的是___16.6ms_____校验。如果波特率为600bps ,计算传送该帧数据需要的时间是_________

串行异步通信的实现,必须作到()

A.通信双方有同步时钟的传送,以实现同步

B.一块数据传送结束时,用循环冗余校验码进行校验   {采用奇偶校验循环法}{CRC循环冗余校验}{海明校验}

C.以字符为传送信息的单位,按约定添加起始位、停止位和校验位

D.块与块间用同步字符01111110隔开

考点5        并行接口芯片8255的结构、功能和应用

        1.8255的结构

 A口  8位 B口        8位

C口的         8位分成两半    C口的高4  和低4

三个端口是用与数据传输的口       A口B口    C口主要是联络口        当C是0的时候 C口也当做数据口

外设键盘  把数据 通过A口送到 8255  8255数据总线缓冲器,再把接收到的数据  送给CPU

{8255数据总线缓冲器 是一个 8位的}

8255的引脚和结构 连接CPU的一个是8位的数据线     读写号线    8255上 有 两根地址线{片内地址线}

8255有4个端口地址        但是它有3个8位的数据的端口   有4个端口地址不一样

加上复位  和片选信号端  低电平有效 

结构内部        包括AB组控制        包括 数据总线缓冲期  ,在接口上有缓冲功能,控制功能,译码功能,有锁存,速度匹配等功能

右边四个,有联络的功能

 2.8255的结构、特点

3个8位端口:

3种工作方式:    0   1    2   

2位地址线:     A1    A0 

4个端口地址:    00   01 10  11

2个控制字:      

                        方式控制字:

                        C口的按位置位/复位字:

3.3种工作方式         方式0:基本输入输出方式     {没用C口做联络口}

                适用于 无条件传送和查询方式{用C口做联络  但是不是固定的联络口}的接口电路

        方式1:选通输入输出方式 

                  适用于        查询和中断方式{用固定的位}用到{C口用C口做联络口}的接口电路

        方式2:双向选通传送方式

                  适用于           查询和中断方式的接口电路     

          方式0:基本1/0

                通常不用联络信号或不使用固定的联络信号;

                PA、PB{数据口}和两个4位PC都可以作为数据的入/出{2^4=16种传送方式}(由程序设定);        

                方式0适于无条件{开关和灯的关系}传送和查询传送;

                 输入时,使用IN指令,

                 输出时,使用OUT指令;

方式1:选通I/O方式

              通常使用固定的联络信号;

                适于查询和中断方式

                可以产生中断;

                一般作为中断方式I/O

                 输入使用IN指令,输出使用OUT指令;

·(1)方式1:A端口输入

 A口的输入 大剪头 相当于键盘,通过A口把数据输入进8255,8255的C口在这里连接了三个引脚    STB选通信号   低电平相当于产生了一个地脉冲,当PC4上出现了一个低电平,就会就收数据

        回应

PC4  PC5用于连接外设的信号线

PC3  由 8259 向 CPU 发送请 求

PC4一方面接受外设的选通信号,说明外设的键盘已经送到了8255的接口上 还有一个功能PC4为一   是 开中断 允许中断  和IF 的开中断不一样         

(2)方式1:B端口输入

B口输入在B口输入的时候,它的允许中断用的是PC2,没链接中断允许触发器

INTE     中断允许触发器  8259内部的     PC0 允许和禁止的一个标识

PA口入 :

                PC4=1  允许  

                 PC4=0   禁止

PB口入:

                PC2=1  允PC0发

                PC2=0     禁PC0发

方式1输入联络信号

STB:选通{低电平有效}信号,低电平有效

        外设输入,有效时,将输入设备送来的数据锁存至8255的输入锁存器。

IBF:输入缓冲器满信号,高电平有效

        8255输出的联络信号。有效时,表示数据已锁存在输入锁存器。

INTR: 中断请求信号,高电平有效

        8255A输出的信号,向CPU提出中断请求,要求CPU读取外设数据。

(3)方式1:A端口输出

A口出   PC6=1 允许   PC3  =发送

              PC6=0  禁止

 下标变成了B

        B口出 

                        PC2=1 允    PC0 =发

                               =0  禁

方式1输出联络信号

        OBF:输出缓冲器满信号,低有效                输出给外设,有效时,表示CPU已把数据输出给指定的端口,外设可以取走。

        ACK:响应信号,低有效

                  外设的响应信号,指示8255A的端口数据已由外设接收。

        INTR:中断请求信号,高有效 

当输出设备已接收数据后,此信号包OPU提出申断请求,要求CPU继续提供数据。

                        CPU送到 8255PA/PB口上   8255发请求信号,8255送到打印机或者显示器的输出设备上,A口已经送到打印机上,  送完以后 A为空, 8255再次向CPU发送请求

方式2:双向方式

 方式2可以同时发送数据和接收数据

只有端口A可以工作于方式2  {因为B口 只适用于0.1  A口于0.1.2}

端口B可用于方式0或方式1

需要利用     端口C的信号线

图中  在A口上可以 入也可以出  当出的时候用的一对引脚  入的时候用的一对引脚都用于联络

两个中断允许触发器 分别控制入和出,用的都是PC的第三口

  

4.8255的编程步骤

           (1)由已知条件确定方式控制字{C口的联络},如果用到C口联络,则要定义置位/复位字;·  {A口的PC4=1允许}和PC4连接=选通信号不一样

        (2)确定8255的端口地址;{4个端口地址,在题目中找到,没有的话就计算出来}

         有了以上的要求,才能执行一下的

 (3) CPU对8255初始化编程;

        (4)8255功能驱动程序段

 特征位  一定是1    D6 D5   是A口的工作方式  入是1  出是0

标志位 一定是0   D6 5 4  按0做      D3~D1  PC0=1  00000001B=01 

 硬件连接如下图所示:有8个开关K。~K7,要求不断检测它们的通断状态,并随时在发光二极管LED。~LED7上显示出来。开关闭合,相应的LED点亮;开关打开,LED熄天(如Ko开关闭合,则LED,发光二极管点亮)。请写出完整的汇编语言源程序。

    开关信号 A口  输入  A口  是  入 为1 得到方向控制字    第 7位  是1   是固定 的 A口的工作方式                                 0 B口的工作方式, 没有说                  0

  

C口的工作方式                                   0

       解题     1方向控制字=10010000B=90H

                     4个端口地址分别   PA:300H

                                                    控制口 303H

                        k7~k0   01010101

                                     10101010

                    初始化程序段

                        MOV        DX,300H

                        MOV        AL,90H

                        OUT        DX,AL        

                     8255功能程序段:

                              MOV        DX,300H

                                IN           AL,DX;        AL=55H

                                NOT        AL

                                MOV        DX,301H

                                OUT         DX,AL;AL=1AH

程序段

        CODE        SEGMET

                                ASSUME        CS:CODE

           START:MOV DX, 303H

                        MOV AL, 10010000B ;设置方法控制字

                        OUT DX, AL       初始化程序段

             AGAIN:MOV DX, 300H

                          IN AL, DX                   ;开关信号

                             NOT AL

                                 MOV DX, 301H                

                                OUT DX, AL                 ;驱动灯    驱动程序段

                                JMP AGAIN                ;循环检测开关状态并点亮

                                MOV        AH,4CH

                                INT         21H

                        CODE        ENDS

                                        END        START 

答: (1) 8255的4个端口地址: 208H~20BH

        (2)方式控制字=10010000B=90H,

                无联络信号,A口方式0输入,B口方式0输出

        (3)程序段如下:

                MOV DX,20BH

                MOV AL, 90H

                OUT DX, AL;初始化

                 MOV        DX,208H

                IN        AL,DX                        读A口开关

                INC        DX                           ;=MOV        DX,209;     

                OUT        DX,AL

开关  都一样    

灯是共阴极         A1 A2 不一样

先确认8255的地址

CBA  连接 A6   CBA 是110



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3