專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

簡(jiǎn)單的4*4矩陣鍵盤掃描程序

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2009年11月07日   【字體:

/*
程序效果:按下任意鍵,LED顯示P0讀回的數(shù)據(jù)其中4*4的矩陣鍵盤接P0口
*/
#include<reg52.h> //頭文件
unsigned char key=0xff;   //定義一個(gè)變量用于存放按鍵值
void readkey();   //讀按鍵子函數(shù),獲取鍵值
void main()    //主函數(shù)
{
while(1)
{  
readkey(); //讀按鍵值
if(key!=0xff) //判斷是否有按鍵按下
P2=~key;//這里取反:是因?yàn)長(zhǎng)ED為共陰,顯示所按下的值  
}
}
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;
}

關(guān)閉窗口

相關(guān)文章