问题出现在了按键扫描过程中,使用延时,但是为什么使用延时就检测不到,还是没琢磨明白。
#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"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>