资源描述
1. 假设 (AL)= 73H, (DX)=21CH, (端口21CH)= 95H,执行 MOV DX, 21CH,作业: 6-3, 6-6, 6-10,IN AL, DX,(1) 根据8088CPU在最小模式下的I/O、存储器读/写时序,,描述执行IN指令时8088CPU有关引脚的具体变化过程。,(2) 根据IBM PC/XT总线的I/O读、写周期时序,,描述执行 IN指令时, IBM PC/XT总线上有关引脚的具体过程,如果执行的是 MOV DX, 21CH,OUT DX, AL,有关引脚的具体变化过程?,编写程序,采用无条件传送方式,从端口256h,读入100h个字节数据,3. 某I/O接口的状态寄存器D0位存放外设BUSY的,状态, 其地址为2A3h,D0=1表示外设忙; 该接口的数据寄存器的地址为,2A1h。编写程序,,用查询方式将data为首地址的100个内存单元内容,从该I/O接口输出。,复习:,P212P224, P236P239(第二版),预习:,P223P236, P239P247 (第二版),1、接口和接口技术,外设是用来实现人机交互的一些机电设备。 外设处理信息的类型、速度、通信方式与CPU不匹配, 不能直接挂在总线上,必须通过接口和系统相连,2、为什么要用接口电路?,二、接口电路的典型结构,从编程角度看,接口内部主要包括一个或多个 CPU可以进行读/写操作的寄存器,又称为I/O端口。 各I/O端口由端口地址区分。,按存放信息的不同,I/O端口可分为三种类型 数据端口:用于存放CPU与外设间传送的数据信息 状态端口:用于暂存外设的状态信息 控制端口:用于存放CPU对外设或接口的控制信息, 控制外设或接口的工作方式。,1001 0101 (状态端口),0110 1010 (数据端口),1100 0110 (控制端口),地址 译码,数据 缓冲,控制 电路,外 设,AB,DB,CB,C P U,CPU对外设输入/输出的控制, 是通过对接口电路中各I/O端口的读/写操作完成。,特点: 端口与存储器分别独立编址 端口不占用内存空间 设有专门的 I/O指令对端口进行读写, 对内存操作的指令不能用于I/O端口,1、端口与存储器分别独立编址 (I/O映射方式),例 MOV 10H , AL 对内存操作 IN 10H, AL 对端口操作,2、端口与存储器统一编址 (存储器映射方式),特点: I/O端口相当于内存的一部分, 使内存容量减小 对I/O端口的读/写与对存储器的读/写相同, 所有可对内存操作的指令对I/O端口均可使用, 指令系统中不专设I/O指令。,可寻址220= 1M个内存单元 内存范围00000 FFFFFh 内存单元的地址有5种寻址 可寻址216= 64 K个I/O端口 I/O端口范围0000 FFFFH I/O端口的地址由 一个8位二进制数直接寻址 或DX寄存器间接寻址,例 (1) IN AL,28H 若 (28H端口) = 1010 1111B 执行后 (AL) = (28H端口) = 0AFH (2) IN AX,28H 若 (28H端口)= 1010 1111B (29H端口)= 0101 0000B 执行后 (AL) = (28H端口) = 0AFH (AH) = (29H端口) = 50H (3) MOV DX, 300H IN AL,DX 若 (300H端口)= 69H 执行后 (AL) = (300H端口) = 69H,(2)端口地址可由直接方式或间接方式给出,当端口号在0FFH,即0255时, 可在指令中直接指定端口号 例 IN AL, 21H OUT 20H, AL,当端口号在0FFH,即0255时, 可在指令中直接指定端口号,称长格式指令 当端口号FFH,即255时, 需把端口号放在DX寄存器中,称短格式指令 原因是使用直接端口方式的指令机器码相对长 例 指令 机器码 IN AL, 21H E421 ;两个字节 OUT 20H, AL E620 IN AL, DX EC ;一个字节 OUT DX, AL EE,(3) 可进行字节或字传送 由指令中AL或AX的类型决定,(4) 注意端口地址与端口内容的区别 IN AL, 21H 不等于(AL) 21H OUT DX, AL 不等于 (DX) (AL),IN AL, 20H ;字节传送 IN AX, 20H ;字传送 IN AL, DX ;字节传送 IN AX, DX ;字传送,OUT 20H, AL ;字节传送 OUT 20H, AX ;字传送 OUT DX, AL ;字节传送 OUT DX, AX ;字传送,3. 输入/输出指令时序, 8088CPU最小模式下, I/O端口写周期时序,IBM PC/XT 总线上I/O端口读周期 当CPU 执行 IN 指令时,进入I/O端口读周期, 从指定的端口读入数据到CPU中。,I/O端口读周期时序,例 假设 端口218H的内容为7BH MOV DX,218H IN AL, DX,IBM PC/XT 总线上I/O端口写周期 当CPU 执行 OUT 指令时,进入I/O端口写周期, 将数据写入指定的端口。,I/O端口写周期时序,例 假设 (AL) = 92H MOV DX,319H OUT DX,AL,1、译码电路的作用,将CPU执行IN/OUT指令发出的地址信号, “翻译”成欲操作端口的选通信号,解决存储器、I/O设备与CPU连接时地址总线失配问题。 此信号常作为接口内三态门或锁存器的控制信号, 接通或断开接口数据线与系统的连接。,IN指令时序,OUT指令时序,该电路在CPU执行指令 MOV DX, 200H IN AL, DX 将输入设备的数据读入CPU内AL中,图中译码电路的作用: 只当A15A0上出现200H时, (即0000 0010 0000 0000B) 输出0,其他输出1。,例 一个输入设备的简 单 接 口 电 路,该电路在CPU执行指令 MOV DX, 300H OUT DX, AL 将CPU内AL中的数据送至输出设备,图中译码电路的作用: 只当A15A0上出现300H时, (即0000 0011 0000 0000B) 输出0,其他输出1。,219H 21AH 21BH 21CH 21DH 21EH 21FH,218H,74LS138 3-8译码器,A Y0 B Y1 C Y2 G1 Y3 Y4 G2A Y5 Y6 G2B Y7,0 1 1 0 0 0 0 1 0 0,&,&,端 口 译码电路,A0 A1 A2 AEN A3 A4 A5 A6 A7 A8 A9 IOR IOW,PC 总 线,74LS138 3-8译码器,218H,A Y0 B Y1 C Y2 G1 Y3 Y4 G2A Y5 Y6 G2B Y7,0 1 1 0 0 0 0 1 0 0,&,&,端 口 译码电路,A2 A1 A0 AEN A3 A4 A5 A6 A7 A8 A9 IOR IOW,PC 总 线,218H 21CH 21AH 21EH 219H 21DH 21BH 21FH,概述 1。无条件传送(CPU与外设同步工作): 外部控制过程各种动作时间是固定的,而且是已知的。 2。查询方式(CPU与外设不同步工作): 传送前,先查询外设状态,准备好才传送,否则CPU处于等待状态。 3。中断方式: 外设与CPU处于并行工作,一旦外设准备好,外设向CPU发中断申请,条件具备,CPU暂停原程序执行,响应中断,外设与CPU串行工作。 4。DMA方式(高速I/O及成组交换数据): CPU不干予,由硬件实现存储器与外设之间交换数据,称直接存取存储器。,例2 无条件输出 : 编程控制系统板上扬声器发声。,查询传送方式,编程流程:,查询方式输入接口, 参看教材图6-10,使用中断方式时: 外设准备数据,CPU执行程序, CPU与外设并行工作; 一旦外设准备就绪,外设向CPU发中断申请, CPU暂停原程序执行,响应中断,进行数据传输。此时,CPU与外设是串行工作。,中断方式 输入接口:,某位未屏蔽, 中断屏蔽触发器 置0,Q=0,(1)当外设数据准备好,外设向接口电路发出选通信号: 将数据打入锁存器;同时将中断请求触发器置“1”, (2)若此时,中断请求屏蔽触发器置“0”, =1,Q=0, 允许本接口发出中断, 接口电路向CPU发出中断请求信号INTR=1; (3)CPU在运行程序时不断访问INTR,若查到INTR=1信号, 且CPU内部中断允许标志IF=1, 则CPU在现行指令执行完后, 暂停程序的执行,向接口电路发出中断响应信号 。 (4)外设把中断类型号送上数据总线; (4N)=(IP),(4 (N+2)=(CS) (5)CPU转入中断服务程序,执行IN指令,读入数据; 清除中断请求标志。当中断处理完后,返回原程序。,DMA传送方式的特点 1. 外设和内存之间,直接进行数据传送, 不通过CPU, 传送效率高。 适用于在内存与高速外设、 或两个高速外设之间进行大批量数据传送。 2. 电路结构复杂,硬件开销较大。,接收接口往DMA控制器发出DMA请求信号后, DMA控制器能向CPU发出总线请求信号HOLD(高电平)。 当CPU向DMA发出响应信号HLDA(高电平)以后, DMA能接管对总线的控制,进入DMA方式。 能向地址总线发出内存地址信息, 对其进行寻址及修改地址指针。 能向存储器或外设发 , 命令。 能决定传送字节数,并判断DMA传送是否结束。 DMA过程结束,能向CPU发出DMA结束信号,HOLD变低,将总线控制权还给CPU,CPU恢复正常工作。,DMA控制器功能,DMA控制器工作原理,当外设输入数据准备好,外设向DMA发出一个选通信号, 将数据送数据端口;向DMA发出请求。 DMA控制器向CPU发出总线请求信号(HOLD)高电平。 CPU在现行总线周期结束后响应, 向DMA发出响应信号(HLDA)高电平; CPU放弃对总线控制,DMA控制器接管三态总线, 接口将数据送上数据总线,并撤消DMA请求; 内存收到数据以后,给DMA一个回答,于是DMA修改地址指针, 改变传送字节数。检查传送是否结束。没有结束, 下次接口准备好数据, 再进行一次新的传输; 当计数值计为0,DMA传输过程便告结束。 DMA控制器撤消总线请求(HOLD变低),在下一个时钟周期上升沿使总线响 应HLDA变低,DMA释放总线,CPU取得总线控制权。,DMA控制器工作原理(续),DMA控制器工作原理(续),用DMA方式进行输出过程与输入过程类似, 只是在DMA控制器发出回答信号后 接着发出的是IO写信号和存储器读信号, 数据传送方向与输入相反而已。,DMA控制器工作原理(续),一、接口技术的现状,1用简单的逻辑电路 2用可编程集成接口芯片 3用多功能的芯片组 4. ?,简单的逻辑电路:,简单的逻辑电路:,简单的逻辑电路:,简单的逻辑电路:,2. 用可编程集成接口芯片,将完成某一功能的接口电路集成在一个芯片上, 通过对接口芯片编程,设置接口芯片的工作状态。 特点: 1. 体积小、功能强、可靠性高 2. 通常是专门为配合微机系统中的各种适配器设计, 不必增加或增加很少的电路,就可直接与总线连接, 使用方便。 3. 应用时,应掌握芯片的工作原理、外部特性、编程方法。,接口芯片举例: 并行接口芯片 8255A、8155A、Z80-PIO 串行接口芯片 8251A、8250、Z80-SIO 定时/计数器 8253、8254、Z80-CTC 中断控制器 8259A DMA控制器 8237A、Z80-DMA 键盘控制器 8279 CRT控制器 8275、6845 硬盘控制器 6843 D/A转换器 DAC0832 A/D转换器 ADC0809,1. 了解外设工作原理,明确接口功能,选择接口芯片,二、注意事项,
展开阅读全文