微型计算机原理及应用(第三版)电子教案第8章(与“输入”有关的文档共113张).pptx

上传人(卖家):晟晟文业 文档编号:3652833 上传时间:2022-10-01 格式:PPTX 页数:114 大小:3.11MB
下载 相关 举报
微型计算机原理及应用(第三版)电子教案第8章(与“输入”有关的文档共113张).pptx_第1页
第1页 / 共114页
微型计算机原理及应用(第三版)电子教案第8章(与“输入”有关的文档共113张).pptx_第2页
第2页 / 共114页
微型计算机原理及应用(第三版)电子教案第8章(与“输入”有关的文档共113张).pptx_第3页
第3页 / 共114页
微型计算机原理及应用(第三版)电子教案第8章(与“输入”有关的文档共113张).pptx_第4页
第4页 / 共114页
微型计算机原理及应用(第三版)电子教案第8章(与“输入”有关的文档共113张).pptx_第5页
第5页 / 共114页
点击查看更多>>
资源描述

1、微型计算机原理及应用(第三版)电子教案第8章(与“输入”有关的文档共113张)输入/输出(I/O)接口电路是计算机的重要组成部分。通过I/O接口电路可实现计算机与外部设备通信,与外部设备交换信息。在微机系统中,最常用的外部设备有键盘、显示器、打印机、磁盘机等。在工业微机控制系统中,I/O接口电路还可通过A/D转换器或D/A转换器与各种工业检测和控制仪表相连接,这些仪表装置也属于外部设备。8.1 微型计算机的输入微型计算机的输入/输出接口输出接口8.1.1 输入输入/输出接口的交换信号输出接口的交换信号计算机计算机I/O接口电路与外部设备间交换的信号,通常有以下接口电路与外部设备间交换的信号,通

2、常有以下4种类型:种类型:(1)数字量数字量:二进制形式的数据,或是已经过编码的二二进制形式的数据,或是已经过编码的二进制形式的数据。最小单位为进制形式的数据。最小单位为“位位”(bit),8位称为一位称为一个字节个字节(BYTE)。(2)模拟量模拟量:用模拟电压或模拟电流幅值大小表示的物理用模拟电压或模拟电流幅值大小表示的物理量。模拟量信号不能直接进入计算机,必须经过量。模拟量信号不能直接进入计算机,必须经过A/D(模拟模拟/数字数字)转换器,把模拟量转换成某种形式的转换器,把模拟量转换成某种形式的数字量,才能输入计算机。当外部设备需要模拟量信数字量,才能输入计算机。当外部设备需要模拟量信号

3、控制时,号控制时,I/O接口电路接口电路D/A(数字数字/模拟模拟)转换器又能把转换器又能把数字量转换成模拟量信号。数字量转换成模拟量信号。(3)开关量:开关量信号只有两种状态,即“开”或“闭”。这样,只要用一位二进制数就可表示。(4)脉冲量:在计算机控制系统中还经常用到计数脉冲、定时脉冲或控制脉冲。脉冲量信号是以脉冲形式表示的一种信号。8.1.2 输入输入/输出的控制方式输出的控制方式在微机系统中,可采用的输入在微机系统中,可采用的输入/输出控制方式一输出控制方式一般有般有4种:程序控制方式、中断控制方式、直种:程序控制方式、中断控制方式、直接存储器存取方式接存储器存取方式(DMA方式方式)

4、和输入和输入/输出处输出处理机方法。理机方法。1.程序控制方式程序控制方式这是指在程序控制下进行信息传送。这是指在程序控制下进行信息传送。(1)无条件传送方式:当外设已准备就绪,那就不必查询外设的状态而进行信息传输,这就称为无条件传送。这种信息传送方式只适用于简单的外设,如开关和数码段显示器等。当简单外设作为输入设备时,输入数据保持时间要比CPU的处理速度慢得多,所以可直接使用三态缓冲存储器与数据总线相连,如图8.1所示。CPU执行输入指令时,读信号RD有效,选通信号M/IO0,因而三态缓冲存储器被选通,于是已准备好的输入数据便可进入数据总线。图图8.1当简单外部设备作为输出设备时,一般都需要

5、锁存器。这是因为CPU送出的数据应在接口电路的输出端保持一段时间。在图8.1中,当CPU执行输出指令时,M/IO0及WR0,于是接口中的输出锁存器被选中,CPU输出的信息经过数据总线送入输出锁存器。(2)条件传送方式:CPU通过执行程序不断读取并测试外部设备状态,如果输入外部设备处于已准备好状态或输出外部设备为空闲状态时,则CPU执行传送信息指令。由于条件传送方式是CPU在不断调查外部设备的当前状态后才进行信息传送,所以也称为“查询式传送”。因此,条件传送方式的接口电路应包括:传送数据端口及传送状态端口。当输入信息时,查询到外部设备准备好后,则使接口的“准备好”标志位置1。当输出信息时,外部设

6、备取走一个数据后,传送状态端口使标志为“空闲”状态,可以接收下一个数据。图8.2为查询式输入的接口电路。输入设备在数据准备好后便往接口发出一个选通信号。图图8.2这个选通信号起两个作用,一是把外部设备的数据送到接口的锁存器中;另一方面,它使接口中的一个D触发器置1,从而使三态缓冲存储器的READY1。在查询输入过程中,CPU先从外部设备输入数据中读取状态字,检查“准备好”标志位是否为“1”。若已准备好,这时数据已进入接口锁存器,则执行输入传送指令。同时把“准备好”标志位清“0”,接着便可开始下一个数据传输过程。图8.3为查询式输出接口电路。CPU执行输出指令时,由选择信号M/IO及写信号WR产

7、生的选通信号把数据送入数据锁存器,同时使D触发器输出“1”。此信号一方面告诉外部设备在接口中已有数据要输出,另一方面D触发器的输出信号使状态寄存器的对应标志位置“1”,告诉CPU;当前外部设备处于“忙”状态,从而阻止CPU输出新的数据。当外部设备从接口中取走数据后,通常也会送出一个应答信号ACK,ACK使接口中的D触发器置“0”,从而使状态寄存器中的对应标志位置“0”,这样便可开始下一个数据的输出过程。图图8.3接收缓冲存储器和接收移位寄存器构成接收器的双缓冲结构。系统规定端口C的第5位(PC5)用作输出的IBFA信号。如果在数据传送过程出现差错,8089会进行重复传送或做必要的处理。第七十三

8、页,共113页。TXRDY状态标志为“1”只反映当前发送数据缓冲存储器已空,而TXRDY引线端为“1”,除发送数据缓冲存储器已空外,还有两个附加条件是CTS0和TXEN1,这就是说它们之间存在如下关系:一直进行到全部数据传送完毕为止。IBFA输入缓冲存储器满信号。OUT DX,AL如果在数据传送过程出现差错,8089会进行重复传送或做必要的处理。这是8255A内部完成读/写控制功能的部件,它能接收CPU的控制命令,并根据它们向片内各功能部件发出操作命令。13中可看出,当端口A和端口B同时被定义为工作方式1完成输出操作时,端口C的PC6,7和PC3PC0被用作控制信号,只有PC4,5两位可完成数

9、据输入或输出操作。第四十四页,共113页。所以,CPU既可以用软件查询方式,也可以用中断方式设法往接口中输出一个数据。FE1,表示未检测到停止位,不中止8251A工作。当采用查询方式,异步传送,双方实现半双工通信时,初始化程序由两部分组成。接口收到此信号,便将状态寄存器中的“输出准备好”状态位重新置“1”,以便CPU输出下一个数据。2.中断控制方式中断控制方式一般用来传送低速外部设备与CPU之间的信息交换。当外部设备需要与CPU进行数据交换时,由接口部件的CPU发出一个中断请求信号,CPU响应这一中断请求,便可在中断服务程序中完成一个字节或一个字的信息交换。这样每操作一次,CPU要打断原来执行

10、的程序去执行一般中断服务程序,对速度较高的外部设备会产生信息丢失,因此不能采用。3.DMA控制方式DMA控制方式是一种成块传送数据的方式。当某一外部设备需要输入/输出一批数据时,向DMA控制器发出请求,DMA控制器接收到这一请求后,向CPU发出总线请求;若CPU响应DMA的请求把总线使用权赋给DMA控制器,数据不通过CPU,可直接在DMA控制器操纵下进行。当这批数据传送完毕后,DMA控制器再向CPU发出“结束中断请求”,CPU响应这一中断请求,即可收回总线使用权。因此,采用DMA控制方式,CPU只需在数据传送结束时响应一次中断,减轻了CPU的负担,但DMA控制器一般只能对一台或几台同类型的外部

11、设备完成控制功能。4.输入/输出处理机控制方式对于有大量输入/输出设备的微机系统,DMA控制方式已不能满足这种需要。Intel公司生产与86系列配套的输入/输出处理机(IOP)8089。系统中设置了IOP后,86系列CPU必须工作在最大工作模式。当CPU需要进行输入或输出操作时,只需在存储器中建立一个规定格式的信息块,设置好需要执行的操作和有关参数,然后把这些参数送入8089,IOP即会执行输入/输出操作。如果在数据传送过程出现差错,8089会进行重复传送或做必要的处理。在整个数据块的传送过程中,CPU可去完成其他作业。在微型计算机系统中,通常是用各种类型的输入/输出接口芯片来完成CPU与其外

12、部设备之间的信息交换。下面介绍几种常用接口芯片及工作原理。8.2 并行通信与并行接口并行通信与并行接口8.2.1 并行通信并行通信并行通信是把一个字符的各数位用几条线同时进行并行通信是把一个字符的各数位用几条线同时进行传输,传输速度快,信息率高。但它比串行通信传输,传输速度快,信息率高。但它比串行通信所用的电缆多,因此,并行通信常用在传输距离所用的电缆多,因此,并行通信常用在传输距离较短较短(几米至几十米几米至几十米)和数据传输率较高的场合。和数据传输率较高的场合。8.2.2 并行接口并行接口实现并行通信的接口就是并行接口。一个并行接口可设计实现并行通信的接口就是并行接口。一个并行接口可设计为

13、只作为输出接口,如一个并行接口连接一台打印机;为只作为输出接口,如一个并行接口连接一台打印机;还可设计为只作为输入接口,如一个并行接口连接卡片还可设计为只作为输入接口,如一个并行接口连接卡片读入机。另外,还可以设计成既作为输入又作为输出的读入机。另外,还可以设计成既作为输入又作为输出的接口。它可以用两种方法实现,一种是利用同一个接口接口。它可以用两种方法实现,一种是利用同一个接口中的两个通路,一个作输入中的两个通路,一个作输入通路,一个作输出通路;另一种是用一个双向通路,既作为输通路,一个作输出通路;另一种是用一个双向通路,既作为输入又作为输出。前一种方法是用在主机需要同时输入和输出入又作为输

14、出。前一种方法是用在主机需要同时输入和输出的情况,如此接口既接纸带读入机,又接纸带穿孔机。后一的情况,如此接口既接纸带读入机,又接纸带穿孔机。后一种方法是用在输入输出动作并不同时进行的主机与外部设备种方法是用在输入输出动作并不同时进行的主机与外部设备之间,如连接两台磁盘驱动器。之间,如连接两台磁盘驱动器。图图8.4典型的并行接口和外部设备连接如图典型的并行接口和外部设备连接如图8.4所示。图中所示。图中的并行接口用一个通道和输入设备相连,用另一个的并行接口用一个通道和输入设备相连,用另一个通道和输出设备相连,每个通道中除数据线外均配通道和输出设备相连,每个通道中除数据线外均配有一定的控制线和状

15、态线。有一定的控制线和状态线。从图8.4中看到,并行接口中应该有一个控制寄存器用来接收CPU对它的控制命令,有一个状态寄存器提供各种状态位供CPU查询。为了实现输入和输出,并行接口中还必定有相应的输入缓冲寄存器和输出缓冲寄存器。1.并行接口的输入过程外部设备首先将数据送给接口,并使状态线“数据输入准备好”成为高电平。接口把数据接收到数据输入缓冲寄存器的同时,使“数据输入回答”线变为高电平,作为对外部设备的响应。外部设备接到此信号,便撤除数据和“数据输入准备好”信号。数据到达接口中后,接口会在状态寄存器中设置“输入准备好”状态位,以便CPU对其进行查询,接口也可以在此时向CPU发一个中断请求。所

16、以,CPU既可以用软件查询方式,也可以用中断方式来设法读取接口中的数据。CPU从并行接口中读取数据后,接口会自动清除状态寄存器中的“输入准备好”状态位,并且使数据总线处于高阻状态。此后,又可以开始下一个输入过程。2.并行接口的输出过程每当外部设备从接口取走一个数据之后,接口就会将状态寄存器中的“输出准备好”状态位置“1”,以表示CPU当前可以往接口中输出数据,这个状态位可供CPU进行查询。此时,接口也可以向CPU发一个中断请求。所以,CPU既可以用软件查询方式,也可以用中断方式设法往接口中输出一个数据。当CPU输出的数据到达接口的输出缓冲寄存器中后,接口会自动清除“输出准备好”状态位,并且将数

17、据送往外部设备,同时,接口往外部设备发送一个“驱动信号”来启动外部设备接收数据。外部设备被启动后,开始接收数据,并往接口发一个“数据输出回答”信号。接口收到此信号,便将状态寄存器中的“输出准备好”状态位重新置“1”,以便CPU输出下一个数据。8.3 可编程并行通信接口芯片可编程并行通信接口芯片8255A8255A是是Intel86系列微处理机的配套并行接口芯片,系列微处理机的配套并行接口芯片,它可为它可为86系列系列CPU与外部设备之间提供并行输入与外部设备之间提供并行输入/输出的通道。由于它是可编程的,可以通过软件输出的通道。由于它是可编程的,可以通过软件来设置芯片的工作方式,所以,用来设置

18、芯片的工作方式,所以,用8255A连接外连接外部设备时,通常不用再附加外部电路,给使用者部设备时,通常不用再附加外部电路,给使用者带来很大方便。带来很大方便。8.3.1 8255A芯片内部结构及其功能芯片内部结构及其功能 由图由图8.5和图和图8.6可见,可见,8255A由以下几部分组成:由以下几部分组成:图图8.61.并行输入/输出端口A,B,C8255A芯片内部包含3个8位端口,其中:端口A包含一个8位数据输出锁存/缓冲存储器和一个8位数据输入锁存器;端口B包含一个8位数据输入/输出、锁存/缓冲存储器和一个8位数据输入缓冲存储器;端口C包含一个输出锁存/缓冲存储器和一个输入缓冲存储器。必要

19、时端口C可分成两个4位端口,分别与端口A和端口B配合工作,通常将端口A和端口B定义为输入/输出的数据端口,而端口C可作为状态或控制信息的传送端口。2.A组和B组控制部件端口A与端口C的高4位(PC7PC4)构成A组,由A组控制部件实现控制功能,端口B与端口C的低4位(PC3PC0)构成B组,由B组控制部件实现控制功能。它们各有一个控制单元,可接收来自读/写控制部件的命令和CPU通过数据总线(D7D0)送来的控制字,并根据它们来定义各个端口的操作方式。3.数据总线缓冲存储器这是一个三态双向8位数据缓冲存储器,它是8255A与8086CPU之间的数据接口。CPU执行输出指令时,可将控制字或数据通过

20、数据总线缓冲存储器传送给8255A。CPU执行输入指令时,8255A可将状态信息或数据通过总线缓冲存储器向CPU输入。因此它是CPU与8255A之间交换信息的必经之路。4.读/写控制部件这是8255A内部完成读/写控制功能的部件,它能接收CPU的控制命令,并根据它们向片内各功能部件发出操作命令。可接收的控制命令如下:(1)CS片选信号。由CPU输入,通常由端口的高位地址码(A15A2)译码得到,CS有效,表示该8255A被选中。(2)RD,WR读、写控制信号。由CPU输入,RD有效,表示CPU读8255A,应由8255A向CPU传送数据或状态信息。WR有效,表示CPU写8255A,应由CPU将

21、控制字或数据写入8255A。(3)RESET复位信号。由CPU输入。RESET有效时,清除8255A中所有控制字寄存器内容,并将各端口置成输入方式。(4)A1和A0端口选择信号。当A1A000,选择端口A;当A1A001,选择端口B;当A1A010,选择端口C;当A1A011,选择控制字寄存器。8.3.2 8255A芯片的控制字及其工作方式芯片的控制字及其工作方式8255A中各端口可有中各端口可有3种基本工作方式:种基本工作方式:方式方式0基本输入基本输入/输出方式;方式输出方式;方式1选通输入选通输入/输出方式;方式输出方式;方式2双向双向传送方式。传送方式。端口端口A可处于可处于3种工作方

22、式种工作方式(方式方式0,方式,方式1和方式和方式2),端口,端口B只可只可处于两种方式处于两种方式(方式方式0和方式和方式1),端口,端口C常常常被分成高常被分成高4位和低位和低4位两部分,可分别用来传送数据或控制信位两部分,可分别用来传送数据或控制信息。息。用户可用软件来分别定义用户可用软件来分别定义3个端口的工作方式,可使用的控制个端口的工作方式,可使用的控制字有定义工作方式控制字和置位字有定义工作方式控制字和置位/复位控制字。复位控制字。1.控制字控制字(1)定义工作方式控制字:定义工作方式控制字:格式如图格式如图8.7所示。通过定所示。通过定义工作方式控制字可将义工作方式控制字可将3

23、个端口分别定义为个端口分别定义为3种不同方种不同方式的组合,当将端口式的组合,当将端口A定义为方式定义为方式1或方式或方式2或将端口或将端口B定义为方式定义为方式1时,要求使用端口时,要求使用端口C的某些位作控制用,的某些位作控制用,这时需要使用一个专门的置位这时需要使用一个专门的置位/复位控制字来对控制端复位控制字来对控制端口口C的各位分别进行置位的各位分别进行置位/复位操作。复位操作。图图8.7(2)置位/复位控制字:只对端口C有效,其使用格式如图8.8所示。图图8.82.工作方式(1)工作方式0:这是8255A中各端口的基本输入/输出方式。它只完成简单的并行输入/输出操作,CPU可从指定

24、端口输入信息,也可向指定端口输出信息。如果3个端口均处于工作方式0,则可由工作方式控制字定义16种工作方式的组合,这种情况下,工作方式控制字的具体格式应如图8.9所示。图图8.9(2)工作方式1:被称作选通输入/输出方式,在这种工作方式下,数据输入/输出操作要在选通信号控制下完成。采用工作方式1进行输入操作时,需要使用的控制信号如下:STB选通信号。由外部输入,低电平有效。STB有效时,将外部输入的数据锁存到所选端口的输入锁存器中。对A组来说,指定端口C的第4位(PC4)用来接收向端口A输入的STB信号;对B组来说,指定端口C的第2位(PC2)用来接收向端口B输入的STB信号。IBF输入缓冲存

25、储器满信号。向外部输出,高电平有效。IBF有效时,表示由输入设备输入的数据已占用该端口的输入锁存器,它实际上是对STB信号的回答信号,待CPU执行IN指令时,RD有效,将输入数据读入CPU,其后沿把IBF置“0”,表示输入缓冲存储器已空,外部设备可继续输入后续数据。对A组来说,指定端口C的第5位(PC5)作为从端口A输出的IBF信号;对B组来说,指定端口的第一位(PC1)作为从端口B输出的IBF信号。INTR中断请求信号。向CPU输出,高电平有效。在A组和B组控制电路中分别设置一个内部中断触发器INTEA和INTEB,前者由STBA(PC4)控制置位,后者由STBB(PC2)控制置位。当任一组

26、中的STB有效,则把IBF置“1”,表示当前输入缓冲存储器已满,并由STB后沿置“1”各组的INTE,于是输出INTR有效,向CPU发出中断请求信号。待CPU响应这一中断请求,可在中断服务程序中安排IN指令读取数据后置“0”于IBF,外部设备才可继续输入后续数据。显然,8255A中的端口A和端口B均可工作于工作方式1完成输入操作功能,这种情况下工作方式控制字的具体格式如图8.10所示。经这样定义的端口状态如图8.11所示。图图8.10图图8.11从图8.11中可看出,当端口A和端口B同时被定义为工作方式1完成输入操作时,端口C的PC5PC0被用作控制信号,只有PC7和PC6位可完成数据输入或输

27、出操作,因此这实际上可构成两种组合状态:它们是端口A,B输入,PC7,PC6输入和端口A,B输入,PC7,PC6输出。采用工作方式1也可完成输出操作,这时需要使用的控制信号如下:OBF输出缓冲存储器满信号。向外部输出,低电平有效。OBF有效时,表示CPU已将数据写入该端口正等待输出。当CPU执行OUT指令,WR有效时,表示将数据锁存到数据输出缓冲存储器,由WR的上升沿将OBF置为有效。对于A组,系统规定端口C的第7位(PC7)用作从端口A输出的OBF信号,对于B组,规定端口C的第1位(PC1)用作从端口B输出的OBF信号。ACK 外部应答信号。由外部输入,低电平有效。ACK有效,表示外部设备已

28、收到由8255A输出的八位数据,它实际上是对OBF信号的回答信号。对于A组,指定端口C的第6位(PC6)用来接收向端口A输入的ACK信号;对于B组,指定端口C的第2位(PC2)用来接收向端口B输入的ACK信号。INTR中断请求信号。向CPU输出,高电平有效。对于端口A,内部中断触发器INTEA由PC6(ACKA)置位,对于端口B,INTEB由PC2(ACKB)置位。当ACK有效时,OBF被复位为高电平,并将相应端口的INTE置“1”,于是INTR输出高电平,向CPU发出输出中断请求,待CPU响应该中断请求,可在中断服务程序中安排OUT指令继续输出后续字节。对于A组,指定端口C的第3位(PC3)

29、作为由端口A发出的INTR信号;对于B组,指定端口C的第0位(PC0)作为由端口B发出的INTR信号。如果将8255A中的端口A和端口B均定义为工作方式1完成输出操作功能,那么工作方式控制字的具体格式如图8.12所示。图图8.12经这样定义的端口状态如图8.13所示。图图8.13从图8.13中可看出,当端口A和端口B同时被定义为工作方式1完成输出操作时,端口C的PC6,7和PC3PC0被用作控制信号,只有PC4,5两位可完成数据输入或输出操作。因此可构成两种组合状态:端口A,B输出,PC4,5输入;端口A,B输出,PC4,5输出。采用工作方式1时,还允许将端口A和端口B分别定义为输入和输出端口

30、。如果将端口A定义为方式1输入端口,而将端口B定义为方式1输出端口,则其方式控制字格式如图8.14所示。图图8.14经定义的端口状态如图8.15所示。图图8.15从图8.15(a)可看出,这种情况下端口C的PC5PC0用作控制信号,只有PC7,6可作数据输入/输出用,这又能构成两种状态:端口A输入,端口B输出,PC7,6输入;端口A输入,端口B输出,PC7,6输出。反之,如果将端口A定义为方式1输出,将端口B定义为方式1输入,其方式控制字如图8.16所示。经过这样定义的端口状态如图8.15(b)所示。从图8.15(b)可看出,端口C的PC7和PC6,PC3PC0分别用作控制信号,只有PC4和P

31、C5可作数据输入/输出用,根据PC4,5的两种方式又可组合成两种端口状态:端口A输出,端口B输入,PC4,5输入;端口A输出,端口B输入,PC4,5输出。图图8.16综上所述,8255A中的端口A和端口B工作在方式1时,可构成8种不同的状态组合方式。端口C的低4位总是作控制用,而高4位中总是保持有两位仍然可作数据输入/输出用,因此控制字中的D0位可为任意值,由D1,D3,D4位的不同取值构成8种不同的状态组合方式。当然应该允许将端口A或端口B定义为方式0,与另一端口的方式1配合工作,这种组合状态下所需控制信号减少,情况更简单些,不再详细论述。(3)工作方式2:被称作带选通的双向传送方式。825

32、5A中只允许端口A处于工作方式2,可用来在两台处理机之间实现双向并行通信。其有关的控制信号由端口C提供,并可向CPU发出中断请求信号。当端口A工作于方式2时,允许端口B工作方式0或方式1完成输入/输出功能,其方式控制字格式如图8.17所示。图图8.17端口A工作于方式2的端口状态如图8.18所示。由图可看出,端口A工作于方式2所需要的5个控制信号分别由端口C的PC7PC3来提供。如果端口B工作于方式0,那么PC2PC0可用作数据输入/输出;如果端口B工作于方式1,那么PC2PC0用来作端口B的控制信号(图8.18中未示出)。端口A工作于方式2所需控制信号如下:OBFA输出缓冲存储器满信号。向外

33、部输出,低电平有效。OBFA有效,表示要求输出的数据已锁存到端口A的输出锁存器中,正等待向外部输出。CPU用OUT指令输出数据时,由WR信号后沿将OBFA置成有效。系统规定端口C的第7位(PC7)用作由端口A输出的OBFA信号。ACKA应答信号。由外部输入,低电平有效。ACKA有效,表示外部已收到端口A输出的数据,由ACKA后沿将OBF置成无效(高电平),表示端口A输出缓冲存储器已空,CPU可继续向端口A输出后续数据。它实际上是OBFA的回答信号。系统规定端口C的第6位(PC6)用来接收输入的ACKA信号。STBA数据选通信号。由外部输入,低电平有效。STBA有效,将外部输入的数据锁存到数据输

34、入锁存器中,系统规定端口C的第4位(PC4)用来接收输入的STBA信号。图图8.18 IBFA输入缓冲存储器满信号。向外部输出,高电平有效。IBFA有效时,表示外部已将数据输入到端口A的数据输入锁存器中,等待向CPU输入,它实际上是对STBA的回答信号。系统规定端口C的第5位(PC5)用作输出的IBFA信号。INTR中断请求信号。向本端CPU输入,高电平有效。无论是进行输入还是输出操作,都利用INTR向CPU发出中断请求。对于输出操作,ACKA有效时将内部触发器INTE1置“1”,当OBFA被置成无效时,表示输出缓冲存储器已空,向CPU发出输出中断请求(INTRA有效),待CPU响应该中断请求

35、可在中断服务程序中继续输出后续数据;对于输入操作,当STBA有效,外部将数据送入端口A的输入锁存器后,使IBFA有效,STBA的后沿将内部触发器INTE2置“1”,向CPU发出输入中断请求(INTRA有效),待CPU响应该中断请求可在中断服务程序中安排IN指令读入从端口A输入的数据。系统规定端口C的第3位(PC3)用作INTRA信号。8255A中端口A工作于方式2时,允许端口B工作于方式0或方式1,完成输入/输出功能。8255A芯片的4种端口状态如图8.19所示。图图8.198.3.3 8255A并行接口应用举例并行接口应用举例可编程并行接口可编程并行接口8255A可为可为86系列微处理机提供

36、系列微处理机提供3个独立的并行个独立的并行输入输入/输出端口。利用输出端口与数模转换器相连,可控制输输出端口。利用输出端口与数模转换器相连,可控制输出模拟量的大小。这个模拟量可以是电压的高低、电流的大出模拟量的大小。这个模拟量可以是电压的高低、电流的大小、速度的快慢、声音的强弱以及温度的升降等。利用模数小、速度的快慢、声音的强弱以及温度的升降等。利用模数转换器又可将它们变换为数字量,通过并行输入端口送回微转换器又可将它们变换为数字量,通过并行输入端口送回微机系统中。这样一种闭环的调节系统在实践中应用非常广泛。机系统中。这样一种闭环的调节系统在实践中应用非常广泛。一个由一个由8086CPU和和8

37、255A为主体构成的闭环调节系统的结构流为主体构成的闭环调节系统的结构流程图如图程图如图8.20所示。由图可看出,所示。由图可看出,8255A中端口中端口A工作在方工作在方式式0,完成输出功能,用来向数模转换器输出,完成输出功能,用来向数模转换器输出8位数字信息。位数字信息。端口端口B工作在方工作在方式1,完成输入功能,用来接收由模数转换器输入的8位数字信息。端口C作控制用,PC7用作模数转换器ADC0809的启动信号,PC2用作输入的STBB信号,PC0用作中断请求信号INTRB,通过中断控制器8259A可向CPU发中断请求,这些都要由初始化程序来定义。图图8.20由8255A端口A输出的8

38、位数字信息,经数模转换器DAC0832转换成模拟量。它输出的模拟量是电流值,因此,DAC0832常与运算放大器一起使用,以便将模拟电流放大并转换为模拟电压,经过调整可达到。当CPU输出的数字量从00HFFH时,运算放大器输出04.98V的模拟电压,该电压经传感器可调节控制现场的温度、速度、声音或流量等其他参数。控制现场的模拟信息经传感器和运算放大器可变换为一定范围内的电压值,这模拟电压经模数转换器ADC0809可变换为8位数字信息送回8255A的端口B,其转换速度取决于从CLK端引入的标准时钟,端口B可采用查询或中断方式与CPU联系。若采用中断方式,中断请求信号经8259A中断排队后送CPU的

39、INTR端。如果采用中断方式,并定义中断类型码为40H,那么首先应将相应的中断服务程序定位到存储器中,并将其入口地址的段基址和偏移地址值置入中断入口地址表中从100H地址开始的四个字节中。可使用的初始化和控制程序如下:INTT:MOVDX,8255A控制端口MOVAL,86HOUTDX,AL初始化8255AMOVAL,05HOUTDX,AL;MOVDX,8259A偶地址端口MOVAL,13HOUTDX,ALMOVDX,8259A奇地址端口MOVAL,40HOUTDX,AL初始化8259AMOVAL,03HOUTDX,ALMOVAL,0FEHOUTDX,AL;POUT:MOVDX,8255A端口

40、AMOVAL,XXH从端口A输出8位数据OUTDX,AL;MOVDX,8255A端口CMOVAL,80HOUTDX,AL启动ADC0809MOVAL,0OUTDX,AL;WAIT:STIJMPWAIT40H类型中断服务程序:MOVDX,8255A端口BINAL,DXIRET上述程序将端口A定义为方式0输出端口,不需要任何控制信号。将端口B定义为方式1输入端口,需要PC2作输入信号(SIBB),用来接受ADC0809的转换结束命令EOC,由它将8位数字信息锁存到端口B的数据输入锁存器中。需要PC0用作输出信号,向CPU发出中断请求。由主程序完成初始化功能后,通过端口A输出预置的8位数字信息,用来

41、控制现场的某种模拟参数。从现场收集到的模拟量通过端口B以中断方式向8086CPU报告,CPU响应该中断请求后可在中断服务程序中利用IN指令接收由端口B输入的数字信息,并完成必要的计算和处理后可向端口A输出新的数字信息,以实现对现场模拟信息的调整过程。对于中断服务程序的具体处理过程应根据实际需要来编制相应的程序。8.4 串行通信及串行接口串行通信及串行接口8.4.1 串行通信线路的工作方式串行通信线路的工作方式串行通信指的是数据一位一位地依次传输,每一位数据占串行通信指的是数据一位一位地依次传输,每一位数据占据一个固定的时间长度。这种情况只要少数几条线就可据一个固定的时间长度。这种情况只要少数几

42、条线就可以在系统间交换信息,特别适用于计算机与计算机、计以在系统间交换信息,特别适用于计算机与计算机、计算机与外部设备之间的远距离通信,但串行通信的速度算机与外部设备之间的远距离通信,但串行通信的速度比较慢。比较慢。串行通信线路有如下串行通信线路有如下3种方式:种方式:(1)单工通信:它只允许一个方向传输数据,如图单工通信:它只允许一个方向传输数据,如图8.21(a)所示。所示。A只作为数据发送器,只作为数据发送器,B只作为数据接收器,不能进行反方只作为数据接收器,不能进行反方向传输。向传输。(2)半双工通信:它允许两个方向传输数据,但不能同时传输,只能交替进行,A发B收或B发A收,如图8.2

43、1(b)所示。在这种情况下,为了控制线路换向,必须对两端设备进行控制,以确定数据流向。这种协调可以靠增加接口的附加控制线来实现,也可用软件约定来实现。(3)全双工通信:它允许两个方向同时进行数据传输,A收B发的同时可A发B收,如图8.21(c)所示。显然,两个传输方向的资源必须完全独立,A与B都必须有独立的接收器和发送器,从A到B和从B到A的数据通路也必须完全分开(至少在逻辑上是分开的)。图图8.218.4.2 串行接口串行接口串行接口有许多种类,典型的串行接口如图串行接口有许多种类,典型的串行接口如图8.22所所示。它包括示。它包括4个主要寄存器:控制寄存器、状态寄个主要寄存器:控制寄存器、

44、状态寄存器、数据输入寄存器及数据输出寄存器。存器、数据输入寄存器及数据输出寄存器。图图8.22控制寄存器用来接收CPU送给此接口的各种控制信息,而控制信息决定接口的工作方式。状态寄存器的各位叫状态位,每一个状态位都可以用来指示传输过程中的某一种错误或者当前传输状态。数据输入寄存器总是和串行输入/并行输出移位寄存器配对使用的。在输入过程中,数据一位一位从外部设备进入接口的移位寄存器,当接收完一个字符以后,数据就从移位寄存器送到数据输入寄存器,再等待CPU来取走。输出的情况和输入过程类似,在输出过程中,数据输出寄存器和并行输入/串行输出移位寄存器配对使用。当CPU往数据输出寄存器中输出一个数据后,

45、数据便传输到移位寄存器,然后一位一位地通过输出线送到外部设备。CPU可以访问串行接口中的4个主要寄存器。从原则上说,对这4个寄存器可以通过不同的地址来访问,不过,因为控制寄存器和数据输出寄存器是只写的,状态寄存器和数据输入寄存器是只读的,所以,可以用读信号和写信号来区分这两组寄存器,再用一位地址来区分两个只读寄存器或两个只写寄存器。由于这种串行接口控制寄存器的参数是可以用程序来修改的,所以称作可编程串行接口。8.4.3 串行通信数据的收发方式串行通信数据的收发方式在串行通信中数据的收发可采用异步和同步两种基本的工作方式。在串行通信中数据的收发可采用异步和同步两种基本的工作方式。1.异步通信方式

46、异步通信方式异步通信所采用的数据格式是以一组不定异步通信所采用的数据格式是以一组不定“位数位数”数组组成。第数组组成。第1位称起始位,位称起始位,它的宽度为它的宽度为1位,低电平;接着传送一个字节位,低电平;接着传送一个字节(8位位)的数据,以高电平为的数据,以高电平为“1”,低电平为低电平为“0”;最后是停止位,宽度可以是;最后是停止位,宽度可以是1位,位,1.5位或位或2位,在两个数据组位,在两个数据组之间可有空闲位。异步通信的数据格式见图之间可有空闲位。异步通信的数据格式见图8.23。图图8.23每秒传送数据的位数称为传送速率,即波特率(band rate)。波特率一般在300,600,

47、900,1,200,2,400,9,600波特之间。计算机之间的异步通信速率一经确定后,一般不应变动,但通信的数据是可变动的,也就是数据组之间的空闲位是可变的。2.同步通信方式在同步通信时所使用的数据格式根据控制规程分为面向字符及面向比特的两种。(1)面向字符型的数据格式:面向字符型的同步通信数据格式可采用单同步、双同步及外同步3种数据格式,如图8.24所示。图图8.24单同步是指在传送数据之前先传送一个同步字符“SYNC”,双同步则先传送两个同步字符“SYNC”。接收端检测到该同步字符后开始接收数据。外同步通信的数据格式中没有同步字符,而是用一条专用控制线来传送同步字符,使接收方及发送端实现

48、同步。当每一帧信息结束时均用两个字节的循环控制码CRC为结束。(2)面向比特型的数据格式:根据同步数据链路控制规程(SDLC),面向比特型的数据以帧为单位传输,每帧由6个部分组成。第1部分是开始标志“7EH”;第2部分是一个字节的地址场;第3部分是一个字节的控制场;第4部分是需要传送的数据,数据都是位(bit)的集合;第5部分是两个字节的循环控制码CRC;最后部分又是“7EH”,作为结束标志。面向比特型的数据格式如图8.25所示。图图8.25在SDLC规程中不允许在数据段和CRC段中出现6个“1”,否则会误认为是结束标志。因此要求在发送端进行检验,当连续出现5个“1”,则立即插入一个“0”,到

49、接收端要将这个插入的“0”去掉,恢复原来的数据,保证通信的正常进行。通常,异步通信速率要比同步通信的低。最高同步通信速率可达到800k位,因此适用于传送信息量大,要求传送速率很高的系统中。8.5 可编程串行通信接口芯片可编程串行通信接口芯片8251A8251A是一个通用串行输入是一个通用串行输入/输出接口,可用来将输出接口,可用来将86系列系列CPU以同步或异步方式与外部设备进行以同步或异步方式与外部设备进行串行通信。它能将并行输入的串行通信。它能将并行输入的8位数据变换成逐位数据变换成逐位输出的串行信号;也能将串行输入数据变换位输出的串行信号;也能将串行输入数据变换成并行数据,一次传送给处理

50、机。广泛应用于成并行数据,一次传送给处理机。广泛应用于长距离通信系统及计算机网络。长距离通信系统及计算机网络。8.5.1 8251A芯片内部结构及其功能芯片内部结构及其功能8251A由发送器、接收器、数据总线缓冲存储器、由发送器、接收器、数据总线缓冲存储器、读读/写控制电路及调制写控制电路及调制/解调控制电路等解调控制电路等5部分组部分组成,如图成,如图8.26所示。引脚信号如图所示。引脚信号如图8.27所示。所示。图图8.26图图8.271.发送器8251A的发送器包括发送缓冲存储器,发送移位寄存器(并串转换)及发送控制电路3部分,CPU需要发送的数据经数据发送缓冲存储器并行输入,并锁存到发

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 计算机与IT类
版权提示 | 免责声明

1,本文(微型计算机原理及应用(第三版)电子教案第8章(与“输入”有关的文档共113张).pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|