51单片机自学--矩阵按键扫描

 

看惯了千篇一律的0X55这样的代码,再来看我写的以十进制的按键扫描,是否眼前一新?

 

51单片机自学--矩阵按键扫描

其实第一个延时可以不用的.

51单片机自学--矩阵按键扫描

接下来看按键定义:

 

51单片机自学--矩阵按键扫描

这样就完成了矩阵按键扫描,及按键重新定义,要说明的是,要取得相加的十进制值,可以直接从送数码管显示读出,就可以对按键进行任意重新定义了.

另一个要说明的是,延时消抖,可用int i=350;while(i--);这两句替换.还有一个是:derault:JianZhi=255;break;

上述的矩阵按键也可以采用中断消抖,如50-100毫秒甚至更短的时间。