单片机 IO 控制 · 入门必学
控制 8 路流水灯 · 9 大经典玩法
本项目以 8 颗 LED 灯为载体,覆盖单向流水、双向往返、奇偶交替、PWM 渐变、随机跑马等 9 种典型控制方式,从最基础的 RL 循环移位到 PWM 脉宽调制,逐步深入单片机 IO 控制核心知识。
9 大递进式子项目
汇编语言
约 9 学时
配套评分标准
P1 端口实时演示
PROJECT MATRIX
9 大经典玩法一览
由简到难,循序渐进点亮 LED 灯阵列 · 点击任意卡片开始学习
基基础实训
进进阶实训
综综合实训
01
基础实训
从左到右流水灯
RL 循环左移 · 入门必学
SJ-002-01
开始学习 →
02
基础实训
从右到左流水灯
RR 循环右移 · 反向流动
SJ-002-02
开始学习 →
03
基础实训
双向往返流水灯
左右碰壁回弹 · 来回往返
SJ-002-03
开始学习 →
04
进阶实训
奇偶交替流水灯
奇偶位分组 · 棋盘闪烁
SJ-002-04
开始学习 →
05
进阶实训
变速可调流水灯
延时参数可调 · 快慢随心
SJ-002-05
开始学习 →
06
进阶实训
间隔闪烁流水灯
双灯一组 · 追逐闪烁
SJ-002-06
开始学习 →
07
综合实训
按键可控流水灯
外部中断 · 启停可控
SJ-002-07
开始学习 →
08
综合实训
渐亮渐灭流水灯
PWM 脉宽调制 · 呼吸效果
SJ-002-08
开始学习 →
09
综合实训
16路花样灯
查表+模块化 · 5 大花样
P0
P1
SJ-002-09
开始学习 →
从左到右流水灯
基础实训实训编号
SJ-002-01
实训类型
IO控制
实训学时
40分钟
适用年级
高二,高三
指导教师
王老师
1 项目简介
本项目实现8只LED灯从左到右依次点亮的流水效果。通过编写汇编程序控制单片机P2端口,使用循环移位指令实现LED灯逐个点亮,形成流水灯效果。学生将掌握循环移位指令的使用、延时子程序的设计与调用。
对应岗位技能
- • 单片机P2端口操作
- • 循环移位指令应用
- • 延时子程序设计
课堂教学意义
- • 理解循环控制结构
- • 掌握移位指令原理
- • 培养程序逻辑思维
2 电路图
电路说明
- • 8 只 LED(LED1~LED8)分别接单片机 P2.0~P2.7
- • LED 正极接 P2 口引脚,负极经 220Ω 限流电阻接地
- • 单片机 P2 口输出低电平时对应 LED 点亮,高电平时熄灭
3 硬件连接
| 单片机引脚 | 连接元器件 | 说明 |
|---|---|---|
| P2.0 | LED1 → 220Ω → GND | 第1只LED(最左侧) |
| P2.1 | LED2 → 220Ω → GND | 第2只LED |
| P2.2 | LED3 → 220Ω → GND | 第3只LED |
| P2.3 | LED4 → 220Ω → GND | 第4只LED |
| P2.4 | LED5 → 220Ω → GND | 第5只LED |
| P2.5 | LED6 → 220Ω → GND | 第6只LED |
| P2.6 | LED7 → 220Ω → GND | 第7只LED |
| P2.7 | LED8 → 220Ω → GND | 第8只LED(最右侧) |
LED正极接单片机P2口对应引脚,负极通过220Ω限流电阻接地。单片机输出低电平(0)时LED点亮。
4 实训目标
知识目标
- • 理解P2端口结构与位操作
- • 掌握RL循环左移指令
- • 理解延时子程序原理
能力目标
- • 能连接8路LED硬件电路
- • 能编写流水灯汇编程序
- • 能调试运行程序
素养目标
- • 培养严谨的编程习惯
- • 学会分析问题和解决问题
- • 遵守实训安全规范
5 程序内容(汇编语言)
程序功能说明
程序初始化P2口为全高电平(LED全灭),然后通过RL循环左移指令,每次移动一位,实现从左到右依次点亮LED的效果。
;==================================================
; 项目名称:从左到右流水灯
; 芯片型号:STC89C52RC
; 时钟频率:12MHz
;==================================================
P2 DATA 0A0H
ORG 0000H
LJMP MAIN
MAIN:
MOV P2, #0FEH ; P2=11111110B,第1只LED点亮
MAIN_LOOP:
LCALL DELAY_300MS ; 延时300ms
MOV A, P2
RL A ; P2循环左移一位
MOV P2, A
LJMP MAIN_LOOP ; 无限循环
DELAY_300MS:
MOV R0, #200
DLY1: MOV R1, #230
DLY2: DJNZ R1, DLY2
DJNZ R0, DLY1
RET
END
6 实训步骤
硬件连接
将8只LED依次连接到P2.0~P2.7,负极通过220Ω电阻接地
创建工程
打开Keil软件,新建项目并添加汇编源文件
编写代码
输入上述汇编代码,注意指令格式和寄存器使用
编译下载
编译程序生成hex文件,使用STC-ISP下载到单片机
效果验证
观察LED是否从左到右依次点亮流动
7 评分标准
| 考核项目 | 分值 | 评分标准 |
|---|---|---|
| 硬件连接 | 30分 | 接线正确、规范、牢固 |
| 程序编写 | 40分 | 指令正确、逻辑清晰、有注释 |
| 编译下载 | 20分 | 编译无错误,下载成功 |
| 效果验证 | 10分 | 流水效果符合预期 |
8 注意事项与安全规范
安全规范
- • 严禁带电插拔电路板,必须先断开电源
- • 接线时注意正负极,避免短路损坏器件
- • 限流电阻必须正确连接,防止LED烧毁
- • 保持工作台整洁,避免导线缠绕
注意事项
- • 下载程序前确保单片机型号选择正确
- • 检查串口连接是否正常
- • 观察LED亮度是否均匀,如有异常检查接线
- • 程序下载失败时检查COM口是否被占用
操作提示
- • 使用STC-ISP软件下载程序
- • 选择正确的COM端口和波特率
- • 点击下载后再给单片机上电
- • 观察下载进度条,确保下载成功