波特律动
课程中心/51单片机教程/【05】按键控制小灯

【05】按键控制小灯

【05】按键控制小灯

编写按键扫描代码,读取按键 IO 电平信号,编译 HEX 文件并下载到学习板,实现按键直接控制 LED 灯亮灭。



本课资源下载
3 个资源
P04按键控制小灯

本节课的标准源代码工程/可供参考

V1.0压缩包9.5 KB
下载
XL-1608SURC-06

LED红色(0603)

PDF 文档1.5 MB
预览下载
按键与流水灯
原理图

课程笔记


本节目标概括

创建工程 > 通过原理图编写按键代码 > 现象展示

通过学习板上的独立按键KEY41—KEY44控制LED1-LED4的亮灭。

编译并下载程序到学习板,即可看到程序效果:

  • 按住 KEY41 ,L1亮
  • 按住 KEY42 ,L2亮
  • 按住 KEY43 ,L3亮
  • 按住 KEY44 ,L4亮

1.创建工程


2.按键原理图

将按键拨码开关拨到独立按键,此时K41~K44一端与单片机P24~P27想连,另一端接地,因此我们只需要检测P24~P27端口的电平即可判断按键按下的情况,按键按下时为低电平。

K41独立按键的电路情况如下图所示:

3.编写代码

C语言
1#include <STC89C5xRC.H>
2
3int main(){
4 while (1){
5 if (P24 == 0){
6 P01 = 0;
7 }else{
8 P01 = 1;
9 }
10 P02 = P25;
11 P03 = P26;
12 P04 = P27;
13 }
14}

代码含义解释:

if (P24 == 0) // P2.4 引脚电平为低,代表对应按键按下

P01 = 0; // P0.1 引脚置低电平,点亮 L1 指示灯

P02 = P25; // 直接读取 P2.5 按键引脚电平并赋值给 P0.2,同步控制 LED 亮灭

4.现象展示