51单片机系统扩展:8155芯片的使用与LED驱动
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,开发者可以更好地应对各种硬件限制,提升单片机系统的功能和应用范围。
2020-09-13 上传
2022-05-22 上传
2010-11-03 上传
2010-05-21 上传
2010-05-21 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38559992
- 粉丝: 3
- 资源: 927
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章