第8章输入输出接口新_第1页
第8章输入输出接口新_第2页
第8章输入输出接口新_第3页
第8章输入输出接口新_第4页
第8章输入输出接口新_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第一节第一节 接口技术的基本概念接口技术的基本概念一、一、 接口的概念和功能接口的概念和功能二、二、 接口电路的典型结构接口电路的典型结构2一、一、 接口的概念和功能接口的概念和功能1、接口和接口技术、接口和接口技术接口接口 指指CPU、存储器、外设之间通过总线进行连接的电、存储器、外设之间通过总线进行连接的电路部分,是路部分,是CPU与外界进行信息交换的中转站。与外界进行信息交换的中转站。接口技术接口技术 是研究是研究CPU如何与外部世界进行最佳耦合与匹配,如何与外部世界进行最佳耦合与匹配,实现双方高效、可靠地交换信息的一门技术,是软实现双方高效、可靠地交换信息的一门技术,是软件、硬件结合

2、的体现,是微机应用的关键。件、硬件结合的体现,是微机应用的关键。3数据总线数据总线 DB控制总线控制总线 CB地址总线地址总线 AB存存储储器器I/O接接口口输输入入设设备备I/O接接口口输输出出设设备备CPU微型计算机的结构示意图微型计算机的结构示意图2、为什么要用接口电路?、为什么要用接口电路?4v从上可以得到:从上可以得到:(1 1)所有的外部信息到)所有的外部信息到CPUCPU都要经过各种各样都要经过各种各样的的接口接口。(2 2)接口把)接口把外部的输入信息变成计算机能识外部的输入信息变成计算机能识别的数据别的数据,由计算机来处理。,由计算机来处理。 接口把计算机输出的接口把计算机输

3、出的数据变成外设能识别数据变成外设能识别的信息的信息,实现对外设的控制。,实现对外设的控制。5v接口电路中的信息:接口电路中的信息:数据信息:数字量、模拟量、开关量数据信息:数字量、模拟量、开关量状态信息状态信息控制信息控制信息对应的端口:对应的端口:数据口、状态口、命令口数据口、状态口、命令口6外设是用来实现人机交互的一些机电设备。外设是用来实现人机交互的一些机电设备。外设处外设处理信息的类型、速度、通信方式与理信息的类型、速度、通信方式与CPU不匹配不匹配,不不能直接挂在总线上,必须通过接口和系统相连能直接挂在总线上,必须通过接口和系统相连CPU接接口口作作用用外外设设模模/数数转转换换(

4、 (A/ /D) )数数/模模转转换换( (D/ /A) )模模拟拟量量信信息息类类型型数数字字量量三三态态缓缓冲冲、锁锁存存数数字字量量工工作作速速度度快快解解决决传传送送方方式式慢慢串串/并并转转换换并并/串串转转换换串串行行通通信信方方式式并并行行三三态态缓缓冲冲、锁锁存存并并行行7v接口应具有的功能接口应具有的功能 信号转换功能:信号转换功能: 输入:外设的数据或信息输入:外设的数据或信息微机相容微机相容 输出:微机输出数据或信息输出:微机输出数据或信息外设相容外设相容 设备的选择功能:设备的选择功能: 只有选中的设备才能与只有选中的设备才能与CPUCPU进行数据交换或通信;进行数据交

5、换或通信; I/OI/O接口中通常都有接口中通常都有地址译码和设备选择逻辑地址译码和设备选择逻辑。 数据缓冲功能:数据缓冲功能: 解决解决CPUCPU高速与外设低速的矛盾,避免因速度不高速与外设低速的矛盾,避免因速度不一致而丢失数据。一致而丢失数据。8 接收和执行接收和执行CPUCPU命令的功能:命令的功能: 接口电路对接收到的命令代码进行识别和分析,接口电路对接收到的命令代码进行识别和分析,产生若干个控制信号,传到产生若干个控制信号,传到I/OI/O设备,产生相应设备,产生相应的操作。的操作。 中断管理功能:中断管理功能: 在接口中设置中断控制器,为在接口中设置中断控制器,为CPUCPU处理

6、有关中断处理有关中断事务如:中断请求、中断优先级排队等。事务如:中断请求、中断优先级排队等。 可编程能力:可编程能力: 增加接口的增加接口的灵活性和可扩充性灵活性和可扩充性。9二、接口电路的典型结构二、接口电路的典型结构从编程角度看,接口内部主要包括从编程角度看,接口内部主要包括一个或多个一个或多个 CPU可以进行读可以进行读/写操作的写操作的寄存器寄存器,又称为,又称为I/O端口端口。各各I/O端口由端口由端口地址区分端口地址区分。数据信息数据信息状态信息状态信息控制信息控制信息10按存放信息的不同,按存放信息的不同,I/O端口可分为三种类型端口可分为三种类型数据端口数据端口:用于:用于存放

7、存放CPU与外设间传送的与外设间传送的数据信息数据信息 状态端口:状态端口:用于用于暂存外设的状态信息暂存外设的状态信息控制端口控制端口:用于:用于存放存放CPU对外设或接口的控制信息对外设或接口的控制信息, 控制外设或接口的工作方式控制外设或接口的工作方式。CPU对外设输入对外设输入/输出的控制输出的控制, 是通过是通过对接口电路中各对接口电路中各I/O端口的读端口的读/写操作完成。写操作完成。11第二节第二节 I/OI/O端口的编址和译码端口的编址和译码一、一、 I/O端口的编址方式端口的编址方式二、二、8088的输入的输入/输出指令和时序输出指令和时序三、三、I/O端口的译码端口的译码1

8、2一、一、I/O端口的编址方式端口的编址方式1、端口与存储器分别独立编址端口与存储器分别独立编址2、端口与存储器统一编址端口与存储器统一编址13特点:特点:l端口与存储器分别独立编址端口与存储器分别独立编址 端口不占用内存空间端口不占用内存空间l设有专门的设有专门的 I/O指令对端口进行读写,指令对端口进行读写, 对内存操作的指令不能用于对内存操作的指令不能用于I/O端口端口例例 Intel的的80X86系列、系列、Z80系列系列I/O空空间间内内存存空空间间1、端口与存储器分别独立编址端口与存储器分别独立编址 (I/O映射方式)映射方式)例例 MOV 10H , AL 对内存操作对内存操作

9、IN 10H, AL 对端口操作对端口操作 142、端口与存储器统一编址、端口与存储器统一编址 (存储器映射方式)(存储器映射方式)特点特点:lI/O端口相当于内存的一部分端口相当于内存的一部分, 使内存容量减小使内存容量减小l对对I/O端口的读端口的读/写与对存储器的读写与对存储器的读/写相同,写相同, 所有可对内存操作的指令对所有可对内存操作的指令对I/O端口均可使用,端口均可使用, 指令系统中不专设指令系统中不专设I/O指令。指令。例例 motorola的的M6800系列系列 日立日立H8S单片机系列单片机系列内内存存空空间间I/O空空间间15二二 、8088的输入的输入/输出指令和时序

10、输出指令和时序1. 输入指令输入指令IN2. 输出指令输出指令OUT输入输入/输出指令输出指令实现实现I/O端口与端口与CPU之间的数据传送之间的数据传送161. 输入指令输入指令IN格式格式执行操作执行操作IN AL, port(AL) (port 端口端口)IN AX, port(AL) (port 端口端口)(AH) (port+1 端口端口) IN AL, DX(AL) (DX)端口端口) IN AX, DX(AL) (DX)端口端口)(AH) (DX)+1 端口端口)port 为数字形式的端口地址为数字形式的端口地址, 大小为大小为0255 或或0FFH17例例 (1) IN AL,

11、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端口端口) = 69H182. 输输出出指令指令OUTport 为数字形式的端口地址为数字形式的端口地址, 大小为大小为02

12、55 或或0FFH格式格式执行操作执行操作OUT port, AL (port 端口端口) (AL)OUT port, AX (port 端口端口) (AL) (port+1 端口端口) (AH) OUT DX, AL(DX)端口端口) (AL) OUT DX, AX (DX)端口端口) (AL)(DX)+1 端口端口) (AH)19(1) OUT 21H, AL 若若(AL)= 1100 1100B 执行后执行后 (21H端口端口) = 0CCH(2) MOV DX , 21BH OUT DX, AL 若(若(AL)= 1010 0110B 执行后执行后 (21BH端口端口)= (AL) =

13、 0A6H例例20(1) 累加器累加器AL、AX的专用指令的专用指令 对输入指令对输入指令IN ,目的操作数只能为,目的操作数只能为AL, 或或AX IN AL, 21H IN AX, DX IN BX, 21H 对输出指令对输出指令OUT ,源操作数只能为,源操作数只能为AL, 或或AX OUT 20H, AL OUT DX, AX OUT DX, CX 输入输入/输出指令(输出指令(IN、OUT)特点:)特点:21(2)端口地址可由直接方式或间接方式给出端口地址可由直接方式或间接方式给出 例例 OUT 219H, AL MOV DX, 219H OUT DX, AL例例 IN AL, 21

14、8H MOV DX, 218H IN AL, DX 当端口号当端口号FFH,即,即255时时, 需把端口号放在需把端口号放在DX寄存器中,寄存器中, DX是一个是一个16位寄存器,范围在位寄存器,范围在0FFFFh之间。之间。当端口号在当端口号在0FFH,即即0255时,时, 可在指令中可在指令中直接直接指定端口号指定端口号例例 IN AL, 21H OUT 20H, AL22(3) 可进行字节或字传送可进行字节或字传送 由指令中由指令中AL或或AX的类型决定的类型决定(4) 注意端口地址与端口内容的区别注意端口地址与端口内容的区别 IN AL, 21H 不等于不等于(AL) 21H OUT

15、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 ;字传送字传送23三、三、I/O端口的译码端口的译码1. 译码电路的作用译码电路的作用 2. 译码电路的构成译码电路的构成 3. 设计译码电路的方法设计译码电路的方法 4. 片内译码和片选译码片内译码和片选译码241、译码电路的作用、译码电路的作用将将CPU执行执

16、行IN/OUT指令发出的指令发出的地址信号地址信号,“翻译翻译”成欲操作端口的选通信号,成欲操作端口的选通信号,此信号常作为此信号常作为接口内接口内三态门或锁存器的控制信号三态门或锁存器的控制信号,接通或断开接口数接通或断开接口数据线与系统的连接。据线与系统的连接。IN指令时序指令时序A15A0IORCLKD7 D0T4T1T2T3TwA15A0CLKIOWD7D0T4T1T2T3 TwOUT指令时序指令时序25该电路在该电路在CPU执行指令执行指令 MOV DX, 200H IN AL, DX将输入设备的数据读入将输入设备的数据读入CPU内内AL中中图中译码电路的作用图中译码电路的作用:只当

17、只当A15A0上出现上出现200H时,时,(即(即0000 0010 0000 0000B)输出输出0,其他输出,其他输出1。例例 一个输入设备的简一个输入设备的简 单单 接接 口口 电电 路路三三 态态缓冲器缓冲器输入输入设备设备数据数据 线线IOR地址地址译码译码地址线地址线 200H000D7 D0A15A0与与非非PC总线总线26执行执行: MOV DX, 200H IN AL, DX 三三 态态缓冲器缓冲器输入输入设备设备数据数据 线线IOR地址地址译码译码地址线地址线 200H000D7 D0A15A0与与非非PC总总线线IN指令时序指令时序A15A0IORCLKD7 D0T4T1

18、T2T3Tw0000 0010 0000 000027输入设备接口电路,即硬件上保证输入设备接口电路,即硬件上保证:只在只在CPU执行从执行从200H端口端口输入数据时,输入数据时, 三态门处于工作状态三态门处于工作状态,使输入设备的数据送上总线侧,使输入设备的数据送上总线侧,而而CPU执行其它指令时执行其它指令时, 三态门均处于高阻状态三态门均处于高阻状态, 使输入设备的数据线与总线侧断开使输入设备的数据线与总线侧断开三三 态态缓冲器缓冲器输入输入设备设备数据数据 线线IOR地址地址译码译码地址线地址线 200H000D7 D0A15A0与与非非PC总总线线MOV DX, 200HIN AL

19、, DX28该电路在该电路在CPU执行指令执行指令 MOV DX, 300H OUT DX, AL 将将CPU内内AL中的数据送至输出设备中的数据送至输出设备图中译码电路的作用图中译码电路的作用:只当只当A15A0上出现上出现300H时,时,(即(即0000 0011 0000 0000B)输出输出0,其他输出,其他输出1。例例 一个输出设备的简一个输出设备的简 单单 接接 口口 电电 路路PC总线总线锁存器锁存器输出输出设备设备数据线数据线IOW地址地址译码译码地址线地址线 300H000D7 D0A15A0与与非非29OUT指令时序指令时序执行:执行: MOV DX, 300H OUT D

20、X, AL A15A0CLKIOWD7D0T4T1T2T3 TwPC总线总线锁存器锁存器输出输出设备设备数据线数据线IOW地址地址译码译码地址线地址线 300H000D7 D0A15A0与与非非0000 0110 0000 000030输出设备接口电路,即硬件上保证输出设备接口电路,即硬件上保证:只在只在CPU执行从执行从300H端口端口输出数据时,输出数据时,锁存器处于触锁存器处于触发状态,其输出随输入变化,发状态,其输出随输入变化,而而CPU执行其它指令时执行其它指令时,锁存器均处于锁存状态锁存器均处于锁存状态, 其输出其输出不随输入变化,不随输入变化,PC总总线线锁存器锁存器输出输出设备

21、设备数据线数据线IOW地址地址译码译码地址线地址线 300H000D7 D0A15A0与与非非MOV DX, 300HOUT DX, AL312、译码电路的构成译码电路的构成门电路门电路: 与门、非门、或门、与非门、或非门专用译码器:专用译码器: 2-4线译码器 74LS139 3-8线译码器 74LS138 4-16线译码器 74LS154 等可编程器件可编程器件 GAL 、CPLD、FPGA等323、设计译码电路的方法设计译码电路的方法 据端口地址确定地址信号据端口地址确定地址信号A15A0的取值,用的取值,用门电路、译码器或两者组合实现满足此取值情况门电路、译码器或两者组合实现满足此取值

22、情况的电路的电路。设计译码电路时:设计译码电路时: 1. 端口的选通信号通常为低电平有效端口的选通信号通常为低电平有效 2. 除端口的地址信号参加译码外,除端口的地址信号参加译码外, 控制信号控制信号IOW、IOR (IO/M、 AEN也可参加译码也可参加译码)33译译码码电电路路A0A1A8A9IORIOWAEN译码电路示意图译码电路示意图3474LS138译码器功能表译码器功能表74LS1383-8译码器译码器A Y0B Y1C Y2 Y3 G1 Y4 G2A Y5G2B Y6 Y7 使使能能输输入入选选择择输输入入G1G2A G2BCBAY0 Y7 输输出出100000Y0 = 0,其其

23、余余为为1100001Y1 = 0,其其余余为为1100010Y2 = 0,其其余余为为1100011Y3 = 0,其其余余为为1100100Y4 = 0,其其余余为为1100101Y5 = 0,其其余余为为1100110Y6 = 0,其其余余为为1100111Y7 = 0,其其余余为为10全全部部为为11全全部部为为11全全部部为为135例例 设计端口地址为设计端口地址为218H的译码电路的译码电路分析分析 CPU执行执行IN/OUT指令时,发出端口的地址信号指令时,发出端口的地址信号 MOV DX, 218H IN AL, DX 或或 OUT DX, AL对应对应218H端口的地址信号为(

24、取端口的地址信号为(取A9A0):): A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 ( (地址信号地址信号) ) 1 0 0 0 0 1 1 0 0 0 B 2 1 8 H只要满足此地址取值的译码电路均可只要满足此地址取值的译码电路均可36方法一、方法一、用门电路实现用门电路实现218H的地址译码的地址译码数数 据据 线线 DBRDWRCS端口端口译码译码电路电路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口接口PC总线总线D0D7D0D710000110000&译码电路部分满足:译码电路部分满足:只当地址信号只当地址信号A9 A0为为:A9 A8 A7

25、 A6 A5 A4 A3 A2 A1 A0 1 0 0 0 0 1 1 0 0 0即即218H时,输出时,输出0, 使使I/O接口的接口的CS有效有效否则输出否则输出1 使使I/O接口的接口的CS无效无效37数数 据据 线线 DBRDWRCS端端 口口译码电路译码电路0A9A8A7A6A5A4A3A2A1A0AENIORIOWI/O接口接口PC总线总线D0D7D0D710000110000&注意译码电路中:注意译码电路中:由于高位地址线由于高位地址线A15A10未参与译码未参与译码, 即即:地址地址A15A0为:为: 10 0001 1000均能输出均能输出0, 0, 所以该电路使:所以该电路

26、使:一个端口对应多个地址一个端口对应多个地址 共共26= =64个个 218,618, A18,E18 等等等等38当端口地址信号为当端口地址信号为:A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 0 0 1 1 0 0 0即即 218H时时, Y0输出输出0,使使I/O接口的接口的CS有效有效方法二方法二、用译码器、门电路组合实现、用译码器、门电路组合实现218H的地址译码的地址译码74LS1383-8译码器译码器218HA Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 0000110000100&A0A1A2AENA3A4A5A6A7A8A

27、9IORIOWPC总线总线CSI/O接口接口D0D7&RDWR数数 据据 线线 DBD0D7端端 口口译码电路译码电路39219H21AH21BH21CH21DH21EH21FH218H思考思考1: 1. Y2 Y7 译出的端口地址各是多少?译出的端口地址各是多少?74LS1383-8译码器译码器A Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 0110000100&端端 口口译码电路译码电路A0A1A2AENA3A4A5A6A7A8A9IORIOWPC总总线线1 0 1 0 1 0 1 01 1 0 0 1 1 0 01 1 1 1 0 0 0 0Y7 Y6 Y5

28、Y4 Y3 Y2 Y1 Y040思考思考2: 将将A0与与A2位置互换,位置互换, Y0 Y7译出的地址各是多少?译出的地址各是多少?74LS1383-8译码器译码器A Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 0110000100&端端 口口译码电路译码电路A2A1A0AENA3A4A5A6A7A8A9IORIOWPC总总线线411根据电路先确定与使能控制连接的信号根据电路先确定与使能控制连接的信号: G1=1 即:即: AEN=0 A9 A8 A7 A6 A5 A4 A3 G2A=0 1 0 0 0 0 1 11 0 0 0 0 1 1 G2B=0 IOW 或

29、或 IOR为为02再分析与选择控制再分析与选择控制C、B、A 相连的各引脚相连的各引脚3最后综合所有地址信号的取值,得出结论最后综合所有地址信号的取值,得出结论 分析方法:分析方法:外部连线可变,而外部连线可变,而74LS138芯片的工作原理不变。芯片的工作原理不变。4274LS1383-8译码器译码器218HA Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 0110000100&端端 口口译码电路译码电路A2A1A0AENA3A4A5A6A7A8A9IORIOWPC总总线线1 0 1 0 1 0 1 01 1 0 0 1 1 0 01 1 1 1 0 0 0 0Y7

30、 Y6 Y5 Y4 Y3 Y2 Y1 Y0218H21CH21AH21EH219H21DH21BH21FH43片内译码片内译码: : 在芯片内部的译码电路在芯片内部的译码电路 用于区分芯片内部不同的端口用于区分芯片内部不同的端口片选译码片选译码: : 在芯片外部的译码电路在芯片外部的译码电路 用于选择不同的芯片或端口用于选择不同的芯片或端口4、片内译码和片选译码片内译码和片选译码44片选译码通常译出的是一个地址范围片选译码通常译出的是一个地址范围并行接口并行接口8255ACS外外设设数数 据据 线线A0A1RDWRPC总线总线IORA0A1IOWA2A3A4A5A6A7A8A9AEN片片选选译

31、译码码片内片内译码译码端口端口A端口端口B端口端口C端口端口D串行接口串行接口8251 数数/模转换模转换0832模模/数转换数转换080921821FH220227H22822FH230237H45通常将通常将低位地址线(低位地址线(1位或几位)直接连在芯片上位或几位)直接连在芯片上,用于片内译码,而其余的高位地址线用于片选译码用于片内译码,而其余的高位地址线用于片选译码。并行接口并行接口8255ACS外外设设数数 据据 线线A0A1RDWRPC总总线线IORA0A1IOWA2A3A4A5A6A7A8A9AEN片片选选译译码码片内片内译码译码端口端口A端口端口B端口端口C端口端口D串行接口串

32、行接口8251 数数/模转换模转换0832模模/数转换数转换080946例例 分析下图分析下图74LS138各输出端的译码地址各输出端的译码地址 (片选译码例片选译码例)74LS1383-8译码器译码器218HA Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 00010&A3A4A5+5VA6A7A8A9AENIORIOWPC总线总线&端口译码电路端口译码电路471. 先确定与使能控制先确定与使能控制G1、G2A、G2B相连的各引脚相连的各引脚pG1连连+5V,始终有效,始终有效 IOR、IOW任一为任一为 0pG2A、G2B为为0,则,则 A9 A8 A7 A6 ,

33、AEN为为 0 1 0 0 0 2. 再分析与选择控制再分析与选择控制C、B、A 相连的各引脚相连的各引脚 3. 考虑到考虑到A2、A1、A0未参加译码,其值任意,未参加译码,其值任意, 即即A2A1A0的取值为的取值为000 1114. 最后综合所有地址信号的取值,得出结论。最后综合所有地址信号的取值,得出结论。A5 A4 A3 C B A0 0 0 Y00 0 1 Y10 1 0 Y20 1 1 Y31 0 0 Y41 0 1 Y51 1 0 Y61 1 1 Y7分析:分析:48使使能能控控制制选选择择控控制制未未参参与与A9 A8 A7 A6A5 A4 A3A2 A1 A0有有效效地地址

34、址范范围围与与输输出出端端的的关关系系1 1 0 0 0 0 0 00 0 00 0 0 1 1 1200 207h,Y0=00 0 10 0 0 1 1 1208 20Fh,Y1=00 1 00 0 0 1 1 1210 217h,Y2=00 1 10 0 0 1 1 1218 21Fh,Y3=01 0 00 0 0 1 1 1220 227h,Y4=01 0 10 0 0 1 1 1228 22Fh,Y5=01 1 00 0 0 1 1 1230 237h,Y6=01 1 10 0 0 1 1 1238 23Fh,Y7=0结论:结论:49200207h20820Fh210217h21821

35、Fh220227h22822Fh230237h23824Fh74LS1383-8译码器译码器A Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 00010&A3A4A5+5VA6A7A8A9AENIORIOWPC总线总线&端口译码电路端口译码电路50第三节第三节 I/O同步控制方式同步控制方式 CPU与外设的工作速度不一致,与外设的工作速度不一致,如何使两者高效、如何使两者高效、可靠地进行数据传送,可靠地进行数据传送,是本节讨论的问题。是本节讨论的问题。有以下几种传送方式有以下几种传送方式:一、一、 无条件传送方式无条件传送方式二、二、 条件传送方式条件传送方式 ( 查

36、询方式查询方式 )三、三、 中断传送方式中断传送方式四、四、 DMA传送方式传送方式 ( Direct Memory Access )51(CPU与外设同步工作):与外设同步工作): 外部控制过程各种动作外部控制过程各种动作时间是固定的时间是固定的,而且,而且是已是已知的知的。(CPU与外设不同步工作):与外设不同步工作): 传送前,传送前,先查询外设状态先查询外设状态,准备好才传送,否,准备好才传送,否则则CPU处于等待状态。处于等待状态。52外设与外设与CPU处于并行工作处于并行工作,一旦外设准备好,外,一旦外设准备好,外设向设向CPU发中断申请,条件具备,发中断申请,条件具备,CPU暂停

37、原程序暂停原程序执行,响应中断,外设与执行,响应中断,外设与CPU串行工作串行工作。(高速(高速I/O及成组交换数据):及成组交换数据): CPU不干予,不干予,由硬件实现由硬件实现存储器与外设之间存储器与外设之间交换交换数据,称直接存取存储器。数据,称直接存取存储器。53一、无条件传送方式一、无条件传送方式 (同步传送方式同步传送方式) 实现方法实现方法 CPU不查询外设工作状态,与外设速度的匹不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,在程序中直接用配通过在软件上延时完成,在程序中直接用I/O指指令,完成与外设的数据传送令,完成与外设的数据传送 特点特点 1. 适用于外设动作

38、时间已知适用于外设动作时间已知 在在CPU与外设进行数据传送时,外设保证已与外设进行数据传送时,外设保证已准备好的情况准备好的情况 2. 软硬件十分简单软硬件十分简单54例例 1 无条件输入接口无条件输入接口接口电路,即硬件上保证接口电路,即硬件上保证:只在只在CPU执行从执行从200H端口端口输入数据时输入数据时, 三态门处于工作状态,使输入设备的数据送上总线侧,三态门处于工作状态,使输入设备的数据送上总线侧,而而CPU执行其它指令时执行其它指令时, 三态门均处于高阻状态三态门均处于高阻状态, 使输入设备的数据线与总线侧断开使输入设备的数据线与总线侧断开三三 态态缓冲器缓冲器输入输入设备设备

39、数据数据 线线IOR地址地址译码译码地址线地址线 200H000D7 D0A15A0与与非非PC总总线线55无条件输入编程无条件输入编程: 从端口从端口200H读入读入100个字节到内存缓冲区个字节到内存缓冲区buffer中。中。、 MOV AX, SEG buffer MOV DS, AX ;取缓冲区取缓冲区 LEA DI, buffer ;首地址首地址 MOV CX, 100H ;传送个数传送个数 MOV DX, 200H ;端口地址端口地址 next: ;延时等待延时等待 IN AL, DX ;读入数据读入数据 CALL delay MOV DI, AL ;送缓冲区送缓冲区 INC DI

40、 ;修改指针修改指针 LOOP next 、;延时子程延时子程delay PROC PUSH CX MOV CX, 80Hcc: LOOP cc POP CX RETdelay ENDP56例例2 无条件输出无条件输出 : 编程控制系统板上扬声器发声编程控制系统板上扬声器发声。 4765321061H 端口端口 8253与与门门放放大大器器扬扬声声器器01控制其它外设控制其它外设扬声器控制电路图扬声器控制电路图:T个数个数发声原理:发声原理:向扬声器发送一串脉冲信号,向扬声器发送一串脉冲信号, 推动扬声器内纸盆振动,发出声音推动扬声器内纸盆振动,发出声音脉冲的频率,控制音高;脉冲的频率,控制音

41、高;脉冲的个数,控制音长脉冲的个数,控制音长571. 使使61H端口的端口的0位输出位输出0,控制控制8253输出输出1。2. 使使61H端口的端口的1位按所需频率位按所需频率交替输出交替输出0和和1, 产生所需的声音。产生所需的声音。编程方法:编程方法: 4765321061H 端口端口 8253与与门门放放大大器器扬扬声声器器01控制其它外设控制其它外设扬声器控制电路图扬声器控制电路图:58code SEGMENT ASSUME CS:codestart: MOV BX, 3000H ;控制脉冲个数控制脉冲个数 MOV DX, 6000H ;控制脉冲周期控制脉冲周期 IN AL, 61H

42、;读入读入61H端口数据端口数据 AND AL, 1111 1100b ;D0为为0,8253 输出输出1sound: XOR AL, 0000 0010b OUT 61H, AL ; 61H端口的端口的D1交替为交替为0和和1 MOV CX, DXdelay: LOOP delay ;延时延时 DEC BX ;控制脉冲数控制脉冲数 JNZ sound MOV AH, 4CH INT 21Hcode ENDS END start发声程序发声程序: : 61H 端口端口8253与与门门放放大大器器扬扬声声器器01控制其它外设控制其它外设T个数个数59二、条件传送方式二、条件传送方式(查询传送方式

43、查询传送方式)实现方法:实现方法: 在与外设进行传送数据前,在与外设进行传送数据前,CPU先查询外设状态先查询外设状态, 当外设准备好后,才执行当外设准备好后,才执行I/O指令,实现数据传送指令,实现数据传送特点:特点:1. CPU通过不断查询外设状态,实现与外设的速通过不断查询外设状态,实现与外设的速度匹配度匹配2. CPU的工作效率低的工作效率低60查询传送方式,编程流程查询传送方式,编程流程:NY从状态端口读入状态信息从状态端口读入状态信息从数据端口传送一个数据从数据端口传送一个数据外设准备好否?外设准备好否?61查询方式输入接口查询方式输入接口状态端口状态端口 D4=1 表示外设准备好

44、表示外设准备好三三 态态缓冲器缓冲器输输入入设设备备数数 据据 线线2 1 8H 数据数据端口端口地址地址译码译码地址线地址线 状态状态端口端口地址地址译码译码锁锁存存器器IOR R Q D三三 态态缓冲器缓冲器+5vD42 1 CH STBPC总线总线IORA15A0D7D0&MOV DX, 218HIN AL, DXMOV DX, 21CHIN AL, DX62查询方式输出接口查询方式输出接口状态端口状态端口 D0 = 0 表示外设准备好表示外设准备好输输出出设设备备数数 据据 线线219H数据数据端口端口地址地址译码译码地址线地址线 锁锁存存器器 RD D Q 三三 态态缓冲器缓冲器+5

45、vACKPC总总线线IORA15A0D7D0IOW状态状态端口端口地址地址译码译码D021CH&MOV DX, 219HOUT DX, AL MOV DX, 21CHAsk: IN AL, DX TESTAL,01h JNZ ask 63三、中断传送方式三、中断传送方式 实现方法:实现方法: 1. 当外设准备好,向当外设准备好,向CPU发出中断请求发出中断请求 2. CPU在满足响应中断的条件下,发出中断响应信在满足响应中断的条件下,发出中断响应信号;号; 3. CPU暂停当前的程序,转暂停当前的程序,转 去执行中断服务程序,去执行中断服务程序,完成与外设的数据传送;完成与外设的数据传送; 4

46、. CPU从中断服务程序返回,继续执行被中断的程从中断服务程序返回,继续执行被中断的程序序64中断服务程序中断服务程序发申请发申请中断服务程序中断服务程序发申请发申请中断方式下中断方式下CPU执行程序流程执行程序流程外外设设65使用中断方式时使用中断方式时: :外设准备数据,外设准备数据,CPUCPU执行程序执行程序, ,CPUCPU与外设并行与外设并行工作;工作; 一旦外设准备就绪,外设向一旦外设准备就绪,外设向CPUCPU发中断申请,发中断申请, CPUCPU暂停原程序执行,响应中断,进行数据传输。暂停原程序执行,响应中断,进行数据传输。此时,此时,CPUCPU与外设是串行工作。与外设是串

47、行工作。66中断传送方式的特点:中断传送方式的特点:1. CPU和外设大部分时间处在并行工作状态,和外设大部分时间处在并行工作状态,只只在在CPU响应外设的中断申请后,响应外设的中断申请后, 进入数据传送的进入数据传送的过程过程2. 中断传送方式提高了中断传送方式提高了CPU的效率的效率67中断方式中断方式 输入接口输入接口: :中断中断请求请求D DQ Q三三态态缓缓冲冲器器& & & &中断中断屏蔽屏蔽触发器触发器Q Q端口端口译码译码地址总线地址总线D D7 7-D-D0 0RDRDINTAINTAINTRINTR输入输入设备设备数据数据输入输入锁存器锁存器+5V+5V某位未屏蔽,某位未

48、屏蔽,中断屏蔽触发器中断屏蔽触发器置置0,Q=068(1 1)当外设数据准备好,外设向接口电路)当外设数据准备好,外设向接口电路发出选通信号发出选通信号: :将将数据打入锁存器;同时将中断请求触发器置数据打入锁存器;同时将中断请求触发器置“1 1”,(2 2)若此时)若此时, ,中断请求屏蔽触发器置中断请求屏蔽触发器置“0 0”, , =1=1,Q=0Q=0, 允许本接口允许本接口发出发出中断中断, ,接口电路向接口电路向CPUCPU发出中断请求信号发出中断请求信号INTR=1INTR=1;(3 3)CPUCPU在运行程序时不断访问在运行程序时不断访问INTRINTR,若查到,若查到INTR=

49、1INTR=1信号,信号,且且CPUCPU内部中断允许标志内部中断允许标志IF=1IF=1,则则CPUCPU在现行指令执行完后,在现行指令执行完后,暂停程序的执行,向接口电路发出中断响应信号暂停程序的执行,向接口电路发出中断响应信号 。 (4 4)外设把)外设把中断类型号送上数据总线;中断类型号送上数据总线;(4 4 N N)= =(IPIP),(),(4 4 (N+2N+2)= =(CSCS)(5 5)CPUCPU转入中断服务程序,转入中断服务程序,执行执行ININ指令,读入数据;指令,读入数据;清除中断请求标志清除中断请求标志。当中断处理完后,返回原程序。当中断处理完后,返回原程序。QIN

50、TA69四、四、DMA 传送方式传送方式(直接存储器存取方式直接存储器存取方式) 实现方法:实现方法: 1. 由专用接口芯片由专用接口芯片DMA控制器控制器 (称称DMAC) 控制控制传送过程,传送过程,2. 当外设需传送数据时,通过当外设需传送数据时,通过 DMAC向向CPU发出发出总线请求;总线请求;3. CPU发出总线响应信号,释放总线;发出总线响应信号,释放总线;4. DMAC接管总线,控制外设、内存之间直接数接管总线,控制外设、内存之间直接数据传送据传送70DMA 传送方式过程传送方式过程CPUDMAC内存内存外设外设总线总线响应响应总线总线请求请求71DMA传送方式的特点传送方式的特点 1. 外设和内存之间,直接进行数据传送,不通外设和内存之间,直接进行数据传送,不通过过CPU, 传送效率高。传送效率高。适用于在内存与高速外设、适用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。或两个高速外设之间进行大批量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论