基于AT89C51单片机的多人抢答器设计 联系客服

发布时间 : 星期一 文章基于AT89C51单片机的多人抢答器设计更新完毕开始阅读

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

dis();

if(m1==0)

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

else

if(m2==0)

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

else if(a3==0)

{ second=score3;

dis();

if(m1==0)

}

dis();

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

else

if(m2==0)

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

second=score4; dis();

if(m1==0)

else if(a4==0)

}

second=score3; dis();

{delay(5);if(m1==0);while(!m1);beep=1;delay(100);beep=0;score4

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

+=1;if(score4==99)score4=60;}

else

if(m2==0)

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

else if(a5==0)

{

second=score5; dis();

if(m1==0)

}

second=score4; dis();

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

else

if(m2==0)

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

else if(a6==0)

{

second=score6; dis();

if(m1==0)

}

second=score5; dis();

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

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

else if(m2==0)

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

else if(a7==0)

{

second=score7;

}

second=score6; dis();

dis();

if(m1==0)

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

else

if(m2==0)

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

else if(a8==0)

{

second=score8; dis();

if(m1==0)

}

second=score7; dis();

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

else

if(m2==0)

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

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

定时器子程序: void Timer() {

TMOD|=0x01;

TH0=0xd8; //初值55536,计数10000次,每次1US,总计10ms TL0=0xf0;

IE=0x82; //这里是中断优先级控制EA=1(开总中断),ET0=1(定时

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

}

}

while(!k); }

second=score8; dis();

器0允许中断),这里用定时器0来定时

void tim(void) interrupt 1 using 1 //为定时中断TR0 {

TH0=0xd8; //重新赋值 TL0=0xf0; count++;