微机原理及接口技术-7研讨.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理及接口技术-7研讨

第七章 可编程接口技术 CPU与外设之间的信息交换是通过I/O接口完成的。不同的外设有不同的接口电路与之对应。接口电路的复杂程度与接口的功能相关。为了适应不同的需要,芯片生产厂商推出了各自系列的接口芯片,主要分为两类: 1、专用接口芯片 这类芯片是专门为外设的某种功能设计的,不需要进行任何设置即可工作。如:振荡器、锁存器、缓冲器、ADC、DAC等 2、可编程接口芯片 这类芯片可用于多种场合,使用前需要对芯片进行设置来确定其工作模式、工作状态和功能。如:并行接口芯片、串行接口芯片、定时/计数器、中断控制器、DMA控制器等。 7.1 并行通信接口芯片 8255A 8255A为可编程的并行I/O接口芯片。具有三个8位端口(A口、B口、C口),一个8位控制寄存器,共占用4个口地。8255A为+5V供电,40个引脚。 7.1.1 8255A引脚与内部结构 与CPU连接的信号线 D7-D0:数据线,三态双向 CS:芯片选择信号 RD/WR:芯片读/写信号 A1,A0:端口选择信号 RESET:复位信号 与外设连接的信号线 PA7- PA0: A口数据信号 PB7- PB0: B口数据信号 PC7- PCO: C口数据信号 8255A内部结构: 端口A: 具有一个8位数据输入锁存器和一个8位数据输出锁存器/缓冲器,故数据输入/输出均锁存。 端口B、端口C: 具有一个8位数据输入缓冲器和一个8位数据输出锁存器/缓冲器,故有输出锁存,无输入锁存。 CS RD WR A1 A0 端口选择及操作 0 1 0 0 0 数据送入端口A 0 1 0 0 1 数据送入端口B 0 1 0 1 0 数据送入端口C 0 1 0 1 1 写入控制字 0 0 1 0 0 数据从端口A送出 0 0 1 0 1 数据从端口B送出 0 0 1 1 0 数据从端口C送出 0 0 1 1 1 无操作,输出三态 0 1 1 X X 无操作,输出三态 1 X X X X 禁止,输出三态 8255A端口选择操作: 7.1.2 8255A工作方式 8255A有三种工作方式,三个口可以同时以各自选择的工作方式工作。8255A各口在正常工作前必须进行初始化设置,以确定各口的工作方式: 方式0——基本输入或输出方式,为单向8位传输方式。多适用于同步数据传输场合,无需握手信号,可直接进行传输,也可用于查询方式,此时往往用C口做为状态线和控制线。三个端口均可以工作在此方式。 方式1——选通输入或输出方式,为单向8位传输方式。只有A口、B口可工作在方式1状态,此时C口某些线做为A口、B口的联路线,C口的其它线可以工作在方式0下。 方式2——双向传输方式,既可输入又可输出。只有A 口可以采用方式2工作,此时C口中的5根线做为A口的握手线,其余的三条可以做为B口的握手线,或与B口一起工作在方式0状态。 8255A共有2个控制字: 方式选择控制字和C口位控控制字。2个控制字均需要送入控制寄存器口地址中,其区别在于控制字中D7。当D7=1时,为方式选择控制字,D7=0时,为C口位控控制字。 方式控制字: 返回 C口位控控制字: 8255A应用实例: 工作在方式0下 一般可以不需握手,直接读写数据;也可利用C口进行查询方式工作。 ;设8055A的地址为80H MOV AL OUT 83H,AL IN AL,80H OUT 81H,AL HLT 控制字 工作在方式1下 A口和B口可工作于方式1,此时C口某些线做状态或控制用,这些线巳被定义,用户不能编程改变。 输入方式时C口各状态 D7 D6 D5 D4 D3 D2 D1 D0 I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB 输出方式时C口各状态 D7 D6 D5 D4 D3 D2 D1 D0 OBFA INTEA I/O I/O INTRA INTEB OBFB INTRB 工作在方式1输入下 A口 B口 工作在方式1下的输入时序: ①外设数据准备好,向8255A发出STB数据有效信号,并将数据送入8255A的缓冲器,并使8255A的IBF变高,表示数据缓冲器满。 ②STB变高时,如果INTE=1则会使INTR变高,产生中断请求,要CPU取走数据。 ③CPU用IN指令取数据,RD的下降沿将使INTR无效。 ④RD上升沿将IBF变无效,表示数据被CPU取走,BUFF空。 工作在方式1输出下 A口 B口 返回 工作在方式1下的输出时序: ①8255A的某个端口收到CPU的数据,将OBF信

文档评论(0)

骨干 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档