- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3、8255的工作模式 8255A有三种工作模式:模式0,模式1,和模式2。用户可以通过“8255A方式控制字”来设定所需的工作模式。 (1)模式0: 基本的输入/输出方式 (2)模式1: 选通输入、选通输出方式 A口、B口作为输入或输出,C口做联络线 (3)模式2: A口的双向选通(输入/输出)方式 D7=1 D6 D5 D4 D3 D2 D1 D0 标志位 A组方式选择 A口、C口高4 B组方式 B口、C口低4 (1)模式0: 基本的输入/输出方式 A口、B口和C口均可设定为此种模式。 【例如】:设定A口和C口的高4位为模式0的输出方式,B口和C口的低4位为模式0的输入方式。 MOV R0,#0FBH ;控制寄存器地址送R0 MOV A, ;方式控制字83H送A MOV @R0,A ;控制字83H送控制寄存器 在模式0时,CPU可以对8255A无条件的进行I/O数据传送,数据可以在8255A对应的锁存器中锁存。同样,外设的I/O数据同样可以送到各端口得到锁存或缓冲。也可以将某些位设定为外设的状态输入位,CPU通过查询状态与外设进行异步I/O数据传送。 转控制字 (2)模式1: 选通输入、选通输出方式 A口、B口均可独立的设置为这种工作模式。 在这种模式下,A口、B口通常用于传送与它们相连外设的I/O数据。而此时,C口作为A口、B口与外设之间的联络握手信号,可以实现CPU与外设之间以“中断”的方式进行异步I/O数据传送。 D7=1 0 1 D4 D3 D2 D1 D0 标志位 A组方式选择 A口、C口高4 B组方式 B口、C口低4 转8255逻辑图 模式1下C口各位定义如下 C口各位 模式1 模式2 输入方式 输出方式 双向I/O方式 PC7 I/O /OBFa /OBFa PC6 I/O /ACKa /ACKa PC5 IBFa I/O IBFa PC4 /STBa I/O /STBa PC3 INTRa INTRa INTRa PC2 STBb /ACKb 由B口模式决定 PC1 IBFb /OBFb 由B口模式决定 PC0 INTRb INTRb 由B口模式决定 INTR: 8255A发出的中断请求信号,经反相后送单片机。 IBF: 8255A发出“输入缓冲器满”信号。/OBF:输出缓冲器满信号 /STB: 外设发出的“选通信号”,用于8255A的数据锁存用。 /ACK: 外设发出通知8255A的“已接收到数据” 的应答信号。 (1)8255的模式1:选通输入方式(A口) 1、当外设输入数据到PA口时, 自动的向/STBa发出一个低电平选通信号; 2、8255A收到/STBa上的负脉冲后作两件事: 一是将数据存入A口输入缓冲/锁存器中; 二是输入“缓冲器满”的IBFa高电平信号,通知外设已收到数据。 3、8255A检测到/STBa变为高电时,若Qibfa高电平,Qintra高电平时,将INTRa变高向CPU申请中断(Qintra可由用户对PC4进行单一置复位控制字控制,参见模式一时的状态字)。 4、CPU响应中断后,从A口读取数据,并在读走数据后8255A撤掉INTRa信号,并使/STBa变低通知外设送下一个字节的数据。 P0 8031 /INT0 D7-D0 PA PC4 PC5 PC3 D7-D0 输入设备 INTEa /STBa IBFa INTRa 1 2 转符号说明 (2)8255的模式1:选通输出方式(B口) P0 8031 /INT0 D7-D0 PB PC1 PC2 PC0 D7-D0 输入设备 INTEb /OBFb /ACKb INTRb 1 3 1、CPU通过 MOVX @Ri ,A 指令将数据送到B口输出锁存器,8255A收到数据后便令“输出缓冲器满”/OBFb变为低电平, 通知外设准备接收。 2、外设接到/OBFb的低电平后作两件事情: 一,从PB上取走数据;二,使/ACKb线变低,通知8255A:外设已收到数据。 3、8255A接收到/ACKb线变低后,就对/OBFb ,/ACKb 和Qinteb的状态进行检测,当它们皆为“1”时,INTRb变为高电平向CPU发终端申请。 4、CPU响应中断后,通过中断服务程序将下一个数据送到8255A的B口,同时撤掉INTRb信号。 2 模式一时的状态字 (3)模式2: A口的双向(输入/输出)方式 只有A口具有模式2 方式。此时,PA口为双向I/O总线。 1、当PA作输入口时,由/STBa和IBFa信号控制, 过程同模式1的输
文档评论(0)