74HC595扩展按键扫描

本文深入探讨了在按键扫描程序中引入延时后仍无法检测到按键输入的问题,详细分析了按键扫描机制、延时的影响及解决策略。

问题出现在了按键扫描过程中,使用延时,但是为什么使用延时就检测不到,还是没琢磨明白。

#include "hc595.h"

 

/*------------------------------------------------                 按键扫描程序 ------------------------------------------------*/

unsigned char keyscan(void) {     unsigned char Val;  SendByte(0x1b);  LINE_SET;

 if((P4&0x70)!=0x70)  {

   Val = P4&0x70;    Val+=0x1b;    while((P4&0x70)!=0x70);    delay_10ms(1);    while((P4&0x70)!=0x70);    return Val;

 }  SendByte(0x17);  LINE_SET;

 if((P4&0x70)!=0x70)  {

   Val = P4&0x70;    Val+=0x17;    while((P4&0x70)!=0x70);    delay_10ms(1);    while((P4&0x70)!=0x70);    return Val;

 }

 SendByte(0x0f);  LINE_SET;

 if((P4&0x70)!=0x70)  {

   Val = P4&0x70;    Val+=0x0f;    while((P4&0x70)!=0x70);    delay_10ms(1);    while((P4&0x70)!=0x70);    return Val;

 }  SendByte(0x1d);  LINE_SET;

 if((P4&0x70)!=0x70)  {

   Val = P4&0x70;    Val+=0x1d;    while((P4&0x70)!=0x70);    delay_10ms(1);    while((P4&0x70)!=0x70);    return Val;

 }  SendByte(0x1e);  LINE_SET;

 if((P4&0x70)!=0x70)  {

   Val = P4&0x70;    Val+=0x1e;    while((P4&0x70)!=0x70);    delay_10ms(1);    while((P4&0x70)!=0x70);    return Val;

 }

   return 0xff; }

 


<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值