51單片機(jī)4×4矩陣按鍵掃描方法

51單片機(jī)4×4矩陣按鍵掃描方法

ID:38977397

大?。?6.07 KB

頁(yè)數(shù):5頁(yè)

時(shí)間:2019-06-22

51單片機(jī)4×4矩陣按鍵掃描方法_第1頁(yè)
51單片機(jī)4×4矩陣按鍵掃描方法_第2頁(yè)
51單片機(jī)4×4矩陣按鍵掃描方法_第3頁(yè)
51單片機(jī)4×4矩陣按鍵掃描方法_第4頁(yè)
51單片機(jī)4×4矩陣按鍵掃描方法_第5頁(yè)
資源描述:

《51單片機(jī)4×4矩陣按鍵掃描方法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、/*****4×4按鍵掃描******//***編程要點(diǎn)1.首先檢測(cè)是否有按鍵按下2.若有按鍵按下,即進(jìn)行行檢測(cè),列檢測(cè)3.行檢測(cè):高4位設(shè)為0,低4位為1,進(jìn)行檢測(cè)0x0f4.列檢測(cè):低4位設(shè)為0,高4位為1,進(jìn)行檢測(cè)0xf05.檢測(cè)按鍵是否松開6.送至LED顯示,前四個(gè)代表第幾行后四個(gè)代表第幾列P0為led燈口P2為按鍵接口****///#include#defineucharunsignedchar#definekeyP2//P2口定義,便于調(diào)用#defineledP0//P0口定義,便于調(diào)用unsignedcharline_num,row_num;//行列定義le

2、d_arry[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//數(shù)組定義,便于顯示//******檢測(cè)是否有按鍵按下*****//ucharCheck_Button(){key=0x0f;//高四位為0if(key==0x0f)//若無變化,證明無按鍵按下return0;//返回0else//否則return1;//返回1}//********行檢測(cè)********//ucharLine[]={0x0e,0x0d,0x0b,0x07};//那個(gè)按鍵按下,檢測(cè)出的狀態(tài)則對(duì)應(yīng)數(shù)組中的第幾個(gè)數(shù)voidCheck_Line(){uchari;key=0x0

3、f;//高四位為0for(i=0;i<4;i++){if(key==Line[i]){line_num=i;//取出檢測(cè)值break;//結(jié)束行檢測(cè)}}}//********列檢測(cè)*********//ucharRow[]={0xe0,0xd0,0xb0,0x70};//那個(gè)按鍵按下,檢測(cè)出的狀態(tài)則對(duì)應(yīng)數(shù)組中的第幾個(gè)數(shù)voidCheck_Row(){ucharj;key=0xf0;//低4位置0for(j=0;j<4;j++){if(key==Row[j]){row_num=j;//取出檢測(cè)值break;//結(jié)束行檢測(cè)}}}/*******按鍵松開檢測(cè)*********/ucharChec

4、k_Release(){key=0xf0;//低四位為0if(key==0xf0)//若無變化,證明按鍵松開return0;//返回0else//否則,按鍵未松開return1;//返回1}//*********主函數(shù)*********//intmain(){key=0xff;//按鍵初始化led=0xff;//關(guān)閉LED燈while(1){while(!Check_Button());//若無按鍵按下,則等待,若有繼續(xù)下一步Check_Line();//行檢測(cè)Check_Row();//列檢測(cè)while(Check_Release());//檢測(cè)按鍵是否松開led=led_arry[li

5、ne_num]&led_arry[row_num+4];//送至led顯示/*eg:如果是第三行第二列按鍵按下則第3個(gè)、第6(2列+4)個(gè)LED燈亮如下圖所示(Proteus仿真電路圖)*/}}

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。