Arduino与Proteus仿真实例8255A可编程IO驱动仿真
Arduino与Proteus仿真实例-8255A可编程IO驱动仿真
8255A可编程IO驱动仿真
1、8255A介绍
8255A 是一种通用可编程 I/O 设备,旨在根据需要在某些条件下将数据从 I/O 传输到中断 I/O。 它几乎可以与任何微处理器一起使用。
它由三个 8 位双向 I/O 端口(24 I/O 线)组成,可根据需要进行配置。
1)8255A 端口
8255A 有 3 个端口,即PORTA、PORTB和PORTC。
- PortA 包含一个 8 位输出锁存器/缓冲器和一个 8 位输入缓冲器。
- PortB 类似于端口 A。
- PortC通过控制字可以分为两部分,即PORT C下层(PC0-PC3)和PORT C上层(PC7-PC4)。
这三个端口又分为两组,即A组包括PORTA和上PORTC。B组包括PORTB和下PORTC。这两组可以编程为三种不同的模式,即第一种模式称为模式 0,第二种模式命名为模式1,第三种模式命名为模式2。
2)操作模式
8255A 具有三种不同的工作模式
- 模式0 在此模式下,端口 A 和 B 用作两个 8 位端口,端口 C 用作两个 4 位端口。 每个端口都可以编程为输入模式或输出模式,其中输出被锁存而输入不被锁存。 端口没有中断能力。
- 模式1在此模式下,端口 A 和 B 用作 8 位 I/O 端口。 它们可以配置为输入或输出端口。 每个端口使用来自端口 C 的三条线作为握手信号。 输入和输出被锁存。
- 模式2在此模式下,端口 A 可以配置为双向端口,端口 B 可以配置为模式 0 或模式 1。端口 A 使用来自端口 C 的五个信号作为数据传输的握手信号。 来自端口 C 的其余三个信号既可用作简单的 I/O,也可用作端口 B 的握手。
3)8255A的特性
8255A的突出特性如下:
- 它由 3 个 8 位 IO 端口组成,即 PA、PB 和 PC。
- 地址/数据总线必须从外部解复用。
- TTL 兼容的。
- 具有改进的直流驱动能力。
4)8255A结构

2、仿真电路原理图

3、仿真代码实现
本次实例使用了开源库:
并对该库的pio8255.h做了如下更改:
1 | #ifndef PIO8255\_H |
演示代码如下:
1 | #include <pio8255.h> |
3、仿真结果

文章来源: https://iotsmart.blog.csdn.net/article/details/121077962
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 秋意寒!
评论