<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機檢測矩陣鍵盤(pán).c文件

單片機檢測矩陣鍵盤(pán).c文件

作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò ) 收藏

這是電路圖

本文引用地址:http://dyxdggzs.com/article/201611/323855.htm

仿真文件和完整源碼下載:http://www.51hei.com/bbs/dpj-22586-1.html

下面是矩陣鍵盤(pán).c文件
#include
#include "delay_ms.h"http://利用函數delay_ms(unsigned int x)延時(shí) x ms
#include "矩陣鍵盤(pán).h" //頭文件中宏定義#define JPJK P3
void baoj1();
unsigned char keyscan()
{
unsigned char temp,key;
key = 0xff;
JPJK = 0xfe; //將第一行線(xiàn)置低電平
temp = JPJK;//讀JPJK的當前狀態(tài)到 temp
temp &= 0xf0;// temp = temp & 0xf0 按位與
if(temp != 0xf0)
{
delay_ms(10);//延時(shí)去抖
temp = JPJK;
temp &= 0xf0;
if(temp != 0xf0)//第一行有鍵被按下
{
temp = JPJK;//讀被按下的鍵
baoj1();
switch(temp)
{
case 0xee: key = 1;break;
case 0xde: key = 2;break;
case 0xbe: key = 3;break;
case 0x7e: key = 0x0a;break;
}
while(temp != 0xf0)//等待按鍵釋放
{
temp = JPJK;
temp &= 0xf0;
}
}
}
JPJK = 0xfd; //將第二行線(xiàn)置低電平
temp = JPJK;//讀JPJK的當前狀態(tài)到 temp
temp &= 0xf0;// temp = temp & 0xf0
if(temp != 0xf0)
{
delay_ms(10);//延時(shí)去抖
temp = JPJK;
temp &= 0xf0;
if(temp != 0xf0)//第二行有鍵被按下
{
temp = JPJK;//讀被按下的鍵
baoj1();
switch(temp)
{
case 0xed: key = 4;break;
case 0xdd: key = 5;break;
case 0xbd: key = 6;break;
case 0x7d: key = 0x0b;break;
}
while(temp != 0xf0)//等待按鍵釋放
{
temp = JPJK;
temp &= 0xf0;
}
}
}
JPJK = 0xfb; //將第 三行線(xiàn)置低電平
temp = JPJK;//讀JPJK的當前狀態(tài)到 temp
temp &= 0xf0;// temp = temp & 0xf0
if(temp != 0xf0)
{
delay_ms(10);//延時(shí)去抖
temp = JPJK;
temp &= 0xf0;
if(temp != 0xf0)//第三行有鍵被按下
{
temp = JPJK;//讀被按下的鍵
baoj1();
switch(temp)
{
case 0xeb: key = 7;break;
case 0xdb: key = 8;break;
case 0xbb: key = 9;break;
case 0x7b: key = 0x0c;break;
}
while(temp != 0xf0)//等待按鍵釋放
{
temp = JPJK;
temp &= 0xf0;
}
}
}
JPJK = 0xf7; //將第四行線(xiàn)置低電平
temp = JPJK;//讀JPJK的當前狀態(tài)到 temp
temp &= 0xf0;// temp = temp & 0xf0
if(temp != 0xf0)
{
delay_ms(10);//延時(shí)去抖
temp = JPJK;
temp &= 0xf0;
if(temp != 0xf0)//第四行有鍵被按下
{
temp = JPJK;//讀被按下的鍵
baoj1();
switch(temp)
{
case 0xe7: key = 0;break;
case 0xd7: key = 0;break;
case 0xb7: key = 0x0f;break;
case 0x77: key = 0x0d;break;
}
while(temp != 0xf0)//等待按鍵釋放
{
temp = JPJK;
temp &= 0xf0;
}
}
}
return key; //返回按下的鍵
}



關(guān)鍵詞: 單片機矩陣鍵盤(pán)c文

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>