8255是一种广泛使用的并行,可编程输入输出设备。从简单的输入输出到中断的输入输出,可以在各种条件下传输数据。这是经济,功能,灵活的方法,但它是一种有点复杂且通用的I / O设备,几乎可以与任何微处理器一起使用。
8255引脚图–
它具有24个引脚,可以分组为两个8位并行端口:A和B分别称为端口A(PA)和端口B(PB),其余八个称为端口C(PC)。端口C可以进一步分为4位端口组,分别称为Cupper(Cu)和Clower(Cl)。有40个引脚,并在+5稳压电源中工作。
8255的模式–它在两种模式下工作:
- 位设置复位(BSR)模式
- 输入/输出(I / O)模式
要知道接口在哪种模式下工作,我们需要知道Control word的值。控制字是8255中控制寄存器的一部分,控制寄存器为每个端口指定I / O函数。这是控制字8255的格式。
如果控制字或D7的最高有效位为1,则8255在I / O模式下工作,否则,如果其值为0,则在BSR模式下工作。
- BSR模式–当控制寄存器的MSB为零(0)时,8255在位设置复位模式下工作。在此状态下,仅PC位用于设置和复位。
- I / O模式–当控制寄存器的MSB为one(1)时,8255在输入输出模式下工作。它进一步分为三类。
- 模式0 –在此模式下,所有三个端口(PA,PB,PC)都可以用作简单的输入函数或输出函数,在此模式下,没有中断处理功能。
- 模式1 –在此模式下,端口A或端口B都可以工作,并且在实际数据传输之前,端口C位用作握手信号,并且具有中断处理功能。
- 模式2 –在此模式下,只有端口A可以工作,而端口B可以在模式0或模式1下工作,并且端口C的6位用作握手信号,并且还必须具有中断处理功能。
要通过8255与外围设备通信,需要三个步骤:
- 根据片选逻辑以及地址线A0和A1确定端口A,B,C和控制寄存器的地址。
- 在控制寄存器中写入控制字。
- 编写I / O指令以通过端口A,B,C与外围设备进行通信。
8255的常见应用是:
- 交通灯控制
- 产生方波
- 与直流电机和步进电机的接口