【蓝桥杯单片机备赛】4.【KEY】关于按键KEY的一些整理含长按短按及基本模板

本节包含的知识点:

  1. 按键的基本知识【源自大佬】
  2. 按键的一些模板
    1. 独立按键
    2. 矩阵按键
    3. 如何进行长按操作

按键功能选择(J5)
1-2 短接:选择 4 x 4 键盘功能
2-3 短接:选择 4 个独立按键功能

独立按键基本模板

#include "reg52.h"
void KeysDelay()
{
	unsigned int t = 100;
	while(t--);
}
void KeysScan()
{
	if(S4 == 0){						//	按下
		KeysDelay();					//	延时一段时间判断是否是真的按下:松手检测
		if(S4 == 0){					//	如果是真的按下
		/*按下进行的操作*/
			while(S4 == 0);			    //	按键松开
		/*松开进行的操作*/
		}
	}
	if(S5 == 0){
		KeysDelay();
		if(S5 == 0){
			
			while(S5 == 0);

		}
	}
	if(S6 == 0){
		KeysDelay();
		if(S6 == 0){
			
			while(S6 == 0);
			
		}
	}
	if(S7 == 0){
		KeysDelay();
		if(S7 == 0){
			while(S7 == 0);
			
		}
	}
	
}

矩阵键盘基本模板

sfr P4 = 0XC0;
//定义行
sbit R1 = P3 ^ 0;
sbit R2 = P3 ^ 1;
sbit R3 = P3 ^ 2;
sbit R4 = P3 ^ 3;
//定义列    
sbit C1 = P4 ^ 4;
sbit C2 = P4 ^ 5;   
sbit C3 = P3 ^ 4;
sbit C4 = P3 ^ 5;

void KeyScan()
{
    // 以扫描第一行按键情况为例
	R1 = 0;R2 = 1;R3 = 1;R4 = 1;
    C1 = 1;C2 = 1;C3 = 1;C4 = 1;
    if(C3 == 0){
        while(C3 == 0)
            // 按下矩阵键一行三列按键后的CMD
    }
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值