《第06章+微型计算机的输入输出(+修改).ppt》由会员分享,可在线阅读,更多相关《第06章+微型计算机的输入输出(+修改).ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章 微型计算机的输入/输出n I/O接口功能n I/O端口及其寻址方式n 输入/输出方式 及CPU与外设通信的接口 n 8086CPU的输入/输出n总线简述6.1 I/O接口功能一、CPU与外设通信特点需要有接口作为CPU与外设通讯的桥梁;速度速度信号种类:模拟、数字;并行、串行信号种类:模拟、数字;并行、串行逻辑电平逻辑电平需要有数据信息传送之前的“联络”;要传递的信息有三方面内容:状态、数据及控制信息。CPU I/O接口 外设控制数据地址控制数据状态 接口电路通常包含一组能够与处理器交换信息的接口电路通常包含一组能够与处理器交换信息的寄存器或缓冲器,称为寄存器或缓冲器,称为I/O端口端
2、口 数据端口数据端口 存放数据信息存放数据信息 状态端口状态端口 存放状态信息,即反映外设存放状态信息,即反映外设 当前工作状态的信息当前工作状态的信息 控制端口控制端口 存放控制信息存放控制信息二、接口的功能二、接口的功能l l进行地址译码或设备选择,以便使CPU能与某一指定的外部设备通讯;l l状态信息的应答,以协调数据传送之前的准备工作;l l进行中断管理,提供中断信号;l l进行数据格式转换,如正负逻辑的转换,串行与并行数据转换等;l l进行电平转换,如TTL电平与MOS电平间的转换;l l协调速度;l l时序控制,提供实时时钟信号。6.2 I/O端口及其寻址方式端口及其寻址方式 一、
3、一、存储器映像的存储器映像的I/O寻址寻址 存储单元和存储单元和I/O端口的地址统一编址端口的地址统一编址I/O 端口端口存储单元存储单元I/O 地址空间地址空间存储器地址空间存储器地址空间整个地址空间整个地址空间存储器映像的存储器映像的I/O寻址寻址 74LS244(8BIT三态门)和74LS273(8BIT D锁存器)D锁存器:只允许在时序控制信号有效时才能改变存储器存储的逻辑值.74LS24474LS244是一种三态输出的缓冲器(或称单向线驱动器),74LS244逻辑电路及引脚如图所示,内部线驱动器分为两组,分别有四个输入端(1A11A4,2A12A4)和四个输出端(1Y11Y4,2Y1
4、2Y4),分别由使能端,控制。当为低电平,1Y11Y4的电平与1A11A4的电平相同,当为低电平,2Y12Y4的电平与2A12A4的电平相同;当(或)为高电平时,输出1Y11Y4(或2Y12Y4)为高阻态。74LS273是带有清除端的8D触发器,只有在清除端保持高电平时,才具有锁存功能,锁存控制端为11脚CLK,采用上升沿锁存。n这种编址方式的优点:这种编址方式的优点:利用多余的内存译码资源;可以用访向存储器的指令来访问I/O端口,而访问存储器的指令功能比较强,不仅有一般的传送指令,还有算术、逻辑运算指令,以及各种移位、比较指令等,并且可以实现直接对I/O端口内的数据进行处理。n缺点是:缺点是
5、:由于I/O端口占用了一部分存储器地址空间,因而使用户的存储地址空间相对减小。另外不利于程序阅读。存储单元存储单元存储地址空间存储地址空间I/O 端口端口I/O 地址空间地址空间 2、I/O映像的映像的I/O寻址寻址 I/O端口地址与存储单元地址分开编址端口地址与存储单元地址分开编址 I/O映像的映像的I/O寻址寻址 n这种编址方式的优点是:这种编址方式的优点是:1、I/O端口不占用存储器地址,故不会减少用户的存储器地址空间;2、采用单独的I/O指令,使程序中I/O操作和其他操作层次清晰,便于理解。n这种编址方式的缺点是:这种编址方式的缺点是:1、单独I/O指令的功能有限,只能对端口数据进行输
6、入/输出操作,不能直接进行移位、比较等其他操作;2、由于采用了专用的I/O操作时序及I/O控制信号线,因而增加了微处理器本身控制逻辑的复杂性。6.3 输入输入/输出方式输出方式及CPU与外设通 信的接口 1 1、同步传送方式、同步传送方式2 2、异步查询方式、异步查询方式 程序控制传送方式程序控制传送方式3 3、中断方式、中断方式 4 4、直接存储器存取方式、直接存储器存取方式 一、程序控制传送方式一、程序控制传送方式u(一一)、同步传送方式(无条件方式)、同步传送方式(无条件方式)CPU直接与外设传送数据并不需要了直接与外设传送数据并不需要了解外设状态,认为外设已经准备就绪,解外设状态,认为
7、外设已经准备就绪,直接与外设传送数据直接与外设传送数据 开关Ki闭合时,输入为低电平“0”,而点亮相应LEDi,则输出为高电平“1”,输入与输出的关系相反。CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START:PUSH DS MOV AX,0 PUSH AX AGAIN:MOV AH,1 ;读键盘缓冲区字符 INT 16H CMP AL,1BH ;若为“Esc”键,则退出 JZ EXIT MOV DX,200H IN AL,DX ;读取开关状态 NOT AL ;取反 OUT DX,AL ;输出控制LED JMP AGAIN EXIT:RET ;返回DO
8、S MAIN ENDPCODE ENDS END STARTu(二)、异步查询方式(二)、异步查询方式 在执行输入输出前,要先查询接口中在执行输入输出前,要先查询接口中状态寄存器的状态。状态寄存器的状态。输入时,状态寄存器的状态指示要输入输入时,状态寄存器的状态指示要输入的数据是否已经准备就绪;的数据是否已经准备就绪;准备好?准备好?读取状态信息读取状态信息输入数据输入数据是是否否数据线状态线外设常用的状态线有IBF,READY功能:n n1、输入设备准备好数据,状态线有效;n n2、CPU读数据端口,取走数据后,状态线转换为无效1、STB有效,有效,(1)、输入设备数据进入锁存器;、输入设备
9、数据进入锁存器;(2)、IBF 有效有效2、CPU读状态端口读状态端口3、CPU读数据端口,同时清读数据端口,同时清IBF外设Sport EQU 300HDport EQU 310H.Test1:mov dx,Sport in al,dx Test al,01 Jz Test1 Mov dx,Dsport in al,dx .STBIBF/RD123 输出时,状态寄存器的状态指示输出设输出时,状态寄存器的状态指示输出设备是否空闲。备是否空闲。忙?忙?读取状态信息读取状态信息输出数据输出数据否否是是数据线状态线外设常用的状态线有empty,busy功能:n n1、输出设备空闲,BUSY无效;n
10、n2、CPU写数据端口,输出设备输出数据,状态线转换为有效1、CPU读状态端口,查读状态端口,查BUSY线线2、CPU写数据,写数据,(1)、数据进入数据锁存器;、数据进入数据锁存器;(2)、BUSY 有效有效3、输出设备工作完毕,、输出设备工作完毕,busy无效无效外设n n举例:从终端往缓冲区输入从终端往缓冲区输入1 1行字符,当遇到回车符行字符,当遇到回车符(0DH0DH)或超过)或超过8181个字符时,输入结束,并自动加上一个字符时,输入结束,并自动加上一个换行符(个换行符(0AH0AH)。如果在输入的)。如果在输入的8181个字符中没有回车个字符中没有回车符,则在终端上输出信息。设终
11、端接口的数据输入端符,则在终端上输出信息。设终端接口的数据输入端口地址为口地址为32H32H,数据输出端口地址为,数据输出端口地址为34H34H,状态端口地,状态端口地址为址为36H36H。状态寄存器的。状态寄存器的D1=1D1=1,表示输入缓冲器已准备,表示输入缓冲器已准备好数据,好数据,CPUCPU可读取数据;状态寄存器的可读取数据;状态寄存器的D0=1D0=1,表示输,表示输出缓冲器已空,出缓冲器已空,CPUCPU可往终端输出数据。终端接口电路可往终端输出数据。终端接口电路具有根据相应操作对状态寄存器自动置具有根据相应操作对状态寄存器自动置1 1和清和清0 0功能。功能。INPUT:IN
12、 AL,36H ;读状态端口 TEST AL,02H ;测输入状态D1位 JZ INPUT ;未“准备好”IN AL,32H ;读取输入字符 MOV SI,AL ;输入字符存缓冲区 INC SI CMP AL,0DH ;输入字符为回车否?LOOPNE INPUT ;不是回车且接收字符个数未超过81,转INPUT JNE OVERFLOW ;不是回车且接收字符个数超过81,转OVERFLOW MOV AL,0AH ;是回车且接收字符个数81,存换行符 MOV SI,AL JMP EXIT OVERFLOW:MOV CX,17 ;初始化输出字符个数 LEA SI,MESS ;初始化显示字符串首址
13、OUTPUT:IN AL,36H ;读状态端口 TEST AL,01H ;测输出状态D0位 JZ OUPUT ;输出缓冲器未空,转OUTPUT MOV AL,SI ;取出输出字符 INC SI OUT 34H,AL ;输出字符 LOOP OUTPUT 条件传送特点n n优点:电路简单n n缺点:降低CPU效率,实时性不强u(三)、中断方式(三)、中断方式 当外设作好传送准备后,主动向当外设作好传送准备后,主动向CPU请求请求中断,中断,CPU响应中断后在中断处理程序中与外响应中断后在中断处理程序中与外设交换数据。设交换数据。在中断未发生时,在中断未发生时,CPU可以执行其他程序,可以执行其他程
14、序,这样可以提高这样可以提高CPU的利用率。的利用率。/BUSY中断程序/BUSY中断程序/BUSY/BUSY检测状态线检测状态线中断申请信号主程序中断服务子程序中断逻辑中断服务子程序主程序中断服务子程序中断申请信号n n与程序查询方式相比,中断控制方式的数据交与程序查询方式相比,中断控制方式的数据交换具有换具有如下特点如下特点如下特点如下特点:n n(1)(1)提高了提高了CPUCPU的工作效率的工作效率;n n(2)CPU(2)CPU具有控制外围设备服务的主动权具有控制外围设备服务的主动权;n n(3)CPU(3)CPU可以和外设并行工作可以和外设并行工作;n n(4)(4)可适合实时系统
15、对可适合实时系统对I/OI/O处理的要求。处理的要求。二、直接存储器存取方式二、直接存储器存取方式(DMA)(Direct Memory Access)。在高速的外设或成块交换数据的情况,采用程在高速的外设或成块交换数据的情况,采用程序控制方式进行数据的传输,是无法满足要求的。序控制方式进行数据的传输,是无法满足要求的。在这种情况下,采用在这种情况下,采用DMA方式。方式。DMA方式是在外设与内存间建立起直方式是在外设与内存间建立起直接的通道,接的通道,CPU不再直接参加外设和内存不再直接参加外设和内存间的数据传输。间的数据传输。当系统需要进行当系统需要进行DMA传输时,将传输时,将CPU对对
16、地址和数据及控制线的管理权交由地址和数据及控制线的管理权交由DMA控控制器进行控制,当完成了一次制器进行控制,当完成了一次DMA数据传数据传输后,再将这个控制权还给输后,再将这个控制权还给CPU,这些工,这些工作都是由硬件自动实现的,并不需要程序作都是由硬件自动实现的,并不需要程序进行控制。进行控制。ABDBCB CPU DMAC RAM/ROM I/OCPU外设外设存储器存储器总总线线:执行程序指令的数据传送路径;:执行程序指令的数据传送路径;:DMA方式的数据传送路径方式的数据传送路径内存外设DMAC输出输入外设外设DMAC内存内存DMACDMA传送的几种形式传送的几种形式8086CPU为
17、DMA提供两根信号线1、HOLD 总线保持请求2、HLDA 总线保持响应n nDMA的基本功能和步骤的基本功能和步骤n n(1)DMAC(1)DMAC接收接收I/OI/O接口的接口的DMADMA请求,并向请求,并向CPUCPU发出总线请求信号发出总线请求信号HOLDHOLD;n n(2)(2)当当CPUCPU发出总线回答信号发出总线回答信号HLADHLAD后,接后,接管对总线的控制,进入管对总线的控制,进入DMADMA传送过程;传送过程;n n(3)(3)能实现有效的寻址,即能输出地址信息能实现有效的寻址,即能输出地址信息并在数据传送过程中自动修改地址;并在数据传送过程中自动修改地址;n(4)
18、能向存储器和I/O接口发出相应的读/写控制信号;n(5)能控制数据传送的字节数,控制DMA传送是否结束;n(6)在DMA传送结束后,能释放总线给CPU,恢复CPU对总线的控制。6.4 8086CPU的输入/输出1、I/O 寻址64K2、8086CPU的IO指令 (1 1)直接寻址输入输出指令直接寻址输入输出指令(八位端口地址八位端口地址)IN ALIN AL,n (n (字节输入字节输入)IN AXIN AX,n (n (字输入字输入)OUT nOUT n,AL (AL (字节输出字节输出)OUT nOUT n,AX (AX (字输出字输出)0000H00FFH0100HFFFFHn(2)DX
19、寄存器间接寻址输入(十六位端口地址)IN AL,DX (字节输入)IN AX,DX (字输入)OUT DX,AL (字节输出)OUT DX,AX (字输出)0000H00FFH0100HFFFFHDX3、有关端口地址问题 a a、8086CPU8086CPU与外设交换数据可以字或字节进行,与外设交换数据可以字或字节进行,b b、当当以以字字节节进进行行时时,偶偶地地址址端端口口的的字字节节数数据据由由低低8 8位位数数据据线线D7D7D0D0位位传传送送,奇奇地地址址端端口口的的字字节节数据由高数据由高8 8位数据线位数据线D15D15D8D8传送,传送,c c、当当用用户户在在安安排排外外设设的的端端口口地地址址时时,如如果果外外设设是是以以8 8位位的的方方式式与与CPUCPU连连接接,就就只只能能将将其其数数据据线线或或者者与与CPUCPU的的低低八八位位或或者者与与高高八八位位连连接接,这这样样同同一一台台外外设设的的所所有有寄寄存存器器端端口口地地址址都都只只能能是是偶偶地地址址或或是奇地址,这时设备的端口地址就会是不连续的。是奇地址,这时设备的端口地址就会是不连续的。
限制150内