版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8 8章章 输入输出接口输入输出接口第7章 输入输出接口8.1 I/O接口概述8.2 简单IO接口芯片8.3 CPU与外设之间的数据传输方式*8.4 DMA控制器第第8 8章章 输入输出接口输入输出接口8.1 I/接口概述 I/O接口电路是计算机和外设之间传送信息的部件,每个外设部件都要通过相应的接口与系统总线相连,实现与CPU之间的数据交换。接口技术专门研究CPU和外设之间的数据传送方式、接口电路的工作原理和使用方法等。8.1.1 输入/输出信息1.数据信息 CPU和外设交换的基本信息是数据。数据信息大致可分为数字量、模拟量和开关量三种类型。2.状态信息 状态信息反映了外设当前所处的工作
2、状态,是外设发送给CPU的,用来协调CPU和外设之间的操作。3.控制信息 控制信息是由CPU发送给外设,用以控制外设工作。 第第8 8章章 输入输出接口输入输出接口8.1.2 I/O接口的主要功能 输入接口:只有当CPU从该接口输入数据时才允许选定的输入接口将数据送到总线上由CPU读取,其它时间不得占用总线 。因此一般使用三态缓冲器(三态门)。 输出时,CPU通过总线将数据传送到输出接口内的数据寄存器中,然后由外设读取。在CPU向它写入新数据之前该数据将保持不变。 数据寄存器一般由锁存器实现,如74LS373。1.对输入输出数据进行缓冲和锁存 2.对信号的形式和数据的格式进行变换 由计算机直接
3、处理的信号为一定范围内的数字量、开关量和脉冲量,它与外设所使用的信号可能不同。所以,在输入输出时,必须将它们转变成适合对方的形式。 第第8 8章章 输入输出接口输入输出接口4.提供联络信号3.对I/O端口进行寻址 I/O接口处在CPU和外设之间,既要面向CPU进行联络,又要面向外设进行联络。联络的目的是使CPU与外设之间数据传送的速度匹配。联络的具体内容有:状态信息、控制信息和请求信息。 在一个微机系统中,通常会有多个外设。而在一个外设的接口电路中,又可能有多个端口(Port),每个端口用来保存和交换不同信息。每个端口必须有各自的端口地址以便CPU访问。因此,接口电路中应包含地址译码电路使CP
4、U能够寻址到每个端口。 第第8 8章章 输入输出接口输入输出接口8.1.3 I/O接口的结构 数据端口:用于数据信息输入输出的端口。状态端口:CPU通过状态端口了解外设或接口部件本身状态。控制端口:CPU通过控制端口发出控制命令,以控制接口部件或外设的动作。 第第8 8章章 输入输出接口输入输出接口8.1.4 I/O的寻址方式 1存储器映象的I/O寻址 ( (I/OI/O端口与内存统一编址端口与内存统一编址) ) I/O端口与内存统一编址,即I/O端口的地址和内存的地址在同一个地址空间内。所有访问内存的指令都可访问I/O端口,其缺点是占去内存部分空间且难以区分某条指令访问的是内存还是I/O端口
5、。 2I/OI/O映象的映象的I/OI/O寻址寻址 ( (I/OI/O端口独立编址端口独立编址) ) I/O端口有独立的地址空间,即I/O端口的地址和内存的地址不在同一个地址空间内。系统需有专门的输入/输出的指令,需要相应的控制电路和控制信号。好处是I/O端口不占用内存部分地址空间,缺点是需增加硬件电路的复杂性,并且I/O指令一般较少、不如访问内存的指令丰富。 第第8 8章章 输入输出接口输入输出接口8.2 简单IO接口芯片 1.1.锁存器锁存器74LS37374LS373 74LS373是由8个D触发器组成的具有三态输出和驱动的锁存器,使能端G有效时,将输入端(D端)数据打入锁存器,当输出允
6、许端 有效时,将锁存器中锁存的数据送到输出端Q;当 =1时输出为高阻。常用的锁存器还有74LS273,Intel 8282等。 OEOE第第8 8章章 输入输出接口输入输出接口 74LS244是一种三态输出的缓冲器(或称单向线驱动器),74LS244逻辑电路及引脚如图所示,内部线驱动器分为两组,分别有四个输入端(1A11A4,2A12A4)和四个输出端(1Y11Y4,2Y12Y4),分别由使能端 、 控制。当 为低电平,1Y11Y4的电平与1A11A4的电平相同,当 为低电平,2Y12Y4的电平与2A12A4的电平相同;当 (或 )为高电平时,输出1Y11Y4(或2Y12Y4)为高阻态。常用的
7、缓冲器还有74LS240,74LS241等。 2.2.缓冲器缓冲器74LS24474LS244 G1G2G1G2G1G2第第8 8章章 输入输出接口输入输出接口第第8 8章章 输入输出接口输入输出接口 74LS245是一种三态输出的数据收发器(或称双向线驱动器),74LS245逻辑电路及引脚如图所示,16个三态门每两个三态门组成一路双向驱动。由 、DIR两个控制端控制, 控制驱动器有效或高阻态;当 端有效时DIR控制驱动器的驱动方向,DIR=0时,驱动方向为BA;DIR=1时,驱动方向为AB。74LS245的真值表如表所示。常用的数据收发器还有74LS243、Intel 8286、Intel
8、8287等。 GGG使能 方向控制DIR传送方向BAAB隔开74LS24574LS245真值表真值表 3.3.数据收发器数据收发器74LS24574LS245 G第第8 8章章 输入输出接口输入输出接口第第8 8章章 输入输出接口输入输出接口8.3 CPU与外设之间的数据传输方式 微机系统与外设之间的数据传输过程在程序的控制下进行。特点:以CPU为中心,由输入输出程序实现数据传输。两种方式:无条件传输 条件传输(查询方式) 8.3.1 程序方式 第第8 8章章 输入输出接口输入输出接口1.无条件传输方式 一般用于能够确信外设已经准备就绪的场合。如读取开关的状态,LED的显示等。第第8 8章章
9、输入输出接口输入输出接口【例8.1】硬件如下图所示,不断扫描开关Si,当开关闭合时,点亮相应的LEDi,当地址为200H时, 为低电平。 分析:开关Si闭合时,输入为低电平“0”,而点亮相应LEDi,则输出为高电平“1”,输入与输出的关系相反。编写程序时,若采取先读入开关状态,再分析每一位的状态,然后决定LED的亮灭,则该程序显得非常繁琐。 Y第第8 8章章 输入输出接口输入输出接口第第8 8章章 输入输出接口输入输出接口CODE SEGMENTCODE SEGMENT ASSUME CS:CODE ASSUME CS:CODE MAIN PROC FAR MAIN PROC FAR STAR
10、T: PUSH DS START: PUSH DS MOV AX,0 MOV AX,0 PUSH AX PUSH AX AGAIN: MOV DX,200H AGAIN: MOV DX,200H IN AL,DX IN AL,DX ;读取开关状态;读取开关状态 NOT AL NOT AL ;取反;取反 OUT DX,AL OUT DX,AL ;输出控制;输出控制LEDLED JMP AGAIN JMP AGAIN EXIT: RET EXIT: RET ;返回;返回DOSDOS MAIN ENDP MAIN ENDPCODE ENDSCODE ENDS END START END START第
11、第8 8章章 输入输出接口输入输出接口【例8-2】硬件连接如前例图所示,要求LED0LED7循环电亮。 CODE SEGMENT ASSUME CS:CODE MAIN PROC FAR START: PUSH DS MOV AX,0 PUSH AX MOV DX,200H ;设置I/O端口 MOV CL,01H ;设置输出初值第第8 8章章 输入输出接口输入输出接口AGAIN: MOV AH,1 ;读键盘缓冲区字符 INT 16H ;或用DOS功能调用INT 21H CMP AL,1BH ;若为“ESC”键,则退出 JZ EXIT MOV AL,CL OUT DX,AL ;输出控制LED M
12、OV BX,100 ;向子程序传递参数,实现1秒软延时 CALL DELAY ;子程序DELAY实现10ms延时 ROL CL,1 ;循环左移1位 JMP AGAINEXIT: RET第第8 8章章 输入输出接口输入输出接口DELAY PROC NEAR ;延时子程序DELAY PUSH BX PUSH CXWAIT0: MOV CX,2801WAIT1: LOOP WAIT1 DEC BX JNZ WAIT0 POP CX POP BX RETDELAY ENDPMAIN ENDPCODE ENDS END START第第8 8章章 输入输出接口输入输出接口start1: ;IO1.asm
13、mov al,01again: rol al,1 MOV DX,200H OUT DX,AL call DELAY jmp againDELAY PROC NEAR PUSH CX MOV CX,0 DEL2: LOOP DEL2 POP CX RET DELAY ENDP第第8 8章章 输入输出接口输入输出接口;IO2.asmstart1:MOV DX,200H IN AL,DX test al,03 jz exit test al,01 jz next1 test al ,02 jz next2 jmp start1next1:mov al,55H MOV DX,200H OUT DX,A
14、L call DELAY jmp start1next2:mov al,0fh MOV DX,200H OUT DX,AL call DELAY Jmp start1DELAY PROC NEAR PUSH CX MOV CX,0DEL2: LOOP DEL2 POP CX RET DELAY ENDPexit:mov al,0 MOV DX,200H OUT DX,AL 第第8 8章章 输入输出接口输入输出接口2.条件传输方式 CPU不断读取并测试外设的状态,如果外设处于“准备好”状态(输入设备)或“空闲”状态(输出设备),则输入或输出数据。对于条件传输来说,一个条件传输数据的过程一般由三个
15、环节组成:(1) CPU从接口中读取状态字; (2) CPU检测状态字的相应位是否满足“就绪”条件,若不满足,则转1; (3) 若状态位表明外设已处于“就绪”状态,则传输数据。 第第8 8章章 输入输出接口输入输出接口【例8.3】 从终端往缓冲区输入1行字符,当遇到回车符(0DH)或超过81个字符时,输入结束,并自动加上一个换行符(0AH)。如果在输入的81个字符中没有回车符,则在终端上输出信息“BUFFER OVERFLOW”。设终端接口的数据输入端口地址为32H,数据输出端口地址为34H,状态端口地址为36H。状态寄存器的D1=1,表示输入缓冲器已准备好数据,CPU可读取数据;状态寄存器的
16、D0=1,表示输出缓冲器已空,CPU可往终端输出数据。终端接口电路具有根据相应操作对状态寄存器自动置1和清0功能。具体程序如下: 第第8 8章章 输入输出接口输入输出接口DATA SEGMENT MESS DB BUFFER OVERFLOW,0DH,0AH BUFFER DB 82 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,BUFFER MOV CX,81 INPUT: IN AL,36H ;读状态端口 TEST AL,02H ;测输入状态D1位 JZ INPU
17、T ;未“准备好”转第第8 8章章 输入输出接口输入输出接口 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 ;初始化显示字符串首址 OUTPUT:IN AL,
18、36H ;读状态端口 TEST AL,01H ;测输出状态D0位 JZ OUPUT ;输出缓冲器未空,转OUTPUT 第第8 8章章 输入输出接口输入输出接口 MOV AL,SI ;取出输出字符 INC SI OUT 34H,AL ;输出字符 LOOP OUTPUTEXIT: MOV AH,4CH ;返回DOS INT 21HCODE ENDS END START 第第8 8章章 输入输出接口输入输出接口8.3.2 中断方式 程序控制传输方式的缺点是CPU和外设只能串行工作,各外设之间也只能串行工作。 在中断传输方式下,当输入设备将数据准备好或输出设备可以接收数据时,便向CPU发出中断请求,使CPU暂时停止执行当前程序,而去执行数据输入输出的中断服务程序,与外设进行数据传输操作,中断服务程序执行完后,CPU又返回继续执行原来的程序。 利用中断方式进行数据传输,CPU不必花费大量时间在两次输入或输出过程间对接口进行状态测试和等待,从而大大提高了CPU的效率。 第第8 8章章 输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026春招:医疗器械笔试题及答案
- 2026年消防设施的远程监控与控制设计
- 贺新郎辛弃疾课件
- 2026春招:无人机组装测试真题及答案
- 贯标培训课件
- 货运公司安全培训简报课件
- 消化系统疾病诊断与治疗新方法
- 医疗大数据在公共卫生事件预警与应对中的应用
- 医院医疗设备购置规划总结
- 2026年渤海船舶职业学院高职单招职业适应性考试备考试题有答案解析
- 施工员个人工作总结课件
- 四川省泸州市2026届数学高二上期末统考试题含解析
- 2026湖北武汉市文旅集团市场化选聘部分中层管理人员4人笔试参考题库及答案解析
- 中国金融电子化集团有限公司2026年度校园招聘备考题库及一套完整答案详解
- 生物实验探究教学中学生实验探究能力培养与评价体系研究教学研究课题报告
- 校园跑腿行业数据分析报告
- 2025年塔吊指挥员考试题及答案
- 2025福建闽投永安抽水蓄能有限公司招聘21人备考题库附答案
- 2025年昆明市呈贡区城市投资集团有限公司及下属子公司第二批招聘(11人)备考考试题库及答案解析
- 雨课堂在线学堂《社会研究方法》作业单元考核答案
- 如何撰写优秀的历史教学设计
评论
0/150
提交评论