簡(jiǎn)單的4*4矩陣鍵盤掃描程序
/*
程序效果:按下任意鍵,LED顯示P0讀回的數(shù)據(jù)其中4*4的矩陣鍵盤接P0口
*/
#includereg52.h> //頭文件
unsigned char key=0xff; //定義一個(gè)變量用于存放按鍵值
void readkey(); //讀按鍵子函數(shù),獲取鍵值
void main() //主函數(shù)
{
while(1)
{
readkey(); //讀按鍵值
if(key!=0xff) //判斷是否有按鍵按下
P2=~key;//這里取反:是因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/LED">LED為共陰,顯示所按下的值
}
}
void readkey() //讀鍵盤子函數(shù)
{
P0=0xfe; //將第一列拉低,掃描是否有按鍵按下,第一列鍵值為:0,4,8,C
key=P0; //讀取鍵盤值
if(key!=0xfe) //若key!=0xfe,說明有按鍵按下,則返回
return; //否則繼續(xù)掃描下一列
P0=0xfd;
key=P0;
if(key!=0xfd)
return;
P0=0xfb;
key=P0;
if(key!=0xfb)
return;
P0=0xf7;
key=P0;
if(key!=0xf7)
return;
key=0xff;
}
c語言相關(guān)文章:c語言教程
評(píng)論