|
基于单片机的8位数码管抢答器设计
#include<reg52.h>
void delay(unsigned int i)
{
unsigned int k;
for(k=0;k<i;k++);
}
// void dealy(unsigned int i)
void main()
{
unsigned char button;
unsigned char code disp []={0x40,0xf9,0x12,0x6,0xd,0x24,0x20,0xce,0x80};//定义0-7共阳极数码管显示码
P0=0xff;
P1=disp[1];
while(5)
{
button=P0;
delay(1200);
button=P0;
// {
// if( button==0x7f);
// P1=disp[0];
// delay(1200);
// }
switch(button)
{
case 0x7f:P1=disp[0];delay(10000);while(1);break;//按下0,显示0,待机
case 0xbf:P1=disp[1];delay(10000);while(1);break;//按下1,显示1,待机
case 0xdf:P1=disp[2];delay(10000);while(1);break;//按下2,显示2,待机
case 0xfa:P1=disp[3];delay(10000);while(1);break;//按下3,显示3,待机
case 0xfb:P1=disp[4];delay(10000);while(1);break;//按下4,显示4,待机
case 0xfc:P1=disp[5];delay(10000);while(1);break;//按下5,显示5,待机
case 0xfd:P1=disp[6];delay(10000);while(1);break;//按下6,显示6,待机
case 0xfe:P1=disp[7];delay(10000);while(1);break;//按下7,显示7,待机
default:break;
}
}
}
|
|