功能:能够通过矩阵按键(4×4)对数码管控制,使其显示对应数字。(0-F)。 部分代码: void key_scan( ) { char a=0; P2= 0x0f ; if(P2!= 0x0f ){ delay(1000); if(P2!= __ ){ P2= 0x0f ; switch(P2){ case( 0X07 ): KeyValue = 0 ;break; case( 0X0b ): KeyValue = 1 ;break; case( 0X0d ): KeyValue = __ ;break; case( __ ): KeyValue = 3 ;break; } P2=0XF0; switch(P2){ case( __ ): KeyValue= KeyValue ;break; case( 0Xb0 ): KeyValue= KeyValue+4 ;break; case( 0Xd0 ): KeyValue= KeyValue+__ ;break; case( 0Xe0 ): KeyValue= KeyValue+12 ;break; } while((a<50)&&(P2!=0xf0)){ delay(1000); a++; } } } }