📄 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() // 初始设制。
{
P1DIR=0xf0;
P1OUT =0x00;
P2DIR=0xff;
P3DIR=0xff;
P2OUT=0x00;
P3OUT=0x00;
key_val=0;
}
void check_key(void) //获得键盘数。
{
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 + -