<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)模塊(C51)

單片機--矩陣鍵盤(pán)模塊(C51)

作者: 時(shí)間:2016-11-22 來(lái)源:網(wǎng)絡(luò ) 收藏
#include < reg52.h >

#include <intrins.h>//包含crol移位子函數的頭文件

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

#define uchar unsigned char

#defind uintunsigned int

uchar key_value=0x19;

uchar temp,a;

uchar keyboard()

{

uchari,t=4;

P2=0xFF;//P2口寫(xiě)1

a=0x7F;//p_value賦初始值

i=1;

while(t--)

{

a=_crol_(a,1);//循環(huán)左移一位,檢測下一行

key_scan();

i++;

if(i==5){ i=1; a=0x7f;}

}

returnkey_value;

}

void key_scan()

{

P2=a;//P2.0置零

temp=P2; //讀P2口的值

temp=temp&0xF0;//取高四位,都得用temp,即temp=p2,temp=temp&0xf0;

while(temp!=0xF0)//如果高四位不全為0,則有鍵下

{

delay(5);//延時(shí)消抖

while(temp!=0xF0)//再讀一次,如果高四位還是不全為0,真的有鍵按下了

{

temp=P2;//讀P2口的值給temp

switch(temp)

{

case0xEE:key_value=0; break;

case0xDE:key_value=1;break;

case0xBE:key_value=2;break;

case0x7E:key_value=3;break;

case0xED:key_value=4;break;

case0xDD:key_value=5;break;

case0xBD:key_value=6;break;

case0x7D:key_value=7;break;

case0xEB:key_value=8;break;

case0xDB:key_value=9;break;

case0xBB:key_value=10; break;

case0x7B:key_value=11; break;

case0xE7:key_value=12; break;

case0xD7:key_value=13; break;

case0xB7:key_value=14; break;

case0x77:key_value=15; break;

}

while(temp!=0xf0)//松手檢測

{

temp=P2;

temp=temp&0xf0;

}

}

}

}

void delay(uint z)

{

uintm,n;

for(m=z;m>0;m--)

for(n=78;n>0;n--);

}?




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

評論


技術(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>