微机原理与接口技术(朱红)第9章8255.ppt

微机原理与接口技术(朱红)第9章8255.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
方式1输入:B端口 PC2 PC1 PC0 PB7~PB0 INTEB IBFB INTRB STBB 数据选通信号 表示外设已经准备好数据 输入缓冲器满信号 表示A口已经接收数据 中断请求信号 请求CPU接收数据 中断允许触发器 方式1需借用端口C用做联络信号 同时还具有中断请求和屏蔽功能 方式1的输入时序 STB*和IBF是外设和8255A间的一对应答联络信号, 为的是可靠地输入数据 具体工作如下: 1、输入数据和STB/由外设进入8255,通知8255接收数据。 2、8255接收数据到输入缓冲器, 同时将IBF置1,表示缓存器满,阻止外设再次送入数据。 3、STB/有效500ns后外设撤销。 4、当STB/为高(信号撤销),IBF为高,INTE为高(允许中断) 同时满足时,向CPU发出中断请求信号INTR,通知CPU取数据。 5、CPU接到中断请求后,响应中断,向8255发出读信号RD/。 6、RD/下降沿复位INTR,将缓冲器中的数据送到CPU内部。 7、RD/上升沿,复位IBF,允许外设发送下一个数据。 方式1输出:A端口 外设响应信号 表示外设已经接收到数据 输出缓冲器满信号 表示CPU已经输出了数据 中断请求信号 请求CPU再次输出数据 PC6 PC7 PC3 PA7~PA0 INTEA OBFA INTRA ACKA 中断允许触发器 INTE : 中断允许信号,无外部引出端。 方式1,A口或B口用于输出时: 对PC6置1,使A口中断允许 对PC2置1,使B口中断允许 方式1输出:B端口 PC2 PC1 PC0 PB7~PB0 INTEB OBFB INTRB ACKB 外设响应信号 表示外设已经接收到数据 输出缓冲器满信号 表示CPU已经输出了数据 中断请求信号 请求CPU再次输出数据 中断允许触发器 方式1的输出时序 OBF*和ACK*是外设和8255A间的一对应答联络信号, 为的是可靠地输出数据 具体工作如下: 1、CPU在INTR为高的情况下,响应中断,使WR/信号有效,并通过数据线向8255的输出锁存器中写入数据。 2、WR/上升沿使INTR为低,禁止CPU继续向8255发送数据。 3、 WR/上升沿使OBF/为有效的低电平,通知外设取走8255输出锁存器中的数据。同时锁存的数据也出现在了端口线PA7~PA0。 4、外设从端口数据线PA7~PA0上取走数据,向8255发送ACK/。 5、ACK/的下降沿复位OBF/,表示输出锁存器空。 6、ACK/的上升沿使INTR为高,向CPU申请下一个的数据的输出。 PC0: 8255A工作于方式1的例子(非 常规,有时间讲解) 本例8255A的控制字:A口方式1,B口方式0,PC0作输出信号 D7 D6 D5 D4 D3 D2 D1 D0 A0H:1 0 1 0 0 0 0 0 1、D3=0:PC7~PC4为输出;本例:D3=0或1都可 2、D2=0, B组未用但必须为方式0;若设为方式1,则占用 PC0~PC2 3、D0=0,PC3~PC0为输出 DATA SEGMENT BUFFER DB ‘ABCDEFG’,0DH,0AH POINTER DW ? DONE DB 0 DATA ENDS MAIN:… … MOV BX,OFFSET BUFFER MOV POINTER,BX MOV AL,0A0H ; 控制字 OUT 0C6H,AL MOV AL,01H ;用置1/置0方式使PC0为1 ;,使选通无效 OUT 0C6H,AL XOR AX,AX MOV DS,AX ;设置中断向量0100: 2000至 ;内存0000:002C、2D、2E、2FH中 MOV AX,2000H MOV WORD PTR[002CH],AX MOV AX,0100H MOV WORD PTR[002EH],AX MOV AL,0DH ;用置1/置0方式使PC6为1 ;, 使INTEA=1, ;允许8255A端口A中断 OUT 0C6H,AL STI ;开中断 INT 0BH ; ISERV: MOV DI,POINTER MOV AL,[DI] ;DI为打印字符缓冲

文档评论(0)

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

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

1亿VIP精品文档

相关文档