关于独立按键与矩阵按键的程序(51单片机)

发一个51 单片机 的键盘扫描程序,算法简单有效 
                                      再给大家分享一个不错按键程序(来自ourdev)
/**************************************** 

键盘_不采用定时器_不延时 

特点: 

按键在松手后有效,灵敏度高,消耗资源少,运行效率高 

//独立键盘.无按键动作时其返回值key_value=0,否则返回按键号key_value
uchar key_value;

void Key_Scan() 

unsigned char temp=0;
static unsigned char temp_code=0;//
static unsigned char key_press=0;//
static unsigned char key_flag=0;//
temp=P3&0x0f;//


if(temp!=0x0f)//????? 

key_press++; 
if(key_press==10)//连续10次(10ms)低电平有效,则认为按键有效 

key_press=0; 

key_flag=1;// 
temp_code=temp;//


else//松手以后进行按键操作

if(key_flag==1)//

key_flag=0; 
switch(temp_code)//

case 0x0e: key_value=1;key_flag_s1=(key_flag_s1+1)%4;  
  break; 
case 0x0d: key_value=2; key_flag_s2=(key_flag_s2+1)%4; 
  break; 
case 0x0b: key_value=3;key_flag_s3=(key_flag_s3+1)%4;  
  break; 
case 0x07: key_value=4;key_flag_s4=(key_flag_s4+1)%4; 
  break; 




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值