<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è) > 嵌入式系統 > 設計應用 > 51單片機C編程(七、5個(gè)IO口掃描10個(gè)按鍵)

51單片機C編程(七、5個(gè)IO口掃描10個(gè)按鍵)

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò ) 收藏
程序名稱(chēng):5個(gè)IO口掃描10個(gè)按鍵

者:jumpmysoul
期:2009年5月22日
程序功能:用P1口的P00~P04實(shí)現10個(gè)按鍵的掃描,并將鍵值用一個(gè)數碼管顯示

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

proteus仿真電路如下:

#include
#define uchar unsigned char
#define uint unsigned int
#define SEG P0

uchar code tab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x08};//共陽(yáng)數碼管段碼

void delay1ms(uint);
uchar press_key();
void display();
/
uchar press_key()
{
uchar keyval;

P1=0xfe;//第一行送0
if(P1!=0xfe)
{
delay1ms(1);
if(P1!=0xfe)
{
if(P1==0xfc)//‘1’按下
keyval=1;
else if(P1==0xfa)// ‘2’按下
keyval=2;
else if(P1==0xf6)// ‘3’按下
keyval=3;
else if(P1==0xee)// ‘4’按下
keyval=4;
}
}

P1=0xfd;//第二行送0
if(P1!=0xfd)
{
delay1ms(1);
if(P1!=0xfd)
{
if(P1==0xf9)//‘5’按下
keyval=5;
else if(P1==0xf5)// ‘6’按下
keyval=6;
else if(P1==0xed)//‘7’按下
keyval=7;
}
}

P1=0xfb;//第三行送0
if(P1!=0xfb)
{
delay1ms(1);
if(P1!=0xfb)
{
if(P1==0xf3)// ‘8’按下
keyval=8;
else if(P1==0xeb) // ‘9’按下
keyval=9;
}
}

P1=0xf7;//第四行送0
if(P1!=0xf7)
{
delay1ms(1);
if(P1!=0xf7)
{
if(P1==0xe7)//‘10’按下
keyval=10;
}
}

return(keyval);//返回鍵值
}
/***************************************鍵值顯示子函數*********************

//入口參數:無(wú)
//返回參數:無(wú)
//調用子函數:press_key()
//函數功能:將鍵值用數碼管顯示出來(lái)
//*********************************************************************************
void display()
{
uchar i;
i=press_key();
SEG=tab[i];
}



關(guān)鍵詞: 51單片機C編程IO口掃

評論


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