51单片机实现单键重复的按键检测
2024-08-12 来源:cnblogs
/***************************************************************************** /************************************************* /************************************************* /*************************************************
Copyright: 2013-07-27.version1.0
File name: key.c
Description: 自己做的单键识别实现重复按键功能
Author:
Version: version1.0
Date: 2013.7.27
History: 无
*******************************************************/
#include
sbit key=P0^0;
int num=0;
Function: delay_press()
Description: 键按下时的延时的功能
Calls: 无
Called By: key_test()
Table Accessed: 无
Table Updated: 无
Input: void
Output: 无
Return: 1->按下
0->松开
Others: 无
*************************************************/
int delay_press(void)
{
int press=1;
int i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++)
press=1;
press=0;
return press;
}
Function: delay()
Description: 延时的功能
Calls: 无
Called By: key_test()
Table Accessed: 无
Table Updated: 无
Input: void
Output: 无
Return: void
Others: 无
*************************************************/
void delay(void)
{
int i,j;
for(j=0;j<25;j++)
for(i=0;i<25;i++);
}
Function: key_test()
Description: 单键识别功能
Calls: delay()
Called By: main()
Table Accessed: 无
Table Updated: 无
Input: void
Output: num,按键按一次num自加一
Return: void
Others: 无
*************************************************/
void key_test(void)
{
if(!key)
{
delay();
if(!key)
{
num++;
if(num>255)
num=0;
}
}while(delay_press());
}
/*************************************************
Function: main()
Description: 程序的主函数
Calls: key_test()
Called By: 无
Table Accessed: 无
Table Updated: 无
Input: void
Output: 无
Return: void
Others: 无
*************************************************/
void main(void)
{
//int i;
while(1)
{
key_test();
P2=~num;
}
}
上一篇:89C51单片机实现的流水灯
下一篇:点亮8个隔位的代码——全点亮
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策




