SJ-007 实训项目 · 精品课程

8255
并行 I/O 扩展实训

基于 STC89C52RC 单片机与 8255A 可编程并行 I/O 接口芯片,掌握 8255 控制字配置、PA/PB/PC 端口读写,实现 LED、按键、数码管等外设的并行扩展控制。

6 个递进子项目 汇编语言实战 含数码管显示
首页 实训项目 8255扩展应用
可编程并行接口 · 核心实训

8255 扩展应用 · 6 大经典实训

本项目围绕 Intel 8255A 可编程并行 I/O 接口芯片展开,从控制字写入、PA/PB/PC 端口基本输入输出,到按键检测、流水灯、数码管显示与端口同步读写,系统训练单片机并行扩展接口的设计与编程能力。

6 大递进式子项目
汇编语言
约 6 学时
配套评分标准
PROJECT MATRIX

6 大经典实训一览

由简到难,循序渐进掌握 8255 并行扩展 · 点击任意卡片开始学习

基基础实训 进进阶实训 综综合实训
01 基础实训

8255 PA 口单路 LED 点亮控制

控制字配置 · PA口输出

SJ-007-01 开始学习 →
02 基础实训

8255 PA 口 8 路流水灯实训

端口字节输出 · 流水灯移位

SJ-007-02 开始学习 →
03 进阶实训

按键输入控制 8255 流水灯启停

PC口输入 · PB口输出

SJ-007-03 开始学习 →
04 进阶实训

8255A口控制1位共阳数码管9秒倒计时显示

段码查表 · 共阳数码管驱动

SJ-007-04 开始学习 →
05 综合实训

多按键分组控制不同灯光效果

键值识别 · 查表切换

SJ-007-05 开始学习 →
06 综合实训

PA/PB 端口同步读写

双端口联动 · 数据透传

SJ-007-06 开始学习 →

8255 PA 口单路 LED 点亮控制

基础实训
实训编号
SJ-007-01
实训类型
8255输出
实训学时
40分钟
适用年级
高二,高三
指导教师
王老师

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 不能正常工作

学习要点

8255 控制字与方式选择
PA/PB/PC 端口读写操作
按键扫描与消抖
共阳数码管段码查表
双端口同步数据透传

实训目标

通过本项目的学习,学生将掌握 Intel 8255A 可编程并行 I/O 接口芯片的控制字配置与端口读写方法,能够独立完成 LED、按键、数码管等外设的并行扩展控制设计。