51单片机系统扩展:8155芯片的使用与LED驱动

4 下载量 199 浏览量 更新于2024-09-02 收藏 170KB PDF 举报
"这篇资源主要介绍了如何在51单片机系统中使用8155芯片进行外扩存储和I/O接口,以解决单片机自带资源不足的问题。8155芯片提供了256字节的RAM、3个并行IO接口和14位定时器,且内置地址锁存器,简化了外部电路设计。文中通过一个简单的16个LED流水灯程序,展示了如何用51单片机原生资源驱动LED,以及如何改造程序以利用8155驱动LED。" 在51单片机系统中,由于其内置RAM和I/O引脚的数量有限,往往不能满足某些复杂的项目需求。此时,8155芯片作为一个经济实惠的解决方案被广泛采用。8155是一款可编程的外围接口芯片,它具备以下特点: 1. **256字节的RAM**:8155内部包含256字节的数据存储空间,可用于数据暂存、运算或其他用途,扩展了单片机的存储能力。 2. **3个并行IO接口**:8155有3个8位的双向I/O端口(Port A、Port B、Port C),每个端口都可以独立设置为输入或输出,增强了单片机的外部设备控制能力。 3. **14位定时器**:8155内置的定时器可以进行计数和定时操作,对于需要精确时间控制的场合非常有用。 4. **地址锁存器**:8155内部集成了地址锁存器,这使得在不额外添加74LS373等外部锁存器的情况下,可以直接进行地址线的锁存,简化了硬件设计。 文中通过一个具体的例子,演示了如何用51单片机驱动16个LED实现流水灯效果。首先,原始程序将LED接到P0和P2口,然后通过循环和移位操作实现LED的逐个点亮。接着,改造程序以利用8155进行驱动。改造过程中,8155的I/O口可以替代原来的P0和P2口,同时,8155的内部RAM也可以用来存储控制LED状态的数据。 在改造程序时,可能需要编写新的指令来与8155进行通信,包括读写8155的寄存器,以及配置8155的I/O端口。例如,可能需要设置8155的控制寄存器来选择不同的工作模式,或者通过数据线发送和接收数据。此外,还需要对8155的地址线进行适当的操作,以确保正确访问不同的内存位置。 8155是51单片机系统扩展存储和I/O功能的理想选择,尤其是对于需要简单扩展而不愿投入过多成本的场合。通过学习和实践如何在51单片机系统中使用8155,开发者可以更好地应对各种硬件限制,提升单片机系统的功能和应用范围。