由于单片机的引脚是有限的,我们不可以像独立按键那样占用单片机的引脚。其实它的思想和独立按键差不多。那我们怎么样使用有限的引脚来对这16个按键进行检测呢?我们看一下原理图就应该可以明白了。
这样排列是不是像线性代数里面的矩阵形式。那么我们怎么使用这些按键呢?有两种方法
行列扫描、线翻转。这一节我们就介绍行列扫描,因为这个简单一点,这个就相当于拆成了独立按键。它的思想就是首先对某一列都给低电平,然后来检测哪一行的管脚为低电平,这样就可以知道是哪一个按键按下了。
代码如下
由于单片机的引脚是有限的,我们不可以像独立按键那样占用单片机的引脚。其实它的思想和独立按键差不多。那我们怎么样使用有限的引脚来对这16个按键进行检测呢?我们看一下原理图就应该可以明白了。
这样排列是不是像线性代数里面的矩阵形式。那么我们怎么使用这些按键呢?有两种方法
行列扫描、线翻转。这一节我们就介绍行列扫描,因为这个简单一点,这个就相当于拆成了独立按键。它的思想就是首先对某一列都给低电平,然后来检测哪一行的管脚为低电平,这样就可以知道是哪一个按键按下了。
代码如下