基于AT89C51单片机的多人抢答器设计

loading 分享 2026-7-15 下载文档

黄河科技学院课程设计 第 14 页

附录 A (源程序)

主程序: void main() {

init();

if(k==0) //主持人按下开始键 {

Timer(); delay(10); while(!k); while(1) {

dis(); m=0; n=0;

if(second==10){beep=1;delay(500);beep=0;} if(second==0) {

TR0=0;n=1; if(k==0)

{beep=1;delay(500);beep=0;second=29;TR0=1;m=1;}

}

if(n==0) {

if(k1==0) {delay(5);if(k1==0);while(!k1);t=1;}

else if(k2==0) {delay(5);if(k2==0);while(!k2);t=2;} else if(k3==0) {delay(5);if(k3==0);while(!k2);t=3;} else if(k4==0) {delay(5);if(k4==0);while(!k2);t=4;}

黄河科技学院课程设计 第 15 页

else if(k5==0) {delay(5);if(k5==0);while(!k2);t=5;} else if(k6==0) {delay(5);if(k6==0);while(!k2);t=6;} else if(k7==0) {delay(5);if(k7==0);while(!k2);t=7;} else if(k8==0) {delay(5);if(k8==0);while(!k2);t=8;} else

if(k==0)

{delay(5);if(k==0);while(!k);t=0;i=0;second=29;beep=1;delay(500);beep=0;TR0=1;}

}

while(t)

{

if(m==0) //开关,保证程序只执行一次 {

switch(t) {

case 1:

{

TR0=0;i=1;second=0;beep=1;delay(500);beep=0;

a1=0;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;

}

case 2:

{

TR0=0;i=2;second=0;beep=1;delay(500);beep=0;

a2=0;a1=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;

}

case 3:

{

黄河科技学院课程设计 第 16 页

TR0=0;i=3;second=0;beep=1;delay(500);beep=0;

a3=0;a1=1;a2=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break;

}

case 4:

{

TR0=0;i=4;second=0;beep=1;delay(500);beep=0;

a4=0;a1=1;a2=1;a3=1;a5=1;a6=1;a7=1;a8=1;m=1;break;

}

case 5:

{

TR0=0;i=5;second=0;beep=1;delay(500);beep=0;

a5=0;a1=1;a2=1;a3=1;a4=1;a6=1;a7=1;a8=1;m=1;break;

}

case 6:

{

TR0=0;i=6;second=0;beep=1;delay(500);beep=0;

a6=0;a1=1;a2=1;a3=1;a4=1;a5=1;a7=1;a8=1;m=1;break;

}

case 7:

{

黄河科技学院课程设计 第 17 页

TR0=0;i=7;second=0;beep=1;delay(500);beep=0;

a7=0;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a8=1;m=1;break;

}

case 8:

{

TR0=0;i=8;second=0;beep=1;delay(500);beep=0;

a8=0;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;m=1;break;

}

}

}

if(a1==0) //选手1的分数 { second=score1;

dis();

if(m1==0)

{delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score1+=1;if(score1==99)score1=60;} else

if(m2==0)

{delay(5);if(m2==0);while(!m2);beep=1;delay(100);beep=0;score1-=1;if(score1==0)score1=60;}

else if(a2==0)

{ second=score2;

}

dis();


基于AT89C51单片机的多人抢答器设计.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于AT89C51单片机的多人抢答器设计 的文档
相关推荐
相关阅读