假設4x4矩陣按鍵,行為h1,h2,h3,h4;列為L1,L2,L3,L4;按鍵值=a;
代碼:
viod anjian() //按鍵子函數,每次只能按下1個按鍵。將這個函數放到10毫秒中斷中執行。
{
n=0;//按鍵初值,0為沒有按鍵按下
//掃描第一行
h1=1;h2=0;h3=0;h4=0;
L1=1;L2=1;L3=1;L4=1;
if(L1==0) a=11;//按鍵值=11是指第1行第1列
if(L2==0) a=12;//按鍵值=12是指第1行第2列
if(L3==0) a=13;//按鍵值=13是指第1行第3列
if(L4==0) a=14;//按鍵值=14是指第1行第4列
//掃描第2行
h1=0;h2=1;
if(L1==0) a=21;//按鍵值=21是指第2行第1列
if(L2==0) a=22;//按鍵值=22是指第2行第2列
if(L3==0) a=23;//按鍵值=23是指第2行第3列
if(L4==0) a=14;//按鍵值=24是指第2行第4列
//掃描第3行
h2=0;h3=1;
if(L1==0) a=31;
if(L2==0) a=32;
if(L3==0) a=33;
if(L4==0) a=34;
//掃描第4行
h3=0;h4=1;
if(L1==0) a=41;
if(L2==0) a=42;
if(L3==0) a=43;
if(L4==0) a=44;
} |