1 / 140

第九章 单片机 I/O 接口扩展及应用

第九章 单片机 I/O 接口扩展及应用. 本章要点: n I/O 接口的作用和功能及 I/O 接口的扩展方法 n 8255A 芯片的工作原理,使用 8255A 进行并口扩展的方法 n 8155 芯片的工作原理,使用 8155 进行并口扩展的方法 n 键盘的种类与接口技术 n LED 显示器的原理与接口技术 n LCD 显示器的原理与接口技术. 9.1 概述 1. 为什么要扩展 I/O 接口

fayre
Download Presentation

第九章 单片机 I/O 接口扩展及应用

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. 第九章 单片机I/O接口扩展及应用 本章要点: nI/O接口的作用和功能及I/O接口的扩展方法 n8255A芯片的工作原理,使用8255A进行并口扩展的方法 n8155芯片的工作原理,使用8155进行并口扩展的方法 n键盘的种类与接口技术 nLED显示器的原理与接口技术 nLCD显示器的原理与接口技术

  2. 9.1 概述 1.为什么要扩展I/O接口 单片机系统是一个特殊的微机系统,它也需要与外围设备一起工作。微型计算机与外围设备的信息交换称为数据的输入/输出(I/O),将计算机CPU与外围设备连接起来的电路称为接口电路。接口电路组成计算机的输入/输出系统。输入/输出系统把微机与外围设备连接起来,形成一个完备的计算机系统。

  3. MCS—5l系列单片机本身有4个简单I/O口P0~P3。对于片内有ROM/PROM的8051/8751来说,4个I/O口均可以作为通用输入/输出口使用,对于8031单片机来说,P0和P2口必须作为片外程序存储器地址线使用,只有2个口可以当作通用输入/输出口使用。对于功能比较复杂的单片机系统,显然输入/输出口是不够用的,需要扩展I/O口。另一个方面,外围设备与单片机在运行速度上是有很大差异的,要把快速的单片机和慢速的外设(如打印机)连接起来协调工作,就需要在单片机与外设之间构造一个缓冲桥梁,而且,单片机的电气特性与外设的电气特性也是有区别的,也需要在单片机与外设之间构建一个桥梁,完成电气特性的转换,使得单片机与外设可以正常通信。这个“桥梁”,就是我们前面说的接口。因此,进行I/O口的扩展和设计接口电路是必须的。

  4. 很多接口电路都被设计成标准接口芯片,使用者可以根据系统的需要,选择适当的芯片与单片机连接起来,然后,通过编写适当的软件控制其工作,以达到用户的需要。很多接口电路都被设计成标准接口芯片,使用者可以根据系统的需要,选择适当的芯片与单片机连接起来,然后,通过编写适当的软件控制其工作,以达到用户的需要。

  5. 2.CPU寻址外围设备的方式 CPU寻址外设的方式有两种:存储器映像方式和I/O口单独编址方式。 (1)存储器映像方式 在这种方式下,CPU将接口和存储器同等看待,将存储器的地址空间划出一部分供I/O口使用,每一个外设端口占用一个存储器地址。CPU可以用访问存储器的指令访问I/O端口。从外围设备输入一个数据,和从存储器读一个数据的操作是相同的;将一个数据从CPU送到外设,与将一个数据存入存储器的操作是相同的。MCS-51系列单片机采用存储器映像方式。

  6. (2)I/O口单独编址方式 在这种方式中,I/O接口的地址和存储器的地址是分别独立的,互不干涉,它们的地址有可能是重复的。CPU使用专用指令来操作I/O端口。这种方式的优点是I/O口地址不占用存储器的存储空间,控制简单;其缺点是控制程序相对复杂,功能不强。早期的Z80单板机就是采用这种编址方式。

  7. 3. I/O接口扩展方式 I/O接口扩展方式主要有两种:总线扩展法和串行口扩展法。总线扩展又可分为简单I/O接口扩展和可编程I/O接口扩展。 扩展I/O接口常用芯片有TTL、CMOS锁存器、三态门等芯片,如74系列的373、244等,常用来扩展简单I/O接口。可编程芯片常用8255A、8155等,利用程序对芯片进行设置,软硬件结合实现对I/O接口的扩展。 单片机与外部设备之间传送数据的方法很多,下面主要介绍其中的三种。

  8. 9.1.1 程序传送 程序传送也称查询传送。当CPU与外部设备工作不同步时,很难做到传送正确。为了保证每次传送正确,通常必须在程序控制下进行。也就是:在传送前,必须去查询一下外设的状态,当外设准备好了才传送;若未准备好,则CPU等待。这样,接口除了负责数据传送外,还要负责传送状态信息。查询式输入和输出的程序流程图分别如图9-1及图9-2所示。

  9. 图9-1 查询式输入程序流程图 图9-2 查询式输出程序流程图

  10. 例如,CPU通过程序传送方式与打印机连接,如图9-3所示。 例如,CPU通过程序传送方式与打印机连接,如图9-3所示。  图中数据口的地址为FFH,状态口接到8031的P1端口,CPU通过查询程序查询P1.0的状态;若BUSY=1(忙),表示打印机尚未完成前一数据的打印而要求CPU继续等待;当BUSY=0(闲),表示打印机可以接受数据。编程如下:

  11. MOV A,#DATA LOOP:JB P1.0 LOOP MOV R0,#0FFH MOVX @R0,A 程序传送主要优点是:能较好地协调外设与CPU之间定时的差别,且用于接口的硬件较少。主要缺点是:CPU必须作程序等待循环,以不断测试外设的状态,直至外设为传送数据准备就绪为止,这种循环等待方式很花费时间,大大降低了CPU的运行效率。

  12. 9.1.2 中断传送 程序传送很浪费CPU的时间,而且一般外设的输入或输出一个数据的速度是很慢的,如打印机、键盘等,其响应时间都在毫秒级以上,在这段时间里,CPU可以执行大量的指令。为了提高CPU的运行效率,可以采用中断传送方式。 例如,CPU通过中断传送方式与打印机连接,如图9-4所示。 图9-4 CPU通过中断传送方式和打印机连接示意图

  13. 编程如下: PUSH A MOV A,#DATA MOV R0,#0FFH MOVX @R0,A POP A RETI 中断传送方式就是当CPU需要输入或输出数据时,执行一条指令,发出启动外设工作的命令,然后CPU继续执行主程序。当外设准备就绪或空闲时,由外设向CPU发出中断请求,CPU就暂停原程序的执行,转去执行输入或输出操作,待输入输出操作完成后再返回,CPU继续执行原程序。中断传送不仅大大提高CPU的效率,而且可以实现CPU与外设同时工作。

  14. 9.1.3 直接存储器传送 中断传送虽然大大提高了CPU的运行效率,但它仍是由CPU通过程序传送,需要执行许多条指令,所以传送一个数据都要花费一定时间。这对于一个高速输入输出设备,以及成组成批交换数据的情况,例如磁盘与内存之间的信息交换,就显得速度太慢了。 我们希望用硬件在外设与内存间直接进行数据交换(即DMA)而不通过CPU。这样,数据传送的速度的上限就只取决于存储器的工作速度。但是,通常系统的地址总线、数据总线及控制总线都是由CPU管理的。在DMA方式时,就需要CPU把这些总线让出来,而由DMA控制器来接管。DMA的工作原理图如图9-5所示。

  15. 图9-5 DMA工作原理图 图中的DMA控制器要能对数据交换进行控制,必须具备以下功能: 1.能向CPU发出总线请求信号。 2.当CPU发出总线响应信号后,DMA控制开始接管对总线的控制,进入DMA传送方式。 3.发出地址信息,能对存储器寻址及能修改地址指针。 4.能发出读或写等控制信息。 5.能决定传送的字节数,及判断DMA传送是否结束。 6.发出DMA结束信号,总线重交CPU管理,使CPU恢复正常工作状态。 通常DMA的工作流程如图9-6所示。

  16. 图9-6 DMA工作流程图 需要说明的是:MCS-51不具备DMA功能,但它可以参与到单板机Z80系统中,成为双CPU系统。

  17. 9.2 单片机简单I/O扩展 对于简单的单片机系统,可以直接利用P0~P3口与外围设备进行通信,或者使用TTL芯片、CMOS芯片或三态门电路与外围设备进行通信。根据实际情况,这些I/O口一般通过P0口进行扩展。由于P0口是分时复用,所以构成输出口时,接口芯片应具有锁存功能;构成过程输入口时,根据输入数据是常态还是暂态,要求接口芯片应该能够三态缓冲或锁存选通。 9.2.1 简单输入口扩展 外设输入的数据和状态信号,可以通过数据输入三态缓冲器传给单片机。通常使用的典型芯片是74LS244,该芯片为双4位三态数据缓冲器,其引脚如图9-7 所示。输入端引脚1A1~1A4、2A1~2A4,输出端引脚1Y1~1Y4、2Y1~2Y4,输出允许信号1G和2G分别控制两个4位三态数据缓冲器的输出,低电平时允许输出,高电平时为高阻状态。 使用74LS244扩展简单输入接口的电路如图9-8所示。8个数据输出端1Y1~1Y4、2Y1~2Y4与单片机的数据总线相连,8个数据输入端1A1~1A4、2A1~2A4与外设相连。加到输出允许信号和上的负脉冲,将数据输入端的数据送到数据输出端,与CPU的和地址译码信号相连。

  18. 74LS244:8 输入3态缓冲电路,把8个输入分成2组,4个一组。 H=高电平 L=低电平 Z=高阻 G=0 的时候,输入->输出 G=1的时候,输出为高阻态

  19. 图9-8 74LS244扩展简单输入接口 图9-7 74LS244引脚图 这样扩展口的地址为:7FFFH。输入数据的指令: MOV DPTR, #7FFFH MOVX A, @DPTR

  20. 9.2.2 简单输出口扩展 下面以锁存器74LS377芯片为例,介绍简单输出接口扩展电路。 74LS377芯片是一个具有使能控制端的8位锁存器。其信号引脚如图9-9所示。使能端OE=0时,加到74LS377引脚CLK的脉冲信号的上升沿将D0~D7引脚上出现的数据写入锁存器锁存。使能端OE=1或CLK=0时,锁存器输出锁存的内容。 扩展简单输出接口的连接电路如图9-10所示。8个数据输入端D7~D0与单片机数据总线相连,8个数据输出端Q7~Q0与外设相连。使能端与地址总线的译码信号,若扩展系统中无其他片外数据存储器或I/O口电路,端可以接地,一直有效。时钟端CLK与单片机写信号相连。每当执行MOVX @Ri,A指令,在写信号的上升沿,单片机将累加器A的内容通过数据总线锁存在74LS377中,并向外设输出。

  21. 图9-10 74LS377扩展简单输出接口 图9-9 74LS377引脚图 P2.5决定74LS377地址为:DFFFH,输出指令: MOV DPTR ,#0DFFFH MOVX @DPTR,A

  22. 9.3 8255A可编程通用并行接口芯片 9.3.1 可编程I/O接口扩展概述 为完成一些较复杂的接口动作,仅靠上述的一些简单芯片不能满足要求。此情况下可以选用可编程的接口芯片,这些芯片的功能可以由CPU通过程序来控制,因此可以使用一个接口芯片执行多种不同的接口功能,使用十分灵活方便。同时可以与微处理器和外设直接连接,不需要或只需外加很少的硬件。 可编程的接口芯片较多,功能各异,常用的可编程接口芯片如: 8255A:可编程并行I/O接口片; 8155:可编程的RAM和I/O接口芯片; 8279/78:可编程键盘/显示器接口芯片; 8250、8251:可编程串行通信接口芯片; 8237:可编程DMA控制器芯片; 8253:可编程定时/计数器接口芯片; 8295:点阵式打印机控制接口芯片等等。 9.3.2 8255A的逻辑结构和信号引脚 1.8255A的结构

  23. 图9-11 8255A逻辑结构图 8255A的结构框图如图9-11所示。它由以下几个部分组成:

  24. (1)I/O端口A、B、C: 8255A有三个8位(又称两个8位、两个4位)并行口,即为PA、PB、PC,它们都可以选择输入或输出工作方式,但在功能和结构上有些差异。 PA口有一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。PB口有一个8位数据输出锁存缓冲器,一个8位的数据输入输出缓冲器;PC口有一个8位的输出锁存缓冲器,一个8位输入缓冲器。PA口和PB口作为输入输出口,PC口可作为输入输出口,也可传送PA、PB口选通方式操作时的状态控制信号。 (2)A组和B组控制电路: 这是两组根据CPU命令控制8255A工作方式的控制电路,A组控制PA口和PC4~7,B组控制PB和PC0~3。

  25. (3)双向三态数据总线缓冲器 :这是8255A和CPU数据总线的接口,CPU和8255A之间的命令、数据和状态的传送部分是通过双向三态总线缓冲器传送的,D0~D7控CPU的数据总线。 (4)读写和控制逻辑 :A0、A1、CS为8255A的端口选择信号与片选信号,RD、WR为对8255A的读写控制信号,这些信号分别和CPU的地址线和读写信号线相连接,实现CPU对8255A口选择和数据传送。这些控制信号的组合可以实现CPU对8255A的PA口、PB口、PC口和控制口的选择。

  26. 图9-12 8255A引脚图

  27. 2.8255A各引脚功能 8255A的引脚配置如图9-12所示,各功能如下: (1) D0~D7—双向三态数据总线。 (2)PA0~PA7—A端口线。 (3)PB0~PB7—B端口线。 (4)PC0~PC3—C端口低四位线。 (5)PC4~PC7—C端口高四位线。 (6)A1A0—地址线。 A1A0=00时,选择端口A。 A1A0=01时,选择端口B。 A1A0=10时,选择端口C。 A1A0=11时,选择控制寄存器; (7)RD —读控制线。RD=0时,CPU可以把端口A、B、C的数据读人。 (8)WR —写控制线。WR=0时,CPU可以把数据写入端口A、B、C或者控制寄存器中。 (9)CS—片选信号。CS=0时,该片被选中,允许工作。 • (10)RESET—复位输入信号。高电平有效。复位后,控制寄存器被清除,各端口被置成输入方式。

  28. 3.8255A与MCS—51单片机的连接 8255A与MCS—51单片机的连接很简单,如图9-13所示。 图9-13 8255A与MCS-51连接电路 (1) 8255A数据线D0~D7与MCS—51单片机P0.0~P0.7直接相连。 (2) 8255A RESET与MCS—51单片机RESET相接,MCS—51单片机复位时,8255A也同时复位。 (3) 8255A的WR、RD线与MCS—51单片机WR、RD相接。 (4) 8255A的片选线通常与MCS—51单片机的P2.7相接,决定8255A口地址。 (5) 8255A 的A1A0通常接74LS373的输出端Q1Q0,以决定8255A内部4个端口地址。

  29. (6) 8255A的A口、B口、C口端线接外围设备,作为扩展的并行I/O口。 按图9-13 连接,8255A的A口、B口、C口地址(设无关位为1)分别为: A口—7FFCH B口—7FFDH C口—7FFEH 控制口—7FFFH 9.3.3 8255A的工作方式及数据I/O操作 1.方式0 基本的输入输出方式。在这种工作方式下,A、B、C三个端口都可由程序选定为输入输出的方式,但不能既作输入又作输出。端口C可以分成二部分,即高四位和低四位可分别设置传送方式,如高四位设置为输入,低四位设置为输出,也可都作输入或输出。但这种方式没有用于应答式的联络信号线。

  30. 基本功能为: (1)两个8位端口(A,B)和两个4位端口(C)。 (2)任一个端口可作输入或输出。 (3)输出是锁存的。 (4)输入是不锁存的。 方式0时,任一端口都可由简单的传送指令来读或写,用于无条件传送十分方便,这时不需要状态信息,三个端口都可作数据口。在MCS-51系统中,只须执行MOVX A,@DPTR和MOVX @DPTR,A类指令,便可完成输入输出操作。 若将方式0用作查询方式输入或输出接口电路,则A口和B口分别作数据端口用,而C口的某些位可传送这两个数据端口的控制和状态信息。

  31. 2.方式1 选通的输入输出方式。此时端口A、端口B由编程可分别设定为输入或输出口。而端口C传送联络信号。A口的动作可通过C口的高四位进行控制。B口的动作可通过C口的低四位进行控制。 主要功能为: (1)用—个或两个选通I/O端口。 (2)每一个端口包含8位数据线、3条控制线(是固定的,不能用编程改变)提供联络信号。 (3)任一端口都可作输入或输出口。 (4)若只有一个端口工作于方式1,余下13位可工作在方式0(C口5位)。 (5)若两个端口都工作于方式1,端口C还剩下二位可作为基本输入或输出方式。

  32. 1)方式1输入 图9-14 为8255A工作方式1输入时A口功能图。 在方式1输入情况下,控制信号定义如下: (Strobe input选通输入) 由外部输入,低电平有效。有效时,将外部输入的数据锁存到所选端口的输入锁存器中。对A组来说,指定端口C的第4位(PC4)。用来接收向端口A输入的A信号;对B组来说,指定端口C的第2位(PC2)用来接收向端口B输入的B信号。 图9-14 8255A工作方式1输入时A口功能

  33. IBF(Input Buffer Full输入缓冲器满触发器) 向外部输出,高电平有效。IBF有效时,表示由输入设备输入的数据已占用该端口的输入锁存器,它实际上是对信号的回答信号,待CPU读取数据时,RD有效,将输入数据读入CPU,其上升沿置IBF为“0”,表示输入缓冲器已空,外设可继续输入后续数据。对A组来说,指定端口C的第5位(PC5)作为从端口A输出的IBFA信号;对B组来说,指定端口C的第l位(PC1)作为从端口B输出的IBFB信号。

  34. INTR(Interrupt Request中断请求) 向CPU输出,高电平有效。在A组和B组控制电路中分别设置一个内部中断触发器INTEA和INTEB,前者由 A(PC4)控制置位,后者由 B(PC2)控制置位。当任一组中 的有效,则置IBF为“1”,表示当前输入缓冲器已满,并由后沿置“1”各组的INTE,于是,输出INTR有效,向CPU发出中断请求信号。待CPU响应这一中断请求,可在中断服务程序中安排读取数据后置IBF为“0”,外设才可继续输入后续数据。

  35. 图9-15 8255A工作方式1输出时B口 2)方式1输出 图9-15为8255A工作方式1输出时B口功能图。 在方式1输出情况下,控制信号定义如下: OBF(Output Buffer Full 输出缓冲器满触发器) 向外部输出,低电平有效。OBF有效时,表示CPU已将数据写入该端口正等待输出。当CPU写数据时,WR有效,表示将数据锁存到数据输出缓冲器,由WR的上升沿将OBF置为有效。对于A组,系统规定端口C的第7位(PC7)用作从端口A输出的OBFA信号;对于B组,规定端口C的第1位(PC1)用作从端口B输出的OBFB信号。

  36. 图9-15 8255A工作方式1输出时B口 ACK(Acknowledge外部应答信号) 由外部输入,低电平有效。ACK有效,表示外部设备己收到由8255A输出的8位数据,它实际上是对OBF信号的回答信号。对于A组,指定端口C的第6位(PC6)用来接收向端口A输入的ACKA信号;对于B组,指定端口C的第2位(PC2)用来接收向端口B输入的ACKB信号。

  37. 图9-15 8255A工作方式1输出时B口 INTR 中断请求信号。向CPU输出,高电平有效。对于端口A,内部中断触发器INTEA由PC6(ACKA)置位,对于端口B,INTEB由PC2(ACKB)置位。当ACK有效时,OBF被复位为高电平,并置“1”相应端口的INTR,于是INTR输出高电平,向CPU发出输出中断请求,待CPU响应该中断请求,可在中断服务程序中安排传送指令继续输出后续字节。对于A组,指定端口C的第3位(PC3)作为由端口A发出的INTRA信号;对于B组,指定端口C的第0位(PC0)作为由B口发出的INTRB信号。

  38. 图9-16 8255A工作于方式2时的功能 3.方式2 双向方式。只有端口A可编程为双向方式,通过C口的高5位进行控制,A口既可作输入也可作输出。PC0~PC2及PB口可工作于方式0。这种方式,使外设可在单一的8位总线上,既能发送,也能接收数据(双向总线I/O)。工作时可用程序查询方式,也可工作于中断方式。图9-16为8255A工作于方式2的功能图。主要功能: (1)方式2只用于端口A; (2)一个8位的双向总线端口(A)和一个5位控制端口(C); (3)输入和输出是锁存的: (4)5位控制线用作端口A的控制和状态信息。

  39. INTR(中断请求) 高电平有效。在输入和输出方式时,都可用来作为向CPU的中断请求信号。对应C口PC3。 OBF(输出缓冲器满) 低电平有效。是对外设的一种命令信号,表示CPU已把数据输至端口A。对应C口的PC7。 ACK(响应信号) 低电平有效。ACK的有效沿启动端口A的三态输出缓冲器,送出数据;否则,输出缓冲器处在高阻状态。ACK的上升沿是数据已输出的回答信号。对应C口PC6。 INTEl(与输出缓冲器相关的中断屏蔽触发器) 由PC6的置位/复位控制。 STB(选通输入) 低电平有效。这是外设供给8255A的选通信号,它把输入数据选通至输入锁存器。对应C口PC4。 INTE2(与输入缓冲器相关的中断屏蔽触发器) 由PC4的置位/复位控制。 IBF(输入缓冲器满) 高电平有效。它是一个状态信号,指示数据已进入输入锁存器。在CPU未把数据读走前,IBF始终为高电平,阻止输入设备送来新的效据。对应C口PC5。

  40. D7 D6 D5 D4 D3 D2 D1 D0 标志位 A口方式 A口I/O选择 C口高4位I/O B口方式 B口I/O选择 C口低4位I/O 9.3.4 8255A控制字及初始化编程 8255A在使用前,必须首先向控制字寄存器写入控制字,说明各口的工作方式,或对C口的各位进行置位或复位。 1.方式控制字 方式控制字的约定如表9-1: 表9-1 方式控制字 D7=1是方式控制字标志 D6、D5=00,A口工作于方式0;D6、D5=01,A口工作于方式1; D6、D5=10,A口工作于方式2; D4=0选择A口为输出,D4=1,选择A口为输入; D3=0选择C口的高4位为输出,D3=1为输入; D2=0选择B口工作于方式0,D2=1选择B口工作方式1; D1=0选择B口为输出,D1=选择B为输入; D0=0选择C口的低4位为输出,D0=1为输入。

  41. 设控制字寄存器地址为7FFFH,以下为初始化程序:设控制字寄存器地址为7FFFH,以下为初始化程序: MOV DPTR,#7FFFH MOV A,#95H ;控制字为10010101 MOVX @DPTR,A ;设控制字寄存器地址为7FFFH 则8255A的A口工作于方式0输入。B口工作于方式1输出,C口的高4位作为输出,低4位作为输入。 2.C口置位复位控制字 C口的置位复位控制字约定如表9-2,必要时可利用它对C口任一位进行置1或置0。

  42. 2.C口置位复位控制字 C口的置位复位控制字约定如表9-2,必要时可利用它对C口任一位进行置1或置0。 表9-2 C口置位复位控制字 其中D7=0是C口置位复位控制字的标志,D3、D2、D1是作为被操作位的选择字,例如要对PC2进行置位,D3、D2、D1的值应为010。D0是表示操作内容,置位操作D0=1,复位操作D0=0。例如要使PC7置1,初始化程序应为: MOV DPTR,#7FFFH;送控制口地址 MOV A,#0FH MOV @DPTR,A ;控制字为00001111

  43. D7=0是C口置位复位控制字的标志, D3、D2、D1是作为被操作位的选择字,例如要对PC2进行置位,D3、D2、D1的值应为010。 D0是表示操作内容,置位操作D0=1,复位操作D0=0。例如要使PC7置1,初始化程序应为: MOV DPTR,#7FFFH;送控制口地址 MOV A,#0FH MOV @DPTR,A ;控制字为00001111

  44. 端口 工作方式 开中断应1的位 端口 工作方式 开中断应置1位 A口 方式1、输入 PC4 B口 方式1、输出 PC2 方式1、输出 PC6 A口 方式2、输入 PC4 B口 方式1、输入 PC2 方式2、输出 PC4 C口的置位复位控制字还可以实现以A、B口进行开放中断或禁止中断的操作;开中断时应对相应位置1。规定如表9-3。例如A口工作于方式1,输入方式,开中断时应将D3D2D1置100(PC4),置1操作应将D0置1,对应控制字应为09H。 表9-3 中断允许置1位

  45. 9.4 8155可编程并行接口芯片 9.4.1 8155基本结构及工作方式 8155芯片含有256个字节8位的RAM,两个8位、一个6位的可编程并行I/O口和一个14位定时计数器。是一种多功能接口芯片,与MCS-51单片机接口简单,因而是微机应用系统中广泛使用的芯片。 1.8155基本结构 图9-17 为8155结构组成框图。

  46. 图9-17 8155结构框图

  47. 256×8位的静态RAM。 (2)并行I/O接口部分 1)A口:8位可编程I/O口PA7~PA0。 2)B口:8位可编程I/O口PB7~PB0。 3)C口:6位可编程I/O口PC5~PC0。 4)命令寄存器:8位寄存器,只允许写入。 5)状态寄存器:8位寄存器,只允许读出。 (3)定时/计数器部分 具有l 4位的二进制减法定时/计数器。 8155采用40引脚双列直插式封装,单一+5V工作电源。 (1)RAM部分

  48. 8155的各引脚功能如下: RE5ET 复位输入信号,高电平有效。在RESET端出现约5μs脉宽的正脉冲时,8155被初始复位。复位后A口、B口和C口均置为输入方式,定时/计数器停止工作。 ALE 地址锁存允许信号。在ALE信号的下降沿把AD0~AD7上的8位地址信号、片选信号以及IO/(I/O端口/RAM)选择信号都锁存到8155的内部锁存器。 AD0~AD7双向三态地址/数据线,8位。地址可以是8155内部RAM单元地址或I/O口地址,AD0~AD7上的地址由ALE下降沿锁存到8l55内部地址锁存器。数据为输入或输出的信息,也就是由ALE信号来区别AD0~AD7上出现的是地址信息还是数据信息。 IO/ I/O端口和RAM选择信号。当IO/=1时,AD0~AD7的地址为8155 I/O口地址,选择I/O端口;当IO/=0时,AD0~AD7的地址为8155内部RAM单元地址,选择RAM存储单元。

More Related