?? key.h
字號:
uchar key_val;
uchar key_map[]={1,2,3,4,5,6,7,8,9};
uchar tam[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay() //延時。
{
uint i;
for(i=4000;i>0;i--);
}
void Init_keypag() // 初始設(shè)制。
{
P1DIR=0xf0;
P1OUT =0x00;
P2DIR=0xff;
P3DIR=0xff;
P2OUT=0x00;
P3OUT=0x00;
key_val=0;
}
void check_key(void) //獲得鍵盤數(shù)。
{
uchar row,col,tmp1,tmp2;
tmp1=0x80;
for(row=0;row<3;row++)
{
P1OUT=0xff;
P1OUT-=tmp1;
tmp1 >>=1;
if((P1IN&0x0f)<0x0f)
{
tmp2=0x02;
for(col=0;col<3;col++)
{
if((P1IN&tmp2)==0x00)
{
key_val=key_map[row*3+col];
return;
}
tmp2 <<=1;
}
}
}
}
void init_key()
{
P1IES=0x0f;
P1IE=0x0f;
Init_keypag();
_EINT();
}
#pragma vector=PORT1_VECTOR
__interrupt void PORT1()
{
check_key();
if(P1IFG&0x0f)
{
P2OUT=tam[key_val];
P1IFG=0;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -