简述8255的三种工作方式ad转换器的工作原理有几种方式

简述8255的三种工作方式ad转换器的工作原理有几种方式,第1张

8255有3种工作方式

方式0(基本输入输出方式):不需任何选通信号,A口、B口、C口高4位、C口低位,都可被设定为输入或输出。作输出口时输出数据存锁;作输入口时输入数据不存锁。

方式1(选通输入输出方式):A、B、C

三个口分为两组。A组:包括A口及高半C口,A口可编程设定为输入或输出,C口高4位作A组I/O控制及同步信号;B组:包括B口及低半C口,B口可编程设定为输入或输出,C口低4位作B组I/O控制及同步信号;

方式2(双向总线方式):

A口(仅A口)作8位双向总线,C口的PC3~PC7位用于I/O控制及同步信号;若将8255A的A口(仅能是A口)设置为工作方式2,可作8位双向总线使用,B口及C口的PC0~PC2位,可设定为方式0或方式1工作。

A/D

转换有2种方式:

(1)

查询方式;

(2)中断方式

2.方式1——选通输入输出方式 与方式0相比,它的主要特点是当A口、B口工作于方式1时,C口的某些I/O线被定义为A口和B口在方式1下工作时所需的联络信号线,这些线已经定义,不能由用户改变。现将方式1分为:A口和B口均为输入、A口和B口均为输出以及混合输入与输出等三种情况进行讨论。 (1) A口和B口均为输入 A口和B口均工作于方式1输入时,各端口线的功能如图8.19所示。 A口工作于方式1输入时,用PC5~PC3作联络线。B口工作于方式1输入时,用PC2~PC0。C口剩余的两个I/O线PC7和PC6工作于方式0,它们用作输入还是输出,由工作方式控制字中的D3位决定,D3=1,输入;D3=0,输出。 各联络信号线的功能解释如下(请参考图8.20所示的方式1输入时序图来理解各信号的功能): STB(Strobe):选通信号,输入,低电平有效。当STB有效时,允许外设数据进入端口A或端口B的输入数据缓冲器。STBA接PC4,STBB接PC2。 IBF(Input Buffer Full):输入缓冲器满信号,输出,高电平有效。当IBF有效时,表示当前已有一个新数据进入端口A或端口B缓冲器,尚未被CPU取走,外设不能送新的数据。一旦CPU完成数据读入 *** 作后,IBF复位(变为低电平)。 INTR(Interrupt Request):中断请求信号,输出,高电平有效。在中断允许INTE=1且IBF=1的条件下,由STB信号的后沿(上升沿)产生,该信号可接至中断管理器8259A作中断请求。它表明数据端口已输入一个新数据。若CPU响应此中断请求,则读入数据端口的数据,并由RD信号的下降沿使INTR复位(变为低电平)。 INTE(Interrupt Enable):中断允许信号,高电平有效。它是8255A内部控制8255A是否发出中断请求信号(INTR)的控制信号。这是由软件通过对C口的置位或复位来实现对中断请求的允许或禁止的。端口A的中断请求INTRA可通过对PC4的置位或复位加以控制,PC4置1,允许INTRA工作,PC4清0,则屏蔽INTRA。端口B的中断请求INTRB可通过对PC2的置位或复位加以控制。 (2) A口和B口均为输出 A口和B口均工作于方式1输出时,各端口线的功能如图8.21所示。 A口工作于方式1输出时,用PC3,PC6和PC7作联络线。B口工作于方式1输出时,用PC0?PC2作联络线。C口剩余的两个I/O线PC4和PC5工作于方式0。各联络信号线的功能解释如下(请参考图8.22所示时序图来理解各信号的功能): OBF(Output Buffer Full):输出缓冲器满信号,输出,低电平有效。当CPU把数据写入端口A或B的输出缓冲器时,写信号WR的上升沿把OBF置成低电平,通知外设到端口A或B来取走数据,当外设取走数据时向8255A发应答信号ACK,ACK的下降沿使OBF恢复为高电平。 ACK(Acknowledge):外设应答信号,输入,低电平有效。当ACK有效时,表示CPU输出到8255A的数据已被外设取走。 INTR(Interrupt Request):中断请求信号,输出,高电平有效。该信号由ACK的后沿(上升沿)在INTE=1且OBF=1的条件下产生,该信号使8255A向CPU发出中断请求。若CPU响应此中断请求,向数据口写入一新的数据,写信号WR上升沿(后沿)使INTR复位,变为低电平。 INTE(Interrupt Enable):中断允许信号,与方式1输入类似,端口A的输出中断请求INTRA可以通过对PC6的置位或复位来加以允许或禁止。端口B的输出中断请求信号INTRB可以通过对PC2的置位或复位来加以允许或禁止。 (3)混合输入与输出 在实际应用中,8255A端口A和端口B也可能出现一个端口工作于方式1输入,另一个工作于方式1输出的情况,有以下两种情况: 端口A为输入,端口B为输出时,其控制字格式和连线图如图8.23所示。 端口A为输出,端口B为输入时,其控制字格式和连线图如图8.24所示。

把pc口接在开关上当高电平是灯左移,同时两个口相反。

编写程序,使用8255的A口和B口均为输出,实现16位流水灯显。功能扩展将流水灯设计成可以正着流水也可以倒着流水,通过开关对流水灯闪烁的速度进行控制,高电平时为快,低电平时为慢速。

总体方案设计分析要求用8255的A口和B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果。基本的界限A所示,在C口的地两位接两个开关,实现两个扩展功能的控制。做实验时要多模拟显示情况。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5817693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-02-02
下一篇 2023-02-02

发表评论

登录后才能评论

评论列表(0条)

保存