打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
按键分时检测程序

按键分时检测程序

//按键分时检测程序
//
//功能:短按--显示2;长时间按--显示1;
//说明:测试通过
//作者:朱世民

#include "reg51.h"
#define uchar unsigned char
#define uint unsigned int
uchar code duan[]={0x28, 0x7E, 0xA2, 0x62, 0x74,
0x61, 0x21, 0x7A, 0x20, 0x60,0xff};
sbit k1=P3^2; //长短时间按键
sbit k2=P3^3; //复位键
sbit led1=P1^1; // 按下指示灯
sbit led2=P1^2; // 长按输出指示
sbit led3=P1^3; // 短按输出指示
uint n,i;

void delay(uchar tt)
{uchar j;
while(tt--)
for(j=220;j>0;j--);
}

void disp()
{P0=duan[i];
P2=0x7f;
delay(10);
P2=255;
}

void key()
{if(!k1)
{disp();
if(!k1)
{while(!k1) //按键延时(n计数)
{disp();led1=0; n++;if(n>55)break; } //若>55跳出,防止数据溢出
if(n>50){P1=255;led2=0;i=1;} //若仍然按下(长按)
else {P1=255;led3=0;i=2;} //若已松开(短按)
while(!k1) disp(); //等待松开,防止连续运行按键程序
}
}
}
//======
void main()
{i=0;
while(1)
{k1=1;
n=0;
if(!k2)P1=255;//将P1端口复位
disp();
key();
}
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PID温度控制系统源序程序
一个不用中断可立即跳出当前单片机程序运行状态的操作
单片机按键连接方法总结(五种按键扩展方案详细介绍)
单片机中定时器T1对串口的作用
52单片机定时器2使用(C语言程序) | 水寒博客
51单片机C语言程序(一)发光二极管
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服