- 1、本文档共168页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通过仔细分析方式2的工作时序图10.17,会发现方式2的时序基本相当于方式1的选通输入时序和选通输出的时序的组合。从图10.17中可以看到,对于输入过程,当外设向A端口送来数据时,选通信号STB也跟着有效变为低电平,选通信号将数据锁存到8255A的A端口的输入锁存器中。同样也正是由于STB信号的变低,才使得输入缓冲器满信号IBF变为高电平,如图10.17中表示的箭头⑦。当选通信号STB结束,也就是变为高电平时,又使中断请求信号INTR有效,变为高电平,如图10.17中表示的箭头⑧。当CPU响应输入中断,执行输入指令时,会产生RD信号,在读信号RD有效期间,将数据从A端口读入到CPU中。当RD信号结束后输入缓冲器满信号IBF又变为低电平,如图10.17中表示的箭头⑨。中断请求信号INTR虽然为高也不再起作用。 对于输出过程,当CPU响应中断后,在中断服务程序中执行输出指令时,将发出写脉冲WR,WR的下降沿使中断请求信号INTR变低,如图10.17中表示的箭头①。WR信号结束其上升降沿使输出缓冲器满OBF信号变为有效的低电平,如图10.17中表示的箭头②。OBF信号送到外设,当外设接到OBF信号后,发出应答信号ACK,如图10.17中表示的箭头③。由ACK信号打开8255A的输出缓冲器,使数据出现在A端口和数据总线上,ACK信号结束时使输出缓冲器满信号OBF变为无效的高电平,如图10.17中表示的箭头⑤,从而开始下一个数据传输过程。由于方式2是双向传输的工作方式,如果一个外设既可以作为输入,又可以作为输出时,采用8255A的方式2与它相连就十分方便。 图10.17 8255A方式2时序 表10-6 8255A方式2时序的参数说明 参 数 说 明 8255A 最小时间/ns 最大时间/ns tST 选通脉冲的宽度 500 ? tPH 数据保持时间 180 ? tSIB 选通脉冲有效到IBFA有效之间的时间 ? 300 tPS 数据有效到 无效之间的时间 0 tWOD 从写信号无效到, 有效的时间 ? 650 tAOD 有效到 无效的时间 ? 350 tAD 有效到数据输出的时间 ? 350 tHD 数据保持时间 200 ? 10.2.5 8255A的应用举例 8255A初始化时,先要写入控制字,指定它的工作方式,然后才能通过编程,将总线上的数据从8255A输出给外设,或者将外部设备的数据通过8255A送到CPU中。举一个通过8255A把CPU中的数据输出到打印机上的例子。图10.18(a)采用查询方式传送数据,A端口作为8位数据的输出端口,工作在方式1输出方式。C端口作为状态端口和控制端口使用,一般的打印机有3个主要的控制状态信号线。BUSY表示打印机是否处于“忙”状态,高电平有效;DATASTB选通信号,低电平有效,当该信号有效时,将CPU的数据输出到打印机中;ACK是打印机对主机的应答信号,当打印机接收完字符后发出这个信号。当DATASTB信号有效时,将BUSY信号置为高电平,ACK有效使BUSY置为低电平,图中的单稳定用来展宽脉冲,以满足DATASTB打印机对信号要求的时间宽度。 图10.18 8255A与打印机的接口方式 (a) 查询方式电路图;(b) 中断方式电路图 A端口地址用PortA表示,C端口地址用PortC表示,控制端口地址用PortCtr表示。输出500个字符程序段如下: MOV AL,0A8H ;A端口方式1输出,PC4输入 MOV DX,PortCtr ;控制口送DX OUT DX,AL ;输出控制字 MOV CX,500 ;传送500个字符 MOV DI,Buffer ;送字符缓冲区首址 LOOP1:MOV AL,[DI] MOV DX,PortA ;A端口地址送DX OUT DX,AL ;从A端口输出一个字符 MOV DX,PonC ;C端口地址送DX NEXT:IN AL,DX ;从C端口读入打印机状态 TEST AL,10H ;测试BUSY信号 JNZ NEXT ;如果打印机忙,等待 INC DI ;缓冲区首址加1 LOOP LOOP1 ;继续输出下一个字符 如果采用中断方式传送数据,电路的连接形式如图10.18(b)所示。由CPU控制PC4产生选通脉冲,PC4作输出用,这里OBF没有用。PC3作为中断请求INTR,由ACK信号上升沿产生,使用IRQ3,中断向量0BH。 在编写有关中断的程序时,中断服务
文档评论(0)