lianxi3.c
来自「采用单片机at89c52实现抢答器」· C语言 代码 · 共 57 行
C
57 行
#include <reg51.h>
unsigned char code tab[8]={0x3f,6,0x5b,0x4f,0x66,0x6d,0x7d,7};
void delay(unsigned int t)
{unsigned int i;
while(t--)
{for(i=123;i>0;i--);
}
}
unsigned char readkey(void)
{
unsigned int key=0xff;
unsigned char temp,t;
P1=0xff;
delay(60);
t=P1;
temp=t&0xff;
if(temp != 0xff)
{
temp=P1&0xff;
if(temp==~1)
{
key=0;
}
else if(temp==~2)
{key=1;}
else if(temp==~4)
{key=2;}
else if(temp==~8)
{key=3;}
else if(temp==~0x10)
{key=4;}
else if(temp==~0x20)
{key=5;}
else if(temp==~0x40)
{key=6;}
else if(temp==~0x80)
{key=7;}
t=0xff;}
return(key);
}
void main(void)
{
unsigned char key;
P0=0;
delay(60);
P2=0;
while(1)
{
key=readkey();
if(key!=0xff)
{
P2=tab[key];
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?