蓝桥杯单片机快速开发笔记——独立键盘

一、原理分析

二、思维导图

三、示例框架

复制代码
#include "reg52.h"  

sbit S7 = P3^0;        

sbit S6 = P3^1;        

sbit S5 = P3^2;        

sbit S4 = P3^3; 

void ScanKeys()

{

        if(S7 == 0)

        {

                Delay(500);

                if(S7 == 0)

                {

                        while(S7 == 0);

                }

        }

        if(S6 == 0)

        {

                Delay(500);

                if(S6 == 0)

                {

                        while(S6 == 0);

                }

        }

        if(S5 == 0)

        {

                Delay(500);

                if(S5 == 0)

                {

                        while(S5 == 0);

                       

                }

        }

        if(S4 == 0)

        {

                Delay(500);

                if(S4 == 0)

                {

                        while(S4 == 0);

                       

                }

        }

}
  1. 定义了四个位控制变量sbit,分别对应P3口的不同引脚,用于检测四个按键的状态。

  2. ScanKeys()函数用于扫描四个按键的状态,具体实现如下:

    • 首先检测按键S7是否被按下,如果被按下,则进行延时500个单位,并再次检测按键状态,确保按键稳定按下。
    • 类似地,对按键S6、S5、S4依次进行相同的检测流程,包括延时和稳定按下检测。
  3. 在每个按键被检测到按下后,进入一个while循环,等待按键释放,即等待按键不再处于按下状态。

相关推荐
糖炒栗子03261 小时前
【笔记】高分卫星影像 TIF 切片处理
笔记
Nice_Fold2 小时前
Kubernetes DaemonSet、StatefulSet与Service(自用笔记)
笔记·容器·kubernetes
振南的单片机世界4 小时前
CPU时钟:频率越高跑越快,但物理极限在“拖后腿”
stm32·单片机·嵌入式硬件
ZhiqianXia4 小时前
《The Design of Design》阅读笔记
前端·笔记·microsoft
祁白_5 小时前
nmap工具笔记整理
笔记·web安全·测试
南境十里·墨染春水5 小时前
C++笔记 STL——set
开发语言·c++·笔记
普中科技5 小时前
【普中 51-Ai8051 开发攻略】-- 第 20 章 输入捕获实验
单片机·嵌入式硬件·输入捕获·pca·普中科技·ai8051u·aicube
d111111111d5 小时前
直流电机位置式 PID 控制 和 舵机的区别
笔记·stm32·单片机·嵌入式硬件·学习
Advancer-5 小时前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯
LZYmarks6 小时前
小白买车笔记
笔记