8255 扩展应用 · 6 大经典实训
本项目围绕 Intel 8255A 可编程并行 I/O 接口芯片展开,从控制字写入、PA/PB/PC 端口基本输入输出,到按键检测、流水灯、数码管显示与端口同步读写,系统训练单片机并行扩展接口的设计与编程能力。
6 大经典实训一览
由简到难,循序渐进掌握 8255 并行扩展 · 点击任意卡片开始学习
8255 PA 口单路 LED 点亮控制
控制字配置 · PA口输出
8255 PA 口 8 路流水灯实训
端口字节输出 · 流水灯移位
按键输入控制 8255 流水灯启停
PC口输入 · PB口输出
8255A口控制1位共阳数码管9秒倒计时显示
段码查表 · 共阳数码管驱动
多按键分组控制不同灯光效果
键值识别 · 查表切换
PA/PB 端口同步读写
双端口联动 · 数据透传
8255 PA 口单路 LED 点亮控制
基础实训1 项目简介
本项目是 8255 扩展应用的第一个实验,学习如何通过 8255A 的 PA 口输出低电平点亮外接 LED。向控制字寄存器写入方式控制字,使 PA 口工作于方式 0 基本输出,再向 PA 口写入数据即可控制 LED 亮灭。
掌握本项目后,学生将理解 8255A 的寻址方式、控制字含义以及 PA/PB/PC 端口的输出操作方法,为后续更复杂的并行扩展项目打下基础。
2 电路图
电路说明
- • 8255 控制字寄存器地址 0FF7FH,PA 口地址 0FF7CH
- • PA.0 接 LED 阴极,LED 阳极经限流电阻接 VCC
- • PA 口工作于方式 0 基本输出,低电平点亮 LED
3 仿真演示
仿真说明
- • 程序写入方式控制字后向PA口输出0FEH,PA.0对应的LED点亮
- • 仿真中PA.0对应LED持续发光,其余7路LED保持熄灭
4 程序内容(汇编语言)
;==================================================
;==================================================
; 项目名称:PA/PB 端口同步读写
; 芯片型号:STC89C52RC
; 时钟频率:12MHz
; 8255 端口地址:
; PA 口地址:0FF7CH(输入,接 8 位拨码开关)
; PB 口地址:0FF7DH(输出,接 8 路 LED)
; PC 口地址:0FF7EH
; 控制字寄存器地址:0FF7FH
; 功能说明:实时读取 PA 口开关状态,并通过 PB 口输出显示
;==================================================
ORG 0000H ; 程序从复位向量 0000H 开始
LJMP MAIN ; 跳转到主程序入口
; 主程序入口
; 功能:配置 8255,PA 输入、PB 输出,循环实现数据透传
MAIN: MOV DPTR, #0FF7FH ; DPTR 指向 8255 控制字寄存器
MOV A, #90H ; 控制字 10010000B
; D7=1:方式选择标志
; D6D5=00:A 组方式 0
; D4=1:PA 输入
; D3=0:PB 输出 控制字 = 90H = 10010000B
MOVX @DPTR, A ; 写入控制字
; 主循环:读取 PA 口数据并输出到 PB 口
LOOP: MOV DPTR, #0FF7CH ; DPTR 指向 PA 口
MOVX A, @DPTR ; 读取 PA 口开关状态
MOV DPTR, #0FF7DH ; DPTR 指向 PB 口
MOVX @DPTR, A ; 将读取数据输出到 PB 口 LED
LCALL DELAY10 ; 延时 10ms 去抖动并稳定显示
SJMP LOOP ; 继续循环
; 约 10ms 延时子程序
DELAY10: MOV R7, #20
D10_1: MOV R6, #250
D10_2: NOP
DJNZ R6, D10_2
DJNZ R7, D10_1
RET
END ; 程序结束
5 评分标准
| 评分项 | 分值 | 评分标准 |
|---|---|---|
| 电路连接 | 30分 | 8255 数据线、地址线、控制线连接正确 |
| 程序编写 | 40分 | 控制字正确,端口地址正确,注释清晰 |
| 功能实现 | 20分 | PA.0 对应的 LED 正常点亮 |
| 实训报告 | 10分 | 报告内容完整、整洁 |
6 注意事项与安全规范
地址匹配
确保 8255 片选信号有效,PA/PB/PC/控制口地址与程序设定一致,避免地址冲突
防止短路
连接 LED 时注意限流电阻和极性,避免 8255 端口过流
控制字写入
必须先写入控制字,再对端口读写,否则 8255 不能正常工作
学习要点
实训目标
通过本项目的学习,学生将掌握 Intel 8255A 可编程并行 I/O 接口芯片的控制字配置与端口读写方法,能够独立完成 LED、按键、数码管等外设的并行扩展控制设计。