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

单片机
按键控制实训

基于 STC89C52RC 单片机独立按键与矩阵按键,从单按键点亮 LED 到多位按键抢答、数码管显示与蜂鸣器发音,系统掌握人机交互接口设计。

9 个递进子项目 汇编语言实战 含数码管与蜂鸣器
首页 实训项目 单片机按键控制
人机交互接口 · 核心实训

单片机按键控制 · 9 大经典实训

本项目围绕按键输入展开,从独立按键读取、按键消抖、状态保持,到多位按键控制、数码管显示、蜂鸣器发音,全面训练单片机人机交互接口的设计与编程能力。

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

9 大经典玩法一览

由简到难,循序渐进掌握按键控制 · 点击任意卡片开始学习

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

单按键控制 LED 点亮与熄灭

按键输入 · 电平检测

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

独立按键单次触发流水灯启动

边沿触发 · 单次响应

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

双按键分别控制灯光启停

多键管理 · 启停逻辑

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

8按键独立控制8路 LED 单独开关

并行输入 · 位映射

SJ-003-04 开始学习 →
05 进阶实训

按键消抖专项实训

机械抖动 · 软件消抖

SJ-003-05 开始学习 →
06 进阶实训

4位按键切换4种灯光流动模式

模式选择 · 查表法

SJ-003-06 开始学习 →
07 综合实训

按键计数,两位共阳数码管同步显示按压次数

计数器 · 数码管动态扫描

SJ-003-07 开始学习 →
08 综合实训

8路按键抢答1位共阳数码管显示

中断式抢答 · 数码管译码

SJ-003-08 开始学习 →
09 综合实训

8路按键控制发基础音

蜂鸣器驱动 · 音阶频率

SJ-003-09 开始学习 →

单按键控制 LED 点亮与熄灭

基础实训
实训编号
SJ-003-01
实训类型
按键控制
实训学时
40分钟
适用年级
高二,高三
指导教师
王老师

1 项目简介

本项目是按键控制入门的第一个实验,通过检测单个按键的按下与释放状态,直接控制一只 LED 灯的点亮与熄灭。当按键按下时 LED 点亮,按键释放时 LED 熄灭。

掌握本项目后,学生将理解单片机 IO 口作为输入口读取外部电平信号的基本方法,理解上拉电阻与按键电路的连接方式,为后续复杂按键控制项目打下基础。

2 电路图

电路图

电路说明

  • • 按键接 P3.2,另一端接地,外接 10kΩ 上拉电阻至 VCC
  • • LED 阳极经 1kΩ 限流电阻接 VCC,阴极接 P1.0
  • • 按键未按下时 P3.2 为高电平,按下为低电平;P1.0 低电平时 LED 点亮

3 程序内容(汇编语言)

;==================================================
; 项目名称:单按键控制 LED 点亮与熄灭
; 芯片型号:STC89C52RC
; 时钟频率:12MHz
; 按键连接:P3.2 (低电平有效,外接上拉电阻)
; LED连接:P1.0 (低电平点亮,高电平熄灭)
; 功能说明:按下按键点亮 LED,释放按键熄灭 LED
;==================================================
        ORG     0000H          ; 程序从复位向量 0000H 开始
        LJMP    MAIN           ; 跳转到主程序入口

; 主程序入口
; 主循环功能:实时检测 P3.2 按键电平,控制 P1.0 LED 亮灭
MAIN:   SETB    P1.0           ; P1.0 输出高电平,LED 初始熄灭
        SETB    P3.2           ; P3.2 写 1,配置为输入口并释放内部上拉

; 主循环:不断扫描按键状态
LOOP:   JB      P3.2, LED_OFF  ; 若 P3.2=1(按键未按下),则熄灭 LED
        CLR     P1.0           ; P3.2=0(按键按下),P1.0 输出低电平点亮 LED
        SJMP    LOOP           ; 返回继续扫描

; 按键未按下分支:保持 LED 熄灭
LED_OFF: SETB   P1.0           ; P1.0 输出高电平,LED 熄灭
        SJMP    LOOP           ; 返回继续扫描

        END                    ; 程序结束

4 评分标准

评分项 分值 评分标准
电路连接 30分 按键、LED 连线正确,上拉电阻接入规范
程序编写 40分 代码正确、规范,注释清晰
功能实现 20分 按下按键 LED 亮,释放则灭
实训报告 10分 报告内容完整、整洁

5 注意事项与安全规范

上拉电阻

按键引脚必须接上拉电阻,确保未按下时为稳定高电平

防止短路

焊接时注意按键引脚间不可短路,避免损坏单片机端口

输入口设置

STC89C52RC 引脚作为输入时先写 1,避免内部下拉影响读取

学习要点

独立按键输入检测
软件延时消抖
多键并行扫描
查表法与模式切换
共阳数码管动态扫描
蜂鸣器方波驱动

实训目标

通过本项目学习,学生将掌握单片机按键输入的检测与消抖技术,学会使用查表法和状态机实现复杂按键控制,能够完成数码管显示、抢答器和蜂鸣器发音等综合应用项目。