第6章输入输出及中断技术主要内容输入输出系统的基本概念I/O接口和端口端口的编址方式简单接口芯片及其应用基本输入输出方法中断的基本概念及工作过程中断控制器8259返回I/O系统的概念和特点接口的基本功能端口的概念端口的编址方式I/O地址译码返回一、输入输出系统概述了解和掌握:1、输入输出系统的组成及特点组成:I/O设备,I/O接口,I/O软件特点:复杂性实时性异步性与设备无关性返回2、I/O接口和端口I/O接口:将外设连接到总线上的一组逻辑电路的总称。实现外设与主机之间的信息交换。I/O端口:接口中的寄存器返回(1)I/O接口要解决的问题速度匹配(Buffer)信号的驱动能力(电平转换器、驱动器)信号形式和电平的匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门)返回(2)I/O接口的功能I/O地址译码与设备的选择数据的缓冲与暂存信号电平与类型的转换增加信号的驱动能力对外设进行监测、控制与管理,中断处理返回(3)I/O端口数据端口状态端口控制端口(命令端口)返回CPU数据状态控制外设I/O接口DB3、I/O端口的编址方式8086/8088的寻址能力:(1)内存:1MB(2)端口:64KB编址方式:(1)与内存统一编址(2)独立编址返回(1)端口与内存的统一编址优点:指令及控制信号统一可用访问内存的方法访问I/O端口缺点:内存地址资源减少不易区分当前是对内存操作还是对外设进行操作内存地址960KBI/O地址64KB00000HF0000HFFFFFH返回(2)端口的独立编址优点:内存地址资源充分利用I/O端口的地址空间与内存地址空间完全独立缺点:能够应用于端口的指令较少内存地址I/O地址00000HFFFFFHFFFFH0000H返回端口的寻址8088/8086寻址端口数:64KB寻址端口的信号:IOR、IOWA15~A0返回8088/8086的I/O端口编址采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用IO/M来区分I/O操作只使用20根地址线中的16根:A15~A0可寻址的I/O端口数为64K(65536)个I/O地址范围为0000H~FFFFH返回4、I/O地址的译码目的:确定端口的地址参加译码的信号:(1)IOR,IOW,高位地址信号(2)OUT指令将使总线的IOW信号有效(3)IN指令将使总线的IOR信号有效方法:(1)基本逻辑门电路(2)译码器返回I/O译码的地址信号当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。返回I/O地址译码例题返回某外设接口有4个端口,地址为2F0H—2F3H,由A15~A2译码得到,而A1、A0用来区分接口中的4个端口。试画该接口与系统的连接图。(1)写出地址范围地址范围:××××001011110000××××001011110011任意状态A11片内地址图中不接入返回(2)画出译码电路图:≥1A11A10A8A3A2A9A7A4┇&CEA1A0接口芯片返回了解和掌握:接口电路的分类及特点两类简单接口芯片的应用返回二、简单接口电路1、接口的基本构成数据线控制线状态线DBCBAB数据输入寄存器(or三态门)数据输出寄存器(锁存器)状态寄存器(or三态门)命令寄存器译码电路控制逻辑返回(1)接口的基本构成数据输入/输出寄存器暂存输入/输出的数据命令寄存器存放控制命令设定接口功能、工作参数和工作方式。状态寄存器保存外设当前状态,以供CPU读取。返回(2)接口的分类按传输信息的方向分类:(1)输入接口(2)输出接口按传输信息的类型分类:(1)数字接口(2)模拟接口按传输信息的方式分类:(1)并行接口(2)串行接口返回输入接口:(1)要求对数据具有控制能力(2)常用三态门实现输出接口:(1)要求对数据具有锁存能力(2)常用锁存器实现返回(3)接口的特点2、三态门接口三个状态:高电平、低电平、高阻态返回(1)三态门的工作波形A0~A15IOR译码输出D0~D7开关状态地址有效返回(2)三态门典型芯片74LS244返回除用作输入接口外,还可用作单向信号驱动器!含8个三态门的集成电路芯片两个控制端,各控制4个三态门控制端低电平有效,三态门导通74LS244A12A24A36A481OE1Y118Y216Y314Y412A511A613A715A817Y59Y67Y75Y832OE19返回74LS245A02A13A24A35A46A57A68A79G19DIR1B018B117B216B315B414B513B612B711(3)三态门典型芯片74LS245除用作输入接口外,还可用作双向信号驱动器DIR作为驱动方向控制端(DIR=0,B到A,DIR=1,相反)返回(4)三态门接口应用例题编写程序判断下图中的开关状态,如果所有的开关都闭合,则程序转向标号为NEXT1的程序段执行,否则转向标号为NEXT2的程序段执行。返回K6K7+5VI0I3D0-D7DO0DO7~74LS244E1E2≥1&A2A3A4A5A6A7A8A9A10A11A12A13A14A15IOR系统总线信号≥1K5K4K3K2K1K0I1I2I4I5I6I7返回程序段如下:MOVDX,83FCHINAL,DXANDAL,0FFHJZNEXT1JMPNEXT2地址线A0和A1未参加译码,因此所占用的地址为83FCH~83FFH,可用其中任何一个地址,其他重叠的3个地址空着不用,同时,开关闭合时输入为低电平。返回3、锁存器接口由D触发器构成通常一个器件包含8个D触发器特点:具有对数据的锁存能力不具备对数据的控制能力返回(1)常用锁存器芯片74LS273--8D触发器,不具备数据的控制能力74LS373--含三态的8D触发器,具有对数据的控制能力74LS374--含三态的8D触发器,具有对数据的控制能力返回74LS273D13D24D37D48D513D614D717D818CLK11CLR1Q12Q25Q36Q49Q512Q615Q716Q81974LS373D03D14D27D38D413D514D617D718OE1LE11Q02Q15Q26Q39Q412Q515Q616Q71974LS273D13D24D37D48D513D614D717D818CLK11CLR1Q12Q25Q36Q49Q512Q615Q716Q819D1~D8:数据输入端Q1~Q8:数据输出端CLK:触发端,上升沿触发/CLR:复位端,低电平有效时,数据输出端全部输出数据074LS273引线图和真值表返回74LS27374LS373返回74LS373D03D14D27D38D413D514D617D718OE1LE11Q02Q15Q26Q39Q412Q515Q616Q719D0~D7:数据输入端Q0~Q7:数据输出端/OE:输出使能端,低电平有效/LE:锁存允许端,高电平时,输出随输入改变低电平时,锁存数据74LS273引线图和真值表74LS374D0~D7:数据输入端O0~O7:数据输出端/OE:输出使能端,低电平有效CP:时钟信号,上升沿有效74LS374引线图和真值表返回4、I/O接口综合应用例题根据开关状态在7段数码管上显示数字或符号设输出接口的地址为F0H设输入接口地址为F1H当开关的状态分别为0000~1111时,在7段数码管上对应显示‘0’~‘F’(即:开关状态为0000时,数码管显示0)返回O1I1O2I2O3I3O4I4E1K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7abcdefgDP7406反相器74LS273Rx8≥174LS138D0~D7IOWIORY0Y1F0H=11110000F1H=11110001&A6~A4A3A2A1A0D0D1D2D3译码器A7A01返回符号形状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’01110001返回三、基本输入/输出方法无条件传送查询式传送中断方式传送直接存储器存取(DMA)程序控制方式返回1、无条件传送方式要求外设总是处于准备好状态优点:软件及接口硬件简单缺点:只适用于简单外设,适应范围较窄以下外设可采用无条件传送方式:(1)开关(2)发光器件(如发光二极管、7段数码管、灯泡等)(3)继电器(4)步进电机返回程序代码MOVDX,0FFF7HINAL,DXTESTAL,01JZ………….D0=0K闭合D0=1K打开OOOOO+5VK与非与非或D0A0A7A8A15IOR…...三态缓冲器A2A3A4.....O输入数据端口端口地址:0FFF7H无条件输入-例题返回程序代码MOVAL,81HMOVDX,0FF00HOUTDX,AL无条件输出-例题或D0~D7A0A7A8A15…..…...IOWOOOO+5V+5VD0~D7CPO0O774LS2738D触发器锁存输出与非或非输出数据端口端口地址:0FF00HOO返回2、查询工作方式CPU在与外设交换数据前必须询问外设状态“你准备好没有?”,仅当外设准备好时才能进行数据传送每满足一次条件只能进行一次数据传送适用场合:(1)外设并不总是准备好(2)对传送速率和效率要求不高工作条件:(1)外设应提供设备状态信息(2)接口应具备状态端口返回优点:软硬件比较简单缺点:(1)CPU效率低(2)数据传送的实时性差,速度较慢返回(1)查询传送方式优缺点初始化外设是否准备好?输出一个字节或字到外设操作完成否?开始后续处理查询方式输出过程流程图是否初始化测试数据是否准备好输入一个字节或字到CPU对数据进行处理传送到内存缓冲区操作完成否?处理缓冲区中数据开始后续处理查询方式输入过程流程图否是(2)查询传送输入输出过程流程图返回READY?进行一次数据交换读入并测试外设状态YN传送完?Y结束N开始每满足一次条件只能进行一次数据传送返回超时?READY?与外设进行数据交换超时错读入并测试外设状态YNYN传送完?防止死循环复位计时器NY结束N返回单一外设和多个外设查询流程图见书p244。(3)查询工作方式例题外设状态端口地址为03FBH,第5位(bit5)为状态标志(=1忙,=0准备好)外设数据端口地址为03F8H,写入数据会使状态标志置1;外设把数据读走后又把它置0。试画出其电路图,并将DATA下100个数据输出。返回D5D7-D0A9|A3≥1&A15|A10≥1IOWD7-D03F8H外设D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0状态端口GG2AG2BCBAA2A1A074LS138Y0≥1IORY3OE74LS3743FBH返回LEASI,DATAMOVCX,100AGAIN:MOVDX,03FBHWAITT:INAL,DXTESTAL,20HJNZWAITTMOVDX,03F8HMOVAL,[SI]OUTDX,ALINCSILOOPAGAINHLT读状态进行一次传送Bit5=1?传送完否?修改地址指针初始化YNNY结束返回3、中断控制方式特点:外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序。优点:CPU效率高,实时性好,速度快。缺点:程序编制相对较为复杂返回以上三种I/O方式的共性信息的传送均需通过