/*MCU:AT89S52*/
#include
#include
#define uchar unsigned char
int key;
int del;
void Key_Scan(void);
/************主程序*************/
void main(void)
{
void Key_Scan(void);
void delay(int);
while(1)
{
Key_Scan();
delay(2000);
}
}
/********矩鍵查尋鍵值4*4程序******/
void Key_Scan(void)
{
uchar readkey;
uchar x_temp,y_temp;
P1=0x0f;
x_temp=P1&0x0f;
if(x_temp==0x0f) goto keyout;
P1=0xf0;
y_temp=P1&0xf0;
readkey=x_temp|y_temp;
readkey=~readkey;
switch(readkey)
{
case 0x11:key=0;P2=key; break;
case 0x21:key=1;P2=key; break;
case 0x41:key=2;P2=key; break;
case 0x81:key=3;P2=key; break;
case 0x12:key=4;P2=key; break;
case 0x22:key=5;P2=key; break;
case 0x42:key=6;P2=key; break;
case 0x82:key=7;P2=key; break;
case 0x14:key=8;P2=key; break;
case 0x24:key=9;P2=key; break;
case 0x44:key=10;P2=key;break;
case 0x84:key=11;P2=key;break;
case 0x18:key=12;P2=key;break;
case 0x28:key=13;P2=key;break;
case 0x48:key=14;P2=key;break;
case 0x88:key=15;P2=key;break;
default: key=16;P2=key;break;
}
keyout:_nop_();
}
/************延時程序*************/
void delay(del)
{
for(del;del>0;del--);
}
為了方便大家更好的學習,您還可以關注電子發(fā)燒友的公眾號,每天推送相關知識,希望能對你的學習有所幫助!
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
51單片機
+關注
關注
274文章
5702瀏覽量
123633 -
4×4行列式鍵盤
+關注
關注
0文章
3瀏覽量
8887
原文標題:4×4鍵盤C51單片機程序
文章出處:【微信號:changxuemcu,微信公眾號:暢學單片機】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
C51單片機開發(fā)工具Keil.UV4應用程序免費下載
本文檔的主要內容詳細介紹的是C51單片機開發(fā)工具Keil.UV4 Keil.C51.V9.01應用程序免費下載。
發(fā)表于 10-31 08:00
?42次下載
使用C51單片機設計的4按鍵4種花樣流水燈的資料和程序免費下載
本文檔的主要內容詳細介紹的是使用C51單片機設計的4按鍵4種花樣流水燈的資料和程序免費下載。
發(fā)表于 11-09 08:00
?43次下載
使用51單片機實現(xiàn)4x4矩陣鍵盤的程序免費下載
本文檔的主要內容詳細介紹的是使用51單片機實現(xiàn)4x4矩陣鍵盤的程序免費下載。
發(fā)表于 07-04 17:41
?11次下載
單片機C51語言程序設計基礎的資料合集免費下載
本文檔的主要內容詳細介紹的是單片機C51語言程序設計基礎的資料合集免費下載包括了:單片機開發(fā)概述,構建C51集成開發(fā)環(huán)境,
發(fā)表于 03-16 08:00
?18次下載
C51單片機與C52單片機內部的資源區(qū)別
C52單片機可以理解為是C51單片機的增強版? 兩個方面有差異,存儲空間和定時器計數(shù)器方面有區(qū)別 ○ C52
發(fā)表于 11-19 10:36
?20次下載
評論