位微机原理与接口技术钱晓捷课件

上传人:F****n 文档编号:88210162 上传时间:2019-04-20 格式:PPT 页数:94 大小:512KB
返回 下载 相关 举报
位微机原理与接口技术钱晓捷课件_第1页
第1页 / 共94页
位微机原理与接口技术钱晓捷课件_第2页
第2页 / 共94页
位微机原理与接口技术钱晓捷课件_第3页
第3页 / 共94页
位微机原理与接口技术钱晓捷课件_第4页
第4页 / 共94页
位微机原理与接口技术钱晓捷课件_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《位微机原理与接口技术钱晓捷课件》由会员分享,可在线阅读,更多相关《位微机原理与接口技术钱晓捷课件(94页珍藏版)》请在金锄头文库上搜索。

1、第 7 章 输入输出接口,7.1 I/O接口概述 7.2 无条件传送和程序查询传送 7.3 中断控制系统 7.4 DMA传送,7.1 I/O接口概述,微机的外部设备多种多样 工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大 它们不能与CPU直接相连 必须经过中间电路(I/O接口)再与系统相连 I/O接口是位于基本系统与外设间、实现两者数据交换的控制电路 在PC机主板上的可编程接口电路 系统总线插槽中的电路卡(Card),7.1.1 I/O接口的典型结构,I/O地址外设端口,对应接口寄存器,1. 内部结构,数据寄存器 保存处理器与外设之间交换的数据 数据输入寄存器:保存从输入设备获取的

2、数据,处理器选择合适的方式进行读取 数据输出寄存器:保存处理器发往输出设备的数据,适时到达输出设备 状态寄存器 保存接口电路和外设当前的工作状态信息 控制寄存器 保存处理器控制接口电路和外设操作的有关信息,2. 外部特性,接口电路的外部特性由其引出信号来体现 I/O接口处于处理器与外设之间: 面向微处理器一侧的信号 与处理器总线或系统总线类似 有数据信号、地址信号和控制信号等 面向外设一侧的信号 与外设有关 外设数据信号、外设状态信号和外设控制信号,3. 基本功能,数据缓冲 匹配快速的处理器与相对慢速的外设的数据交换 缓冲:实现接口双方数据传输的速度匹配 信号变换 把信号相互转换为适合对方的形

3、式 计算机直接处理的信号 数字量(0和1组成的信号编码) 开关量(只有两种状态的信号) 脉冲量(低脉冲信号,高脉冲信号),4. 软件编程,接口芯片具有可编程性(Programmable) 命令字(控制字) 写入接口芯片、选择工作方式、控制数据传输 初始化程序 选择I/O接口工作方式、设置原始工作状态等 驱动程序 操纵I/O接口完成具体工作,硬件接口电路需要软件编程配合工作,7.1.2 I/O端口的编址,I/O端口I/O地址,对应I/O接口的寄存器 一个接口电路可以具有多个I/O端口,每个端口用来保存和交换不同的信息 数据寄存器、状态寄存器和控制寄存器占有的I/O地址常依次被称为数据端口、状态端

4、口和控制端口 输入、输出端口可以是同一个I/O地址,如何编排存储器地址和I/O地址?,1. I/O端口与存储器地址独立编址,I/O端口单独编排地址,独立于存储器地址 优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富,80x86采用I/O端口独立编址,2. I/O端口与存储器地址统一编址,将I/O端口与存储器地址统一编排 优点: 不需要专门的I/O指令 I/O数据存取灵活 缺点: 占去部分存储器空间 程序不易阅读,3. I/O地址译码,与存储器地址译码在原理和方法上完全相同 I/O地址不太强调连续,多采用部分译码,

5、7.1.3 输入输出指令,输入指令IN:数据从I/O接口输入到微处理器 IN AL/AX/EAX,i8/DX 输出指令OUT:数据从微处理器输出I/O接口 OUT i8/DX,AL/AX/EAX 串输入INS指令 串输出OUTS指令,1. I/O寻址方式,直接寻址 I/O指令直接提供8位I/O地址 只能寻址最低256个I/O地址(00FFH) 用i8表示I/O地址,表达形式上与立即数一样 DX间接寻址 用DX寄存器保存访问的I/O地址 可寻址全部I/O地址(0000FFFFH) 直接书写成DX,表示I/O地址,64K个 I/O地址,不分段,2. I/O数据传输量,8位I/O传输:I/O指令使用

6、AL 16位I/O传输:I/O指令使用AX 32位I/O传输:I/O指令使用EAX,3. I/O保护,I/O敏感指令 IN、OUT和INS、OUTS,CLI和STI IA-32处理器保护方式下,I/O特权和I/O许可位图限制I/O敏感指令的执行 程序的当前特权高于或等于程序的I/O特权,I/O敏感指令才可以执行 I/O许可位图给特权低的程序或虚拟8086方式的程序提供有限的I/O地址访问权限 Windows限制应用程序访问I/O地址 教材将利用DOS操作系统实践I/O程序,7.1.4 16位DOS应用程序,16位DOS操作系统运行于 Intel 8086和8088处理器 IA-32处理器的实地

7、址工作方式 DOS平台下使用实地址存储模型 只能访问1MB存储空间,分成不大于64KB的段 默认采用16位操作数尺寸: 使用16位或8位寄存器、操作数和寻址方式 堆栈以16位为单位压入PUSH和弹出POP数据 IA-32处理器的实地址工作方式 还允许使用32位寄存器、操作数和寻址方式 执行大多数新增的32位通用指令,1. DOS平台的源程序框架,; eg0700.asm in DOS include io16.inc ; 包含16位输入输出文件 .data ; 定义数据段 ; 数据定义(数据待填) .code ; 定义代码段 start: ; 程序执行起始位置 mov ax,data mov

8、ds,ax ; 主程序(指令待填) exit 0 ; 程序正常执行结束 ; 子程序(指令待填) end start ; 汇编结束,例7-1DOS应用程序,include io16.inc ; 包含16位输入输出文件 .data ; 数据段 msg byte Hello, Assembly!,13,10,0 .code ; 代码段 start: ; 程序起始位置 mov ax,data mov ds,ax mov eax,offset msg call dispmsg ; 调用I/O子程序显示信息 exit 0 ; 程序正常执行结束 end start ; 汇编结束,运行于DOS环境 MAKE1

9、6.BAT汇编连接,操作演示,DOS应用程序,END,温馨提示:EXIT命令关闭DOS窗口,2. DOS功能调用,DOS操作系统的系统函数(功能)以中断服务程序形式提供,采用软件中断进行功能调用,使用寄存器传递参数 基本输入输出系统ROM-BIOS、操作系统DOS和Linux都采用中断调用方式提供系统功能 DOS系统调用一般有如下4个步骤: (1)在AH寄存器中设置系统功能调用号 (2)在指定寄存器中设置入口参数 (3)用中断调用指令(INT N)执行功能调用 (4)根据出口参数分析功能调用执行情况,输出一个字符,dispc proc push eax push edx mov ah,2 mo

10、v dl,al int 21h pop edx pop eax ret dispc endp,输出字符串,dispmsg proc push eax push ebx push edx mov ebx,eax dispm1: mov al,ebx test al,al jz dispm2 mov ah,2 mov dl,al int 21h inc ebx jmp dispm1,dispm2: pop edx pop ebx pop eax ret dispmsg endp,输入一个字符,readc proc mov ah,1 int 21h ret readc endp,输入字符串,read

11、msg proc push ebx push ecx mov ebx,eax mov ecx,eax rdm1: mov ah,1 int 21h cmp al,0dh jz rdm2 mov ebx,al inc ebx jmp rdm1,rdm2: mov byte ptr ebx,0 cmp ebx,ecx jz rdm1 sub ebx,ecx mov eax,ebx pop ecx pop ebx ret readmsg endp,例7-2读取CMOS RAM数据程序1,; eg0702.asm in DOS include io16.inc .code start: mov al,

12、9 ; AL9(准备从9号单元获取年代数据) out 70h,al ; 从70H的I/O地址输出,选择CMOS RAM的9号单元 in al,71h ; 从71H的I/O地址输入,获取9号单元的内容 call disphb ; 显示AL内容,即年代 mov al,- ; 显示分隔符“” call dispc,例7-2读取CMOS RAM数据程序2,mov al,8 ; AL8(从8号单元获取月份数据) out 70h,al in al,71h call disphb ; 显示月份 mov al,- ; 显示分隔符“” call dispc mov al,7 ; AL7(从7号单元获取日期数据)

13、 out 70h,al in al,71h call disphb ; 显示日期 exit 0 end start,19-04-20,显示结果,7.2 无条件传送和程序查询传送,计算机主机有多种与外设传送数据的方式 通过处理器执行I/O指令完成 无条件传送 查询传送 中断传送 以硬件为主,加快传输速度 直接存储器存取(DMA) 使用专门的I/O处理机,7.2.1 无条件传送,处理器与慢速变化的设备交换数据 外设总是处于“就绪”状态,随时可以进行数据传送 无条件传送的接口电路:只考虑数据缓冲 无条件传送的软件编程:十分简单,输入时执行输入IN指令 mov dx,8000h in al,dx mo

14、v bufin,al,输出时执行输出OUT指令 mov al,bufout mov dx,8000h out dx,al,1. 三态缓冲器,三态缓冲器:加有控制端的同相器或反相器 控制端T有效时,控制输入A端输出到Y端 控制端T无效时,输出Y端呈现高阻状态 74LS244:双4位三态同相缓冲器 双向三态缓冲器:两个三态缓冲器构成 输出允许控制端OE*:控制数据的输出 方向控制端DIR:控制数据驱动的方向 74LS245 :8位双向三态缓冲器芯片,示意图,三态缓冲器,返回,2. 锁存器,使用D触发器构成 输入端为D端,控制端为C端 两个相反的输出信号Q和Q* 复位R或置位S控制端 电平锁存:电平

15、控制输出能跟随输入变化 边沿锁存:输出只能锁存输入的状态 74LS273:上升沿锁存的8位边沿锁存器 74LS373:电平锁存的8位三态缓冲锁存器 74LS374:边沿锁存的8位三态缓冲锁存器,示意图,D触发器,返回,3. 接口电路,输入接口电路连接开关:读取开关状态 输出接口电路连接发光二极管LED 功能要求:开关闭合时,将相应LED点亮 调用延时子程序DELAY保持一定时间 mov dx,8000h ;DX指向输入端口 in al,dx ;从输入端口读开关状态 not al ;求反 out dx,al ;送输出端口显示 call delay ;调子程序DELAY进行延时,示意图,无条件传送

16、接口,返回,7.2.2 程序查询传送,查询传送有查询和传送两个环节 首先查询外设工作状态 检测、等待外设准备就绪 进行数据传输,1. 查询过程,设计实现查询功能的电路 连接外设的状态输入信号 保存在状态寄存器中 通过状态端口读取 外设的工作状态在状态寄存器中使用一位或若干位表达,查询通过输入指令来实现 有多个状态,按照一定原则轮流查询,先检测到就绪的外设先开始数据传送 实际中常引入超时判断 查询传送工作可靠,具有较广的适用性 查询需大量时间,效率较低,2. 查询输入接口,读取状态端口查询外设状态,若已就绪,读取数据端口得到外设提供的数据 mov dx,5001h ;DX指向状态端口 status: in al,dx ;读状态端口 test al,01h ;测试状态位D0 jz status ;D00,未就绪,继续查询 dec dx ;D01,就绪,DX改指数据端口 in al,dx ;从数据端口输入数据,示意图,查询输入接口,返回,3. 查询输出接口,读取状态端口查询外设状态,若已就绪,将数据写入数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号