好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第8章常见外设接口及应用-1.ppt

69页
  • 卖家[上传人]:油条
  • 文档编号:1317341
  • 上传时间:2017-06-06
  • 文档格式:PPT
  • 文档大小:7.94MB
  • / 69 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 8.1 可编程并行通信接口芯片8255A,8255A是Intel生产的一种典型的可编程并行通信接口芯片,其功能与通用性都较强,使用也很灵活8.1 可编程并行通信接口芯片8255A,8.1.1 8255A芯片引脚定义与功能 8.1.2 8255A寻址方式 8.1.3 8255A的控制字8.1.4 8255A的工作方式 8.1.5 时序关系 8.1.6 8255A的应用举例,8.1.1 8255A芯片引脚定义与功能,8255A是一个40脚封装双列直插式芯片8.1.1 8255A芯片引脚定义与功能,D7-D0:8位双向数据线,连接CPU与8255A片内的三态双向数据总线缓冲器A1-A0:2位地址线,用于选择3个I/O端口和一个控制端口RD#:读控制线,低电平有效WR# :写控制线,低电平有效CS#:片选端,低电平有效RESET:复位信号,高电平有效 它清除控制寄存器并将8255A的A、B、C三个端口均置为输入方式;输出寄存器和状态寄存器被复位,并且屏蔽中断请求;24条面向外设的信号线呈现高阻悬浮状态这种势态一直维持,直到用方式命令才能改变,使其进入用户所需的工作方式8.1.1 8255A芯片引脚定义与功能,8255A芯片内部包含3个8位端口,其中: 端口A:包含一个8位数据输出锁存/缓冲存储器和一个8位数据输入锁存器 端口B:包含一个8位数据输入/输出、锁存/缓冲存储器和一个8位数据输入缓冲存储器; 端口C:包含一个8位输出锁存/缓冲存储器和一个输入缓冲存储器(输入无锁存)。

      实际使用时,可以把A口、B口、C口分成两个控制组:A组和B组 A组控制电路控制端口A和端口C的高4位(PC7~PC4) B组控制电路控制端口B和端口C的低4位(PC3~PC0)8.1.1 8255A芯片引脚定义与功能,8255A的内部结构分为3部分: CPU接口、内部逻辑、外设接口,8.1.1 8255A芯片引脚定义与功能,8.1.1 8255A芯片引脚定义与功能,1、数据端口A、B、C 8255A的3个8位I/O端口A、B、C是和外设一边相连的输入/输出接口 在实际使用中,A口和B口通常只作为独立的输入或输出数据端口使用 C口的功能和使用比较特殊它除了可以作数据口使用外,还可以用来配合A口和B口工作,作为专用联络信号线,可以实现按位控制8.1.1 8255A芯片引脚定义与功能,2、A组控制和B组控制部件 这两组控制部件是8255A的内部控制逻辑,其内部有控制寄存器与状态寄存器,它们完成两个功能: 一是接收来自CPU通过内部数据总线送来的控制字,以选择两组端口的工作方式; 二是接收来自读/写控制逻辑电路的读/写命令,以决定两组端口的读/写操作。

      8.1.1 8255A芯片引脚定义与功能,3、读/写控制逻辑电路 读/写控制逻辑电路是和CPU一边相连的控制电路,负责管理8255A的数据传输过程 它接收片选信号CS#与来自地址总线的地址信号A1、A0以及控制总线的信号RESET、WR#、RD#,将它们组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令送给这两个部件,再由它们完成对数据信息、状态信息和控制信息的传输8.1.1 8255A芯片引脚定义与功能,4、数据总线缓冲器 数据总线缓冲器是连通CPU数据总线的一个双向三态8位数据缓冲器,8255A正是通过它来输入/输出数据的; 此外,CPU发给8255A的控制字以及由外设输入CPU的状态信息等,也都是通过该部件传递的8.1.1 8255A芯片引脚定义与功能,8.1.2 8255A寻址方式,8255A有3个I/O端口和一个控制端口,它们通过地址线A1、A0,读写控制线RD#、WR#以及片选线CS#进行寻址并实现相应的操作8.1.2 8255A寻址方式,8.1.2 8255A寻址方式,8.1.3 8255A的控制字,8255A在初始化编程时,是利用OUT指令由CPU输出一个控制字到控制端口的控制寄存器来控制其工作的。

      两种类型的控制字: 1、方式选择控制字 2、端口C置位/复位控制字,8.1.3 8255A的控制字,8.1.3 8255A的控制字,8.1.3 8255A的控制字,例1、将8255A设定为: 1、A组为方式0,组B为方式1 2、A口输入,B口输出,PC7~PC4输出,PC3~PC0输入 3、设8255A的4个端口地址范围为0060H~0063H 则初始化编程时的程序段为: MOV DX,0063H ; 8255A控制口地址 MOV AL,10010101B ;设定初始化方式选择控制字 OUT DX,AL ;送控制字到控制口,8.1.3 8255A的控制字,例2、设8255A端口地址范围为300H~303H,若要置8255A PC5的状态为1,则设置端口C置位/复位控制字的程序段为: MOV DX,0303H ; 8255A控制口地址 MOV AL,00001011B;由C口置位/复位控制字设定PC5=1  OUT DX,AL ;送控制字到控制口,8.1.3 8255A的控制字,例3、设8255A控制端口地址为037FH,若要使8255A的PC7产生一个负脉冲,用作打印机接口的选通信号,则设置端口C置位/复位控制字的程序段为: MOV DX,037FH ;8255A控制口地址 MOV AL,00001110B ;由C口置位/复位控制字设定PC7=0 OUT DX,AL ;送控制字到控制口 NOP ;延长负脉冲宽度 NOP MOV AL,00001111B ;由C口置位/复位控制字设定PC7=1 OUT DX,AL,8.1.3 8255A的控制字,8.1.4 8255A的工作方式,8255A有3种工作方式:方式0(基本输入/输出方式);方式1(选通输入/输出);方式2(双向选通输入/输出,仅适合于A口)。

      这些工作方式由初始化编程时设置方式选择控制字来选择8.1.4 8255A的工作方式,A口可选择方式0、方式1和方式2; B口可选择方式0和方式1; C口只能以方式0工作 当A口方式1/方式2或B口选择方式1时,C口某些位配合A口或B口工作,作为A口/B口与外设联络用的输出控制信号或输入状态信号,而C口的其余各位仍用方式0工作8.1.4 8255A的工作方式,方式0 方式 0 :基本的输入/输出工作方式,只能完成简单的并行输入/输出操作 方式 0 的特点: (1)没有固定的联络信号,一般采用无条件传送或查询方式传送与CPU交换数据 (2)有4个独立的并口,16种不同的输入/输出组态 (3)所有端口都是单向传输端口8.1.4 8255A的工作方式,8.1.4 8255A的工作方式,方式1 方式 1 :选通输入/输出方式或应答方式 它在使用端口A和端口B进行输入/输出时,一定要利用端口C所提供的选通信号和应答信号来配合输入/输出操作8.1.4 8255A的工作方式,方式1的特点:(1)需要固定的联络线(联络信号)配合A口和B口使用(2)如果A口和B口都工作在方式1,则C口中就有6位(分为两组3位)联络线来联络与控制操作,各联络信号线之间有着固定的时序关系。

      C口的其余2位,仍可作为输入或输出线(3)联络信号可供CPU查询或向CPU申请中断4)所有端口都是单向传输端口8.1.4 8255A的工作方式,,,,,,,,,STB#:选通输入信号IBF:输入缓冲器满信号INTR:中断请求信号INTE:中断允许信号,中断方式查询方式,PC4,查询,8.1.4 8255A的工作方式,PC2,8.1.4 8255A的工作方式,8.1.4 8255A的工作方式,端口A和端口B为输入方式 STB#:选通输入信号,低电平有效 外设送给8255A的选通信号,当它有效时,就把来自外设的一个8位输入数据送到8255A的端口A或端口B的输入缓冲器中8.1.4 8255A的工作方式,IBF:输入缓冲器满信号,输出信号,高电平有效 IBF是8255A输出的状态信号,当它有效时,表示当前已有一个新的数据进入端口A或端口B的输入缓冲器中,即缓冲器已满,8255A此刻不能再接收别的数据 IBF信号是对STB#的响应信号,由STB#信号置位 它可以由CPU通过查询C口的PC5或PC1位获得当CPU查得PC5(或PC1)=1时,表示输入缓冲器数据已满,CPU可以从A口(或B口)读入输入数据。

      IBF将由RD#信号的上升沿复位(变为低电平)8.1.4 8255A的工作方式,INTR:8255送往CPU的中断请求信号,高电平有效 当STB#结束(回到高电平时)和IBF为高电平,且有相应的中断允许信号(即INTE为高电平)时,则8255A就把INTR变为有效,以向CPU发中断请求 由RD#信号的下降沿使INTR复位(变为低电平) INTR通常和8259A的一个中断请求输入端IR相连,通过8259A的输出端INT向CPU发中断请求8.1.4 8255A的工作方式,INTE:中断允许信号它是在8255A内部的一个控制中断允许或禁止的控制信号 INTE没有外部引出端,即没有对片外输入或输出的功能,它只能由软件通过对C口某位的置位或复位来实现对中断请求的允许或禁止 端口A的中断请求INTRA可以通过对PC4的置位或复位加以控制,PC4置1,允许INTRA工作; PC4置0,则屏蔽INTRA 端口B的中断请求INTEB可以通过对PC2的置位或复位加以控制8.1.4 8255A的工作方式,OBF#:输出缓冲器满信号ACK#:外设应答信号INTR:中断请求信号INTE:中断允许信号,,,,PC6,,,查询,8.1.4 8255A的工作方式,8.1.4 8255A的工作方式,端口A与B为输出方式 OBF#:输出缓冲器满信号,输出信号,低电平有效。

      当它有效时,表示CPU已把数据写入端口A或B的输出缓冲器等待输出当CPU执行OUT指令WR#有效时,表示将数据锁存到输出缓冲器 由WR#的上升沿把OBF#信号置成低电平 由ACK#的下降沿把OBF#信号复位为高电平 ACK#:外设应答信号,低电平有效 当ACK#有效时,表示8255A中的数据已被外设取走8.1.4 8255A的工作方式,INTR:中断请求信号,高电平有效 ACK#信号结束(回到高电平),8255A便向CPU发中断请求信号INTR 写信号WR#上升沿使INTR复位,变为低电平 INTE:中断允许信号 端口A的输出中断请求INTRA可以通过对PC6的置位或复位来加以允许或禁止 端口B的输出中断请求INTRB可以通过对PC2的置位或复位来加以允许或禁止8.1.4 8255A的工作方式,8.1.4 8255A的工作方式,8.1.4 8255A的工作方式,例1:设8255A为工作方式1,A口为输出设置中断允许信号(端口的地址范围为300H~303H)MOV DX, 303H ;置8255A控制口MOV AL, 00001101B ;置C口按位控制字,使PC6=1, ;允许发中断请求 OUT DX, ALMOV AL, 00001100B ;置PC6=0,禁止发中断请求OUT DX,AL,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.