大神 可不可以发分基于1602液晶显示和at89s52单片机控制的抢答器设计的程序 相关的也行

要求用1602液晶显示和at89s52单片机控制 有个开始抢答键和一个结束抢答键 2个调整时间按键(一个加时间 一个减时间) 在开始键按下后的抢答为有效抢答 否则视为无效 有效抢答时要有声音提示,显示屏上显示抢答号和抢答时间倒计时 。无效抢答时也有声音提示并显示抢答号和00s

第1个回答  2012-04-12
#include <reg51.h>
sbit P3_0=P3^0;
sbit P3_1=P3^1;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
sbit P3_4=P3^4;
sbit P3_5=P3^5;
sbit P3_6=P3^6;
sbit P3_7=P3^7;
sbit P1_0=P1^0;
sbit P1_1=P1^1;
void delay(int i);
void main()
{
int i=0;
if(P1_1==0)
{
if(P3_0==0)
while(i<1)
{

{P2=0xf3;
P1_0=0;
P0=0x40;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//9
P2=0xf3;
P1_0=0;
P0=0x00;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//8
P2=0xf3;
P1_0=0;
P0=0x63;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//7
P2=0xf3;
P1_0=0;
P0=0x08;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//6
P2=0xf3;
P1_0=0;
P0=0x48;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//5
P2=0xf3;
P1_0=0;
P0=0x64;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//4
P2=0xf3;
P1_0=0;
P0=0x42;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//3
P2=0xf3;
P1_0=0;
P0=0x12;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//2
P2=0xf3;
P1_0=0;
P0=0x67;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//1
P2=0xf3;
P1_0=0;
P0=0x01;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//0

}i++;
}

else if(P3_1==0)
while(i<1)
{

{P2=0xa4;
P1_0=0;
P0=0x40;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//9
P2=0xa4;
P1_0=0;
P0=0x00;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//8
P2=0xa4;
P1_0=0;
P0=0x63;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//7
P2=0xa4;
P1_0=0;
P0=0x08;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//6
P2=0xa4;
P1_0=0;
P0=0x48;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//5
P2=0xa4;
P1_0=0;
P0=0x64;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//4
P2=0xa4;
P1_0=0;
P0=0x42;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//3
P2=0xa4;
P1_0=0;
P0=0x12;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//2
P2=0xa4;
P1_0=0;
P0=0x67;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//1
P2=0xa4;
P1_0=0;
P0=0x01;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//0

}i++;
}

else if(P3_2==0)
while(i<1)
{

{P2=0xa1;
P1_0=0;
P0=0x40;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//9
P2=0xa1;
P1_0=0;
P0=0x00;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//8
P2=0xa1;
P1_0=0;
P0=0x63;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//7
P2=0xa1;
P1_0=0;
P0=0x08;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//6
P2=0xa1;
P1_0=0;
P0=0x48;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//5
P2=0xa1;
P1_0=0;
P0=0x64;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//4
P2=0xa1;
P1_0=0;
P0=0x42;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//3
P2=0xa1;
P1_0=0;
P0=0x12;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//2
P2=0xa1;
P1_0=0;
P0=0x67;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//1
P2=0xa1;
P1_0=0;
P0=0x01;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//0

}i++;
}

else if(P3_3==0)
while(i<1)
{

{P2=0x93;
P1_0=0;
P0=0x40;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//9
P2=0x93;
P1_0=0;
P0=0x00;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//8
P2=0x93;
P1_0=0;
P0=0x63;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//7
P2=0x93;
P1_0=0;
P0=0x08;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//6
P2=0x93;
P1_0=0;
P0=0x48;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//5
P2=0x93;
P1_0=0;
P0=0x64;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//4
P2=0x93;
P1_0=0;
P0=0x42;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//3
P2=0x93;
P1_0=0;
P0=0x12;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//2
P2=0x93;
P1_0=0;
P0=0x67;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//1
P2=0x93;
P1_0=0;
P0=0x01;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//0

}i++;
}

else if(P3_4==0)
while(i<1)
{

{P2=0x89;
P1_0=0;
P0=0x40;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//9
P2=0x89;
P1_0=0;
P0=0x00;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//8
P2=0x89;
P1_0=0;
P0=0x63;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//7
P2=0x89;
P1_0=0;
P0=0x08;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//6
P2=0x89;
P1_0=0;
P0=0x48;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//5
P2=0x89;
P1_0=0;
P0=0x64;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//4
P2=0x89;
P1_0=0;
P0=0x42;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//3
P2=0x89;
P1_0=0;
P0=0x12;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//2
P2=0x89;
P1_0=0;
P0=0x67;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//1
P2=0x89;
P1_0=0;
P0=0x01;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//0

}i++;
}

else if(P3_5==0)
while(i<1)
{

{P2=0x88;
P1_0=0;
P0=0x40;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//9
P2=0x88;
P1_0=0;
P0=0x00;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//8
P2=0x88;
P1_0=0;
P0=0x63;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//7
P2=0x88;
P1_0=0;
P0=0x08;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//6
P2=0x88;
P1_0=0;
P0=0x48;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//5
P2=0x88;
P1_0=0;
P0=0x64;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//4
P2=0x88;
P1_0=0;
P0=0x42;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//3
P2=0x88;
P1_0=0;
P0=0x12;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//2
P2=0x88;
P1_0=0;
P0=0x67;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//1
P2=0x88;
P1_0=0;
P0=0x01;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//0

}i++;
}

else if(P3_6==0)
while(i<1)
{

{P2=0xe3;
P1_0=0;
P0=0x40;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//9
P2=0xe3;
P1_0=0;
P0=0x00;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//8
P2=0xe3;
P1_0=0;
P0=0x63;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//7
P2=0xe3;
P1_0=0;
P0=0x08;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//6
P2=0xe3;
P1_0=0;
P0=0x48;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//5
P2=0xe3;
P1_0=0;
P0=0x64;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//4
P2=0xe3;
P1_0=0;
P0=0x42;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//3
P2=0xe3;
P1_0=0;
P0=0x12;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//2
P2=0xe3;
P1_0=0;
P0=0x67;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//1
P2=0xe3;
P1_0=0;
P0=0x01;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//0

}i++;
}

else if(P3_7==0)
while(i<1)
{

{P2=0x00;
P1_0=0;
P0=0x40;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//9
P2=0x00;
P1_0=0;
P0=0x00;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//8
P2=0x00;
P1_0=0;
P0=0x63;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//7
P2=0x00;
P1_0=0;
P0=0x08;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//6
P2=0x00;
P1_0=0;
P0=0x48;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//5
P2=0x00;
P1_0=0;
P0=0x64;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//4
P2=0x00;
P1_0=0;
P0=0x42;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//3
P2=0x00;
P1_0=0;
P0=0x12;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//2
P2=0x00;
P1_0=0;
P0=0x67;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//1
P2=0x00;
P1_0=0;
P0=0x01;
delay(200);
P2=0xff;
P1_0=1;
delay(200);
delay(200);
delay(200);
delay(200);
//0

}i++;
}

}
}
void delay(int i)
{
unsigned char j,k;
for(k=0;k<i;k++)
for(j=0;j<255;j++);
}追问

液晶显示是哪一段啊?

本回答被提问者采纳