1 / 59

硬件接口开发系列之 ---

硬件接口开发系列之 ---. 并行端口编程. 并行端口编程学习要点:. Ⅰ. 什么是接口 Ⅱ. 为什么需要并行端口 Ⅲ. 模数转换和数模转换 Ⅳ. 并行打印机适配器介绍 Ⅴ. 并行适配器的编程使用 Ⅵ. 增强型端口和扩展型端口的学习使用 Ⅶ. 并行端口的数据位的扩展 Ⅷ. 运用实例一 ( 完整的数据采集系统 ) Ⅸ. 并行端口编程在其他方面上的运用. Ⅰ. 什么是接口.

Télécharger la présentation

硬件接口开发系列之 ---

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 硬件接口开发系列之--- 并行端口编程

  2. 并行端口编程学习要点: • Ⅰ.什么是接口 • Ⅱ.为什么需要并行端口 • Ⅲ.模数转换和数模转换 • Ⅳ.并行打印机适配器介绍 • Ⅴ.并行适配器的编程使用 • Ⅵ.增强型端口和扩展型端口的学习使用 • Ⅶ.并行端口的数据位的扩展 • Ⅷ. 运用实例一(完整的数据采集系统) • Ⅸ.并行端口编程在其他方面上的运用

  3. Ⅰ.什么是接口 • 接口是由硬件,软件或两者共同构成,允许两个不同的部件相互作用的系统。这里推荐的是并行接口,它广泛存在于PC及其兼容机上,在持续提高技术要求的同时,仍能保留与原并行接口的兼容性。在过去的几年里,并行接口作为一种连接磁盘备份系统,CD唱盘,LAN适配器以及各种各样高性能打印机的方式,越来越受到程序员的喜爱。

  4. Ⅱ.为什么需要并行端口 • 1.什么是数据采集 • 2.为什么需要并行接口

  5. 1.什么是数据采集 • 数据采集就是获取某一现象的有关信息的过程。这项工作如果用计算机在做的话,就要通过一些硬件接口将数据从传感器及其配套元件传送到计算机中,有计算机运行合适的软件(数据采集程序)从而获取,显示,处理并存储数据。而并行端口编程技术正好就是解决从外围硬件到计算机的接口(数据传输)问题

  6. 数据采集系统常涉及的硬件: • 从功能上讲常用的有各种简单的门电路,缓冲器集成电路,总线收发器集成电路,触发器电路,锁存器集成电路,计数器,解码器,编码器和多路转换器集成电路等。 • 从数字集成电路系列上讲,TTL系列是最受欢迎的数字集成电路之一,其中74XXX又是TTL系列中最重要的产品。之后,设备加工和制造技术的提高使得74系列发展出了速度高,低功耗和性能稳定的几种子系列,也就是我们所说的74LS,74ALS,74S和74F;CMOS系列是集成电路中另一个非常重要的系列,从最初的超低功耗4000系列,发展到现今的4000,74HC,74HCT和74C等系列并存。

  7. 一个简单的计算机辅助数据采集系统方图: 通过合适的通信链路来连接计算机和硬件设备接口电路 传感器 外界的实验或工业过程 接口硬件 传感器 计算机 传感器 传感器 结构硬件把传感器的输出信号转换成计算机可以识别的形式

  8. 2. 为什么需要并行端口 • 将外部硬件连接到PC机上,可以选择通过RS-232,插入式总线接口线路板,SCSI总线,新式计算机的USB接口和并行打印机适配器接口来实现。但是RS-232串口传输数率低;插入式总线板试探和测量不便,还可能对人和机器有危险;SCSI和USB 接口传输数率很高,但是普通场合使用时没有什么必要的,并且不是每个机器都有这两种接口;在所有这些传输方式中,综合考虑传输速度和机构的简单性,并行打印机端口是最好的,所以我们需要它。

  9. Ⅲ. 模数转换和数模转换 • 数模转换器概念和流行制造技术 • 常用数模转换器(DAC) • 模数转换器概念和流向制造技术 • 常用模数转换器(ADC)

  10. 1.数模转换器概念和流行制造技术 • 数模转换器(DAC)就是用来把数字信号转化成模拟信号的一种电子设备,通常这种设备是以电流或电压的形式输出的。数模转换器在具体实现中通常采用如下电路实现:电流开关型DAC,阵列电路型DAC,R-2R梯状DAC,脉冲宽度调制器(PWM)DAC,复乘DAC。

  11. 2. 常用数模转换器(DAC) • (1) DAC 0800系列数模转换器是8位电流输出型单片电路 • (2) AD 588 使用双刻度的完全电压输出的数模转换器 • (3) AD 7548 一种能够直接与8位微处理器数据线连接的12位电压输出的数模转换器 • (4) MAX 521 一种八进制的8位电压输出的数模转换器

  12. 3.模数转换器概念和流行制造技术 • 模数转换器(ADC)是一种把模拟信号(以电压或电流的形式)转化成计算机能够处理的数字信号的设备。模数转换器在具体实现中通常采用如下电路实现:FLASH ADC,采样模数转换(Sampling ADC),集成模数转换器(Integrating ADC)。

  13. 4. 常用的模数转换器(ADC) • (1) ADC 0804 一种采用古老的工业标准,单芯片的模数转换器。 • (2) MAX 158 一种8通道,8位的快速采样模数转换器 • (3) MAX 186 一种12位,8通道的串行模数转换器 • (4) MAX 111一种由MAX开发的串行,14为双通道模数转换器

  14. Ⅳ.并行打印机适配器介绍 • 1. 并行打印机端口结构 • 2. DATA端口 • 3. CONTROL端口 • 4. STATUS端口 • 5. 通过并行适配器进行打印 • 6. 使用并行打印机适配器

  15. 1. 并行打印机端口结构 • 并行端口在计算机工业至少使用过四个不同的名称:并行打印机适配器,Centronics适配器,Centronics端口或简单称为并行端口。在PC个人电脑行业中,并行端口专门指符合早期并行打印机适配器规则(后来功能得到增强)的端口。 • 并行打印机端口又分为三个独立的端口:一个输出端口向打印机发送数据(8根信号线的DATA端口),还有一个输出端口用来传输选通信号和复位信号(4根信号线的CONTROL端口);一个输入端口从打印机中读取应答信号,忙信号及出错信号(5根信号线的STATUS端口) • 下面是并行打印机适配器结构方框图和端口信号线定义表:

  16. 并行打印机适配器结构方框图: 数据总线(D7:D0) 缓冲器1 所存器1 数据位 25针D行输出连接器 数据端口(8位) 控制端口(4位) 控制位 数据写 锁存器2 开关驱动 IOR* IOW* 数据写 IRQ使能 A9-A0 控制写 地址位 控制读 缓冲器2 状态读 Pc系统总线 状态端口(5位) IRQ5/IRQ7 缓冲器3 OE* 三太缓冲器4

  17. 2. DATA端口 • 从并行打印机适配器结构方框图中看出,适配器的DATA端口有一个缓冲器和一个锁存器组成。如果CPU想向打印机输出数据,它就向锁存器中发送一个8位数据。锁存器的输出端标记为D0-D7,另外还可以在25针的连接器管脚2-9上得到锁存器的输出信号D0-D7。DATA端口的输出信号也与缓冲器输入端相连,缓冲器是作为一个读回输入端口出现的,读回输出在锁存器里的数据。DATA端口的16进制地址为x78h或x7Ch(其中x可以是2或3)。下面是一个选自IBM PC/AT的技术手册并进行了适当修改的DATA端口详细数图电路图:

  18. DATA端口详细输出电路图: PC系统数据总线 输出连接器管教 74LS374 74LS244 数据0 2 3 4 5 6 输出使能 7 输出使能信号 8 时钟 9 命令译码器 数据7 C=0.0022uF 数据写 数据读

  19. 3. CONTROL端口 • 适配器的control端口可以产生对打印机进行控制的必要信号。如上面并行打印机适配器信号表所示,control端口的D型(25针)输出连接器上有4个输出信号,除此之外,还有一个称之为IRQEN的信号,驱动程序可以在STATUS端口信号(nACK)的帮助下,使用该信号对中断信号的产生与否进行控制。CONTROL端口的所有状态信号可以通过回卷缓冲器读回,该集成电路就是下图的74LS240,它可以把通过的信号反相。而IRQEN信号是通过一个74LS126三态缓冲器来读取的。整个读取过程是由命令译码器中的控制读信号来进行控制的 • 下面是CONTROL输出端口框图:

  20. CONTROL输出端口框图: C=0.0022uf +5v 输出连接器管脚 74ls174 R=4K Pc系统数据总线 c 时钟 R=27 C0* oc1 1 D0 C1* oc1 14 c2 1 oc1 16 D4 C3* oc1 17 IRQ EN(bit c4) 输出使能信号 D3 1 D0 74ls240 D4 74ls128 控制写 控制读

  21. 4. STATUS端口 • 通过STATUS端口中各种各样信号,打印机适配器可以很方便地读取打印机的状态,STATUS端口在物理地址上与DATA端口相邻,标准16进制地址是0x379或0x3BD。STATUS端口中实际上只有标记为S3-S7五个信号才是真正有用的信号。通过CONTROL端口的某个信号,可以选通STATUS中的S6信号,该信号还可以作为中断输入(IRQ5或IRQ7)。打印机适配器的原始设计者很可能考虑到利用中断向打印机输出每一字节数据,但是在早期的PC中,中断后执行中断子程序的延迟时间较长,所以利用中断来驱动打印机并不太适合下面是STATUS端口电路模型。

  22. STATUS端口电路模型(IBM PC/AT手册) PC系统数据总线 输出是能信号 D形输出连接器管脚 S7 BUSY D7 11 S6 10 nACK S5 12 PE S4 SELECT D3 13 S3 74LS240 nERROR 15 来自CONTROL端口第四位(IRQ EN) 74LS126 到IRQ5或IRQ7 状态读 命令译码器

  23. 5. 通过并行适配器进行打印 有效数据 DATA端口位 0.5us 0.5us nSTROBE 0.5us BUSY 7us 5us nACK

  24. 由上图并行打印机适配器时序图可以看出,除了DATA端口信号之外,由上图并行打印机适配器时序图可以看出,除了DATA端口信号之外, 只有三个信号可以用来向打印机传输数据,并从打印机读取状态信息。这三个信号是:nSTROBE,,BUSY,和nACK。在经过一定的延迟时间之后,PC就会设置DATA信号线为适当的逻辑状态,并产生Nstrobe信号(一个下行脉冲),脉冲过后,信号恢复高电平,但是DATA端口的数据还会保持一段时间的有效期。为了响应PC发送来的下行Nstrobe信信号,打印机会把BUSY信号设置位高电平,而且高电平一直要持续下去,直到打印机使用完了传输来的数据之后,也就是产生了一个ack脉脉下降沿之后一段时间,BUSY信号才能在此变为低电平,只有检测到BUSY信号位低电平时,才可以继续向打印机传输数据。

  25. 6. 使用并行打印机适配器 • 在标准的并行端口上,我们可以使用一个5位输入端口,一个4位输出端口和另一个8位输出端口。其中的这个4位输出端口也可以则为4位输入端口使用。所用这17个信号线都可以进行编程控制,并且都是通过TTL电平跟PC进行数据交换的。我们还可以自从中获得一个中断信号。并行端口的信号线通过一个25针D型凹型连接器连接在PC的背面上,要想连接PC和打印机,必须使用一个一端25针凹型连接器,另一端36针Centronics凸型连接器这种现成的电缆进行连接。在选择电缆时选择高质量电缆很重要,我们有必要保证所使用电缆的长度和质量。

  26. Ⅴ.并行适配器的编程使用 • 1. PC数据域 • 2. 端口的访问 • 3. 并行端口的示警盒:发光二极管和读取开关 • 4. 并行端口的电源开关电路 • 5. 读取DIP开关状态 • 6. 使用标准并行端口进行数据传输内务操作

  27. 1. PC数据域 • 当我们想要使用并行接口与一个非打印机设备连接的时候,首先需要解决的问题就是知道并行端口适配器的地址。大多数PC都使用了三个可能的并行端口地址之一。PC最多能够辨认三个逻辑并行适配器,我们可以通过检验BIOS中数据域(MS-DOS用于保存大多数硬件的地址)来确认PC是否安装了并行适配器,要是安装了的话,从该数据域中可以编程获得并行适配器基地址,也就是DATA端口的地址,STATUS 端口地址比DATA端口地址高一位,CONTROL端口地址比DATA端口地址高两位。

  28. 2. 端口的访问 • 要注意的是并行端口的两个内部端口,也就是STATUS和CONTROL端口是不完整的(本该8位,但是我们在两端口上仅能分别得到5和4位信号位)。另外在这两端口中的许多信号和输出连接器之间连接了反相器,而DATA端口就没有,可以很容易的使用。比如用C语言表达,要传输数据到输出端口,我们可以使用如下的函数命令 outportb(port_address,data); 要从输入端口读取数据,我们可以使用如下函数命令: • Data_variable=inportb(port_address);

  29. 3. 并行端口的示警盒 • 示警盒是一个可以简化修理故障的设备。在RS-232串行端口中就有一个普通的示警盒。这里所描述的示警盒由几个发光二极管,电阻器和一对跳线组成,并把它们连接在一个带有25针D型连接器的PCB板上,从下面的具体连接线路图中可以看到发光二极管与DATA和control端口的输出连接在一起,图中还使用了两组跳线,这样数据即可以从control端口传向LED,也可以发送到DATA端口;STATUS端口信号还可以通过跳线跟DATA端口信号断开,这样就使得我们可以通过编程为DATA端口发送随机序列,还可以通过STATUS端口读回该随机序列。

  30. 4. 并行端口的电源开关电路 • 要控制真实的设备,我们需要通过一定的设备来控制其供电电源,如炉温控制系统中的电源,我们既可以采用简单的开关模式,也可以采用连续变化的模式。控制简单设备,我们仅仅需要继电器就可以了。要控制继电器(包括机电和固态),我们还需要某种类型的开关,例如晶体管开关,但不能处理超过5伏的电压,也只能承受小电流,而大多数继电器需要更高的电压和电流,所以我们需要高电压和大电流容量的开关,我们最好直接找一个集成的开关来使用,要是集成的元件不能满足我们的要求的话,我们就不得不采用分离元件来自己动手设计解决了。

  31. 但是我们有时遇到的情况是需要开关工作在很高的频率下,列入来驱动步进电机的开关,这是我们就要选用MOSFET开关了,并且从长远来看MOSFET开关有取代晶体管开关的趋势,尤其是在高速度和高功耗的场合。但是,这种MOSFET开关需要合适的驱动器,并且这种开关电压与一般的数字输出电压电平TTL存在差异,不过,如果使用的是TTL阈值电压的MOSFET驱动器就可以解决这个问题了。但是我们有时遇到的情况是需要开关工作在很高的频率下,列入来驱动步进电机的开关,这是我们就要选用MOSFET开关了,并且从长远来看MOSFET开关有取代晶体管开关的趋势,尤其是在高速度和高功耗的场合。但是,这种MOSFET开关需要合适的驱动器,并且这种开关电压与一般的数字输出电压电平TTL存在差异,不过,如果使用的是TTL阈值电压的MOSFET驱动器就可以解决这个问题了。 ULN2003A驱动器就是一种采用TTL阈值电压的集电极开路输出的MOSFET开关驱动器,它由7对集电极开路,发射极正常的高电压,高电流达林顿二极管,ULN2003A输出电压与TTL兼容,下面就是一个用它来驱动一个电感性电路的电路图:

  32. 驱动电感性电路的ULN2003驱动器电路: +Vcc(<50 v) NC ULN2003A TTL输入信号 继电器1 Common 控制继电器1 NO 控制继电器2 继电器2 控制继电器3 继电器3

  33. 5. 读取DIP开关状态 • DIP开关示时非常有用的设备,可以用来完成用户的选择和某种设置,下图就是并行适配器的DIP开关接口实例。图中核心部件165是一个可以并行预制输入和串行输出的移位寄存器,通过SER级连,LOAD预制,CLK脉冲使165锁存器数据向输出管脚QH移位。工作时,首先发送一个LOAD信号,然后连续产生24个CLK信号,在每一个时钟信号之后,程序读取S7*状态并保存在一个变量中,最后将分散的24个变量合适地处理,就可以知道3个DIP开关的设置状态了。

  34. 并行端口适配器的DIP开关接口电路(44页扫描) 数据(S7*) CLK SH/LD WS_DIP-8 INH QH LOAD(D0) 7 CLK CLK HCT165 9 8 HGFEDCBA SH/LD 7 INH QH QH WS_DIP-8 CLK 9 8 9 HGFEDCBA HCT165 QH 16 1 U1 9 SER S1 LOAD(D0) CLK HCT165 16 1 7 SH/LD SER S3 INH QH WS_DIP-8 CLK 9 8 U3 HGFEDCBA 9 QH U2 16 1 S2 SER

  35. 6. 使用标准并行端口进行数据传输内务操作 • 标准的并行端口的DATA端口不是双向的,所以要通过它向计算机传输数据是我们通常是使用STATUS端口,因为有限所以一个字节要分成两次来读取,并且传输一个字节处理器至少要执行10条指令,其中至少5条要和并行端口适配器打交道,这样I/O端口指令的执行就成为了数据传输的速率瓶颈(200-300Kbps)。解决该问题的一个方法就是使用带有双向DATA端口的并行打印机适配器,只是需要在在接收数据时切换一下DATA端口数据传输方向。这就引出了高速增强型(EPP)和扩展型(ECP)端口

  36. Ⅵ.增强型端口和扩展型端口的学习使用 • 1. IEEE 1248 1994标准 • 2. 增强型并行端口 • 3. EPP寄存器 • 4. EPP BIOS调用 • 5. 使用EPP的高速数字I/O • 6. EPP控制芯片的编程 • 7. 扩展性能端口 • 8. 高级适配器的电器接口

  37. 1. IEEE 1248 1994标准 • 于1991年成立的IEEE 1248委员会终于在1994年提出了新的标准-IEEE 1248标准,为PC和外设之间定义了双向通信协议,数据传输上比原来的并行端口快20-50倍。该协议同时保持了向下的兼容性。IEEE 1248标准不仅确定了数据传输协议,并且为数据传输定义了物理和电器接口。另为该协议还提供了一种方法,通过这种方法主机和外设可以确认所支持的数据传输模式,并通过协议来决定采用何中数据传输模式。具体上来讲IEEE 1248提供了5种传输模式如下表:

  38. 2. 增强型并行端口 • EPP在IEEE 1248委员会成立之前就开始被使用了(Intel,Xircom,和Zenith Data Systems共同开发完成的),但是IEEE 制定的EPP协议和已经开始使用的还是有些细微的差别的,EPP协议中定义了CCP中的信号,在这17根信号中有14根信号用来进行数据传输、握手和选通,剩下的3个信号可以由外设设计者用来确定产品类型。由于篇幅这里就不符上EPP信号定义表和数据写、数据读、地址协和地址读周期时序图了。

  39. 3. EPP寄存器 • 为了使EPP并行端口协议具有向下的兼容性,则EPP模式中寄存器的的定义使用也要向下兼容标准的并行端口,具体是SPP DATA端口地址加1是SPP模式STATUS端口地址,加2是SPP模式CONTROL端口地址;加3为EPP ADDRESS端口地址,加4-7是EPP DATA端口地址,在使用中,一般把加4地址作为DATA端口地址。加5到加7三个I/O地址有时供各种硬件设备使用,有时用来实现16位或32为软件接口(大多数控制器用这些地址来支持32位I/O指令), 有时可能作为配置寄存器使用,有时它们根本什么都不作。

  40. 4. EPP BIOS调用 • 直接向I/O控制器(使用EPP模式)写入数据通常可以获得最快的数据传输速率,但是在某些情况下,我们可能会用EPP BIOS调用来进行数据传输。使用BIOS|调用允许数据传输不通过I/O控制芯片实现,另外即使主机没有具用EPP功能的端口,也可以通过软件来模仿EPP模式,不过数据传输速率要打折扣。EPP BIOS通过一些有用的BIOS例程调用提供了一个使用单一I/O周期和数据传输的方法,具体调用有:Install Check,Set Mode,Interrupt Control,EPP Reset,Address Read,Address Write等,这里就不细说了。

  41. 6. EPP控制芯片的编程 • 几乎所有的PC电脑上都安装了EPP控制器芯片,由于各种各样的的制造商为了各自的目的使用了不同的EPP控制器芯片,所以很难开发出一种能够直接应用在所有EPP控制器上的程序代码。我们已经知道了EPP端口有5个寄存器,我们必须通过编程使EPP控制器工作在EPP操作模式下,才可以使用EPP ADDRESS和EPP DATA端口寄存器,而EPP端口默认是工作在兼容的SPP模式下,所以要更改工作模式,我们就要合理配置EPP控制芯片上的扩展配置寄存器(ECR,通常定位在相对于并行适配器基址的偏移地址为0x402h)。

  42. 我们可以通过向ECR寄存器中写入适当的数据来选择特定EPP控制器所支持的操作模式。因为各个制造商自己都已经选择了特定的字节模式,例如SMC公司使用的就是FDC37C665/66芯片,该芯片需要向ECR寄存器中写入一个字节的内容来对操作模式进行选择(准确来说是ECR寄存器的第5,6,7三位决定了操作模式,FD芯片的模式描述表这里就不提供了);国家半导体公司使用的是PC87332芯片,它的ECR模式配置方式(也就是ECR的5,6,7位是怎样决定操作模式)跟SMC公司的FD芯片是不完全相同的。所以我们看出,要编写通用的EPP控制芯片程序是不可能的,但是对所有的芯片我们可以采用类似的方法对各种端口进行访问,另外我们也找到了对EPP芯片直接进行访问的方法:1。监测系统是否安装了EPP控制芯片 2。为特定的EPP芯片选择正确的模式字节,从而决定EPP工作模式 3。向EPP ADDRESS端口或DATA端口写入数据,并执行需要的EPP传输。

  43. 7. 扩展性能端口 • 扩展性能端口(ECP)是HP和Microsoft公司共同提出的,最初的目的是为了获得一种高性能,并能在pc和高级打印机/扫描仪等设备之间获得多功能传输通道的端口。ECP跟EPP相比定义了更加强有力的协议,通过该协议可以在并行适配器上共存多个逻辑设备。ECP还允许通过外设传输数据的同时进行实时数据压缩(RLE技术),对于扫描仪和打印机等需要传输大块数据的设备来说,该特征是很有用的,但前提是外围设备和主机必须支持这种RLE特性。

  44. 8. 高级适配器的电器接口 • IEEE 1248委员会不仅定义了许多有用的数据传输模式,还定义了两种级别的电气接口:级别Ⅰ的电气接口是专门为不需要高速操作,只需要使用反向数据传输功能的产品和设备而做,是为近距离应用而设计的;对于需要在完全的EPP和ECP模式下工作以及远距离的设备来说,我们推荐使用级别Ⅱ电气接口规范,级别Ⅱ电气规范比较复杂,大家要是有兴趣可以了解,这里不细说了,但是符合IEEE 1248级别Ⅱ规范的驱动器和接收器集成电路已经由Texas Instrument和National Semiconductor公司生产出来了。

  45. Ⅶ.并行端口的数据位的扩展 • 1. 在标准并行适配器上扩展 • 2. 使用EPP进行扩展 • 3. EPP中的8255-PPIO接口

  46. 1. 在标准并行适配器上扩展 • 在标准的并行是配器上进行扩展的一个方法就是,把DATA端口信号看成是某些类型的数据线,并把它们连接到锁存器电路输入端,这时我们可以使用CONTROL端口的4信号线来作为4个锁存器的选通信号,如下图所示。这样就可以根据选通的通道来获取DATA端口数据。如果我们需要扩展的端口不止4个,我们可以把CONTROL端口的4根信号输出到解码器中,比如我们可以使用一个4/16译码器,这样我们就可以扩展出15个数字输出端口。

  47. 在标准并行适配器上扩展4个数字输出口电路:在标准并行适配器上扩展4个数字输出口电路: 8位的DATA端口 数字输出0-7 C0* 标准并行适配器信号 数字输出8-15 C1* 数字输出16-23 C2 数字输出24-31 74HCT273*4 C3*

  48. 2. 使用EPP进行扩展 • 使用标准并行适配器端口作为输入和输出最大缺点就是,由于软件附加费的原因而导致传输速率的降低。而我们又知道EPP非常适合用在数据传输速率较高的场合,我们这里研究的就是如何使用EPP进行常规的I/O扩展。 • 对于扩展I/O口来说关键的就是在产生数据选通信号之前,获取目标设备的地址信息并对其进行解码。 • 下图就是一个简单的扩展电路。要想向数据锁存器中写入数据,程序必须首先设置该数据锁存器的地知道地址锁存器中,然后把数据发送到DATA端口即可。

More Related