网站定制型和营销型链接交换
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、什么是矩阵键盘?
- 1.独立键盘
- 2.矩阵键盘
- 变化1
- 变化2
- 变化3
- 3. 通过变型,举一反三,就可以实现4*4的矩阵键盘扫描
- 二、使用步骤
- 2.读入数据
- 总结
前言
学了了独立键盘之后,发现使用一个按键就要浪费一个GPIO,有没有一种节约GPIO的方法,比如要用16个键盘,怎么样才能节省IO口
一、什么是矩阵键盘?
1.独立键盘
sbit key0= P1^0; //
if(key0==0)
{delay(20);//按键消抖if(key0==0){led0=1; 亮}}
独立键盘,接一个按键,就会浪费一个IO口
独立键盘的程序非常好写,就在上面程序的基础上,添加引脚和判断
sbit key0= P1^0; //
sbit key1= P1^1; //
if(key0==0)
{delay(20);//按键消抖if(key0==0){led0=1; 亮}}if(key1==0)
{delay(20);//按键消抖if(key1==0){led1=1; 亮}}
2.矩阵键盘
就是由独立键盘组成的?
变化1
变化2
sbit key0= P1^0; //
sbit key1= P1^1; //
sbit key2= P1^2; //
sbit key3= P1^3; //sbit lie0=P1^4;
while(1)
{lie0=0;if(key0==0){delay(20);//按键消抖if(key0==0){led0=1; 亮}}if(key1==0){delay(20);//按键消抖if(key1==0){led1=1; 亮}}if(key0==0){delay(20);//按键消抖if(key2==0){led0=1; 亮}}if(key3==0){delay(20);//按键消抖if(key1==0){led1=1; 亮}}}
变化3
sbit key0= P1^0; //
sbit key1= P1^1; //
sbit key2= P1^2; //
sbit key3= P1^3; //sbit lie0=P1^4;
sbit lie1=P1^5;while(1)
{lie0=0;lie1=1;// 判断第一列if(key0==0){delay(20);//按键消抖if(key0==0){led0=1; 亮 //按键0}}if(key1==0){delay(20);//按键消抖if(key1==0){led1=1; 亮1}}if(key0==0){delay(20);//按键消抖if(key2==0){led0=1; 亮2}}if(key3==0){delay(20);//按键消抖if(key1==0){led1=1; 亮3}}}lie0=1;lie1=0;// 判断第一列if(key0==0){delay(20);//按键消抖if(key0==0){led0=1; 亮4}}if(key1==0){delay(20);//按键消抖if(key1==0){led1=1; 亮5}}if(key0==0){delay(20);//按键消抖if(key2==0){led0=1; 亮6}}if(key3==0){delay(20);//按键消抖if(key1==0){led1=1; 亮7}}}
3. 通过变型,举一反三,就可以实现4*4的矩阵键盘扫描
二、使用步骤
2.读入数据
总结
从独立键盘到矩阵键盘,由浅入深