基于单片机at89c51控制的抢答器课题设计报告内容摘要:

sbit K4=P1^3。 sbit K5=P1^4。 sbit K6=P1^5。 sbit K7=P1^6。 sbit K8=P1^7。 sbit K_Time=P3^2。 //答题计时键 sbit K_startcount=P3^3。 //开始抢答时间调整键 sbit K_timecount=P3^4。 //答题计时时间调整键 void delay(uchar ms) { uchar y。 for(。 ms0。 ms) for(y=120。 y0。 y)。 } uchar code tabledu[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71 }。 uchar code tablewe[]={0XFE,0XFD,0XFB,0XF7}。 void T0_Init(void) 宁波技师学院电气系 XXX 课程设计 9 { TMOD=0X01。 TH0=(655362020)/256。 TL0=(655362020)%256。 TH1=(655362020)/256。 TL1=(655362020)%256。 ET0=1。 ET1=1。 EA=1。 P0=0。 } void Key_Scan(void) //开始键扫描 { if(K0==0) { delay(10)。 if(K0==0) { while(!K0)。 TR0=1。 s=time。 tt=0。 flag=1。 s_flag=1。 b_flag=1。 num=0。 beep=1。 rled=1。 fall_flag=0。 //清除违规标志位 宁波技师学院电气系 XXX 课程设计 10 K_startcountflag=0。 K_timecountflag=0。 } } } void Scan(void) //八路热键扫描 (哪个键先按下 ,哪个优先级最高 ) { if(K1==0) { delay(10)。 if(K1==0) { while(!K1)。 num=1。 //数码管显示 1号 1 TR0=0。 //关闭定时器 0,时间停止 TR1=1。 //打开定时器 1,使扬声器响一声 s_flag=0。 //关闭开始键标志 位 ,使再按其他七个键不会响应 } } if(K2==0) //下面七个键的处理同上 { delay(10)。 if(K2==0) { while(!K2)。 num=2。 TR0=0。 TR1=1。 s_flag=0。 //重要 宁波技师学院电气系 XXX 课程设计 11 } } if(K3==0) { delay(10)。 if(K3==0) { while(!K3)。 num=3。 TR0=0。 TR1=1。 s_flag=0。 } } if(K4==0) { delay(10)。 if(K4==0) { while(!K4)。 num=4。 TR0=0。 TR1=1。 s_flag=0。 } } if(K5==0) { delay(10)。 宁波技师学院电气系 XXX 课程设计 12 if(K5==0) { while(!K5)。 num=5。 TR0=0。 TR1=1。 s_flag=0。 } } if(K6==0) { delay(10)。 if(K6==0) { while(!K6)。 num=6。 TR0=0。 TR1=1。 s_flag=0。 } } if(K7==0) { delay(10)。 if(K7==0) { while(!K7)。 num=7。 TR0=0。 宁波技师学院电气系 XXX 课程设计 13 TR1=1。 s_flag=0。 } } if(K8==0) { delay(10)。 if(K8==0) { while(!K8)。 num=8。 TR0=0。 TR1=1。 s_flag=0。 } } } void display(void) { if(flag==1) //开始键按下 ,开始计时抢答 { if(num!=0) //如果有人抢答 ,则显示相应的几号 { P0=tabledu[num]。 //显示几号抢到了 P2=tablewe[0]。 delay(2)。 P0=0。 P2=0XFF。 } 宁波技师学院电气系 XXX 课程设计 14 else //否则没人抢答 ,则前面不显示几号 { P0=0。 P2=0XFF。 } P0=tabledu[s/10]。 //下面为显示抢答倒计时 P2=tablewe[2]。 delay(2)。 P0=0。 P2=0XFF。 P0=tabledu[s%10]。 P2=tablewe[3]。 delay(2)。 P2=0XFF。 P0=0。 } else //如果开始键没有按下 ,则显示 F FF(若有违规者 ,则显示违规号码及 FF)或时间调整 { i。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。