您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 微机原理与接口技术第6章 输入输出和中断技术
第6章输入输出和中断技术(1)主要内容:I/O端口及其编址方式简单接口芯片及其应用基本输入输出方法中断的基本概念及工作过程6.1输入输出接口主要内容:I/O接口与I/O端口的概念I/O端口的编址方式端口地址译码数据传送方式数据总线DB控制总线CB地址总线AB存储器I/O接口输入设备I/O接口输出设备CPU微型计算机的结构示意图I/O端口CPU数据状态控制外设I/O接口DB外设处理信息的类型、速度、通信方式与CPU不匹配,不能直接挂在总线上,必须通过接口和系统相连CPU接口作用外设模/数转换(A/D)数/模转换(D/A)模拟量信息类型数字量三态缓冲、锁存数字量工作速度快解决传送方式慢串/并转换并/串转换串行通信方式并行三态缓冲、锁存并行1、为什么要用接口电路?I/O接口要解决的问题速度匹配(Buffer)信号的驱动能力(电平转换器、驱动器)信号形式和电平的匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门)接口的功能地址译码与设备选择信号的输入输出命令、数据、状态的缓冲和锁存信息转换一、I/O接口与端口I/O接口:将外设连接到总线上的一组逻辑电路的总称实现外设与主机之间的信息交换I/O端口:接口中的寄存器,分3类I/O接口的结构从编程角度看,接口内部主要包括一个或多个CPU可以进行读/写操作的寄存器,又称为I/O端口。I/O端口1I/O端口2I/O端口3地址译码数据缓冲控制电路外设ABDBCBCPU按存放信息的不同,I/O端口可分为三种类型数据端口:存放CPU与外设间传送的数据信息状态端口:暂存外设的状态信息控制端口:存放CPU对外设或接口的控制信息,控制外设或接口的工作方式。CPU对外设输入/输出的控制,是通过对接口电路中各I/O端口的读/写操作完成.各I/O端口由端口地址区分。二、I/O端口的编址方式与内存统一编址独立编址CPU最多能够管理64K个端口,当前操作是针对那一个端口呢?——端口地址(I/O地址)例如:INAL,56H端口与内存的统一编址特点:指令及控制信号统一数据传送都可用MOV指令内存地址资源减少内存地址960KBI/O地址64KB00000HF0000HFFFFFH端口的独立编址特点:内存地址资源充分利用能够应用于端口的指令较少内存地址I/O地址00000HFFFFFHFFFFH0000H例MOVAL,[10H]对内存操作INAL,10H对端口操作端口的独立编址8088总线A19-A0A15-A0MEMR、MEMWIOR、IOW存储器输入/输出8088/8086的I/O端口编址采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用IO/M来区分I/O操作只使用20根地址线中的16根:A15~A0可寻址的I/O端口数为64K(65536)个I/O地址范围为0~FFFFHIBMPC只使用了1024个I/O地址(0~3FFH)三、I/O地址的译码目的:确定端口的地址参加译码的信号:IOR,IOW,A15~A0OUT指令将使总线的IOW信号有效IN指令将使总线的IOR信号有效I/O地址的译码当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口I/O地址的译码某外设接口有4个端口,地址为2F0H~2F3H,则其基地址为2F0H,由A15~A2译码得到,而A1、A0用来确定4个端口中的某一个连接I/O地址译码例地址范围:–××××001011110000–××××001011110011任意状态A11片内地址图中不接入I/O地址译码例译码电路图:≥1A11A10A8A3A2A9A7A4┇&CEA1A0接口芯片6.2简单接口电路掌握:接口电路的分类及特点两类简单接口芯片的应用一、接口的基本构成数据线控制线状态线DBCBAB数据输入寄存器(or三态门)数据输出寄存器(锁存器)状态寄存器(or三态门)命令寄存器译码电路控制逻辑接口的基本构成数据输入/输出寄存器——暂存输入/输出的数据命令寄存器——存放控制命令,用来设定接口功能、工作参数和工作方式状态寄存器——保存外设当前状态,以供CPU读取二、接口的类型及特点按传输信息的方向分类:–输入接口–输出接口按传输信息的类型分类:–数字接口–模拟接口按传输信息的方式分类:–并行接口–串行接口接口特点由于外设处理数据的时间一般比CPU时间长的多,所以:输入接口:要求对数据具有控制能力(常用三态门实现)输出接口:要求对数据具有锁存能力(常用锁存器实现)三、三态门接口高电平、低电平、高阻态74LS244含8个三态门的集成电路芯片在外设具有数据保持能力时用来做输入接口74LS244应用例教材p238P238图K6K7+5VI0I3D0-D7DO0DO7~74LS244E1E2≥1&A2A3A4A5A6A7A8A9A10A11A12A13A14A15IOR系统总线信号≥1K5K4K3K2K1K0I1I2I4I5I6I7地址线A0、A1未参加译码,地址为?83FCH—83FFHMOVDX,83FCHINAL,DXANDAL,0FFHJZNEXT1四、锁存器接口通常由D触发器构成特点:具有对数据的锁存能力不具备对数据的控制能力常用锁存器芯片74LS273不具备数据的控制能力74LS374具有对数据的控制能力P239图应用例子:发光二极管接口译码器=1=1.........+5VRD0|D7CPQ0Q7...D0~D7A0~A15IOW#74LS273R假设端口地址为1234H,要使Q0、Q6端二极管发光,只要使Q0、Q6端为1即可MOVDX,1234HMOVAL,01000001BOUTDX,AL锁存器芯片74LS374既可以做输入接口,也可以做输出接口D0~D7Q0Q7...OECP译码器D0~D7Q0Q7...OECP译码器做输出口:做输入口:外设自外设I/O接口综合应用例根据开关状态在7段数码管上显示数字或符号设输出接口的地址为F0H设输入接口地址为F1H当开关的状态分别为0000~1111时,在7段数码管上对应显示’0’~’F’符号形状7段码.gfedcba符号形状7段码.gfedcba’0’00111111’8’01111111’1’00000110’9’01100111’2’01011011’A’01110111’3’01001111’B’01111100’4’01100110’C’00111001’5’01101101’D’01011110’6’01111101’E’01111001’7’00000111’F’01110001O1I1O2I2O3I3O4I4E1K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7abcdefgDP7406反相器74LS273Rx8≥174LS138D0~D7IOWIORY0Y1F0H=0000000011110000F1H=0000000011110001&≥1A7~A4A15~A8A3A2A1A0D0D1D2D3译码器I/O接口综合应用例——程序段Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71H……LEABX,Seg7;取7段码表基地址MOVAH,0GO:MOVDX,0F1H;开关接口的地址为F1HINAL,DX;读入开关状态ANDAL,0FH;保留低4位MOVSI,AX;作为7段码表的表内位移量MOVAL,[BX+SI];取7段码MOVDX,0F0H;7段数码管接口的地址为F0HOUTDX,ALJMPGO6.3基本输入/输出方法无条件传送查询式传送中断方式传送直接存储器存取(DMA)CPU与外设的工作速度不一致,如何使两者高效、可靠地进行数据传送,是本节讨论的问题。一、无条件传送适用于总是处于准备好状态的外设CPU不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,在程序中直接用I/O指令,完成与外设的数据传送优点:软件及接口硬件简单缺点:只适用于简单外设,适应范围较窄可采用无条件传送方式的外设:–开关–发光器件(发光二极管、7段数码管、灯泡等)–继电器–步进电机无条件传送例读取开关的状态当开关闭合时,输出编码使发光二极管亮二、查询工作方式在与外设进行传送数据前,CPU先查询外设状态当外设准备好后才执行I/O指令,实现数据传送适用场合:外设并不总是准备好对传送速率和效率要求不高对外设及接口的要求:外设应提供设备状态信息接口应具备状态端口查询工作方式优点:软件比较简单缺点:CPU效率低,数据传送的实时性差,速度较慢READY?进行一次数据交换读入并测试外设状态YN传送完?Y结束N开始每满足一次条件只能进行一次数据传送超时?READY?与外设进行数据交换超时错读入并测试外设状态YNYN传送完?防止死循环复位计时器NY查询工作方式例外设状态端口地址为03FBH,第5位(bit5)为状态标志(=1忙,=0准备好)外设数据端口地址为03F8H,写入数据会使状态标志置1;外设把数据读走后又把它置0。试画出其电路图,并将内存DATA为首地址的100B数输出D5D7-D0A9|A3≥1&A15|A10≥1IOWD7-D03F8H外设D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0状态端口GG2AG2BCBAA2A1A074LS138Y0≥1IORY3OE74LS3743FBH程序段?03FBH000000111111101103F8H0000001111111000LEASI,DATAMOVCX,100AGAIN:MOVDX,03FBHWAITT:INAL,DXTESTAL,20HJNZWAITTMOVDX,03F8HMOVAL,[SI]OUTDX,ALINCSILOOPAGAIN读状态进行一次传送Bit5=1?传送完否?修改地址指针初始化YNNY结束三、中断控制方式实现方法:1.当外设准备好,向CPU发出中断请求2.CPU在满足响应中断的条件下,发出中断响应信号;3.CPU暂停当前的程序,转去执行中断服务程序,完成与外设的数据传送;4.CPU从中断服务程序返回,继续执行被中断的程序中断服务程序发申请中断服务程序发申请中断方式下CPU执行程序流程外设使用中断方式时:•外设准备数据,CPU执行程序,CPU与外设并行工作;•一旦外设准备就绪,外设向CPU发中断申请,CPU暂停原程序执行,响应中断,进行数据传输。此时,CPU与外设是串行工作。特点:外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序优点:CPU效率高,实时性好,速度快缺点:程序编制较为复杂以上三种I/O方式的共性均需CPU作为中介:软件:外设与内存之间的数据传送是通过CPU执行程序来完成的(PIO方式)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的缺点:程序的执行速度限定了传送的最大速度(约为几十KB/s)四、DMA控制方式特点:外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供DMA控制方式DMAC外设接口CPUQRDMEMDACKHOLDHLDA…BUS控制信号DMA控制方式的工作过程外设向DMA控制器发出“DMA传送请求”信号DRQDMA控制器收到请求后,向CPU发出“总线请求”信号HOLDCPU在完成当前总线周期后会立即发出HLDA信号,对HOLD信号进行响应DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK当规定的数据传送完
本文标题:微机原理与接口技术第6章 输入输出和中断技术
链接地址:https://www.777doc.com/doc-3156044 .html