抢答器完整程序_第1页
抢答器完整程序_第2页
抢答器完整程序_第3页
抢答器完整程序_第4页
抢答器完整程序_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitlaba=P3A3;//喇叭sbitkaishi=P3A4;//开始sbitqingling=P3A5;//清零sbitfunction=P3A6;//功能设置键sbitwei1=P1AQ;//选手号显示位sbitwei2=P1A1;//时间显示位sbitwei3=P1A2;ucharcodetable[]={QxcQ,Qxf9,Qxa4,QxbQ,Qx99,Qx92,Qx82,Qxf8,Qx8Q,Qx9Q};//Q到9的代码uchartime[]={QxQ1,QxQQ};//时间设置缓冲区uchartimehuanchong;ucharts,ql;//选手已被选中标志ucharnumber,bz,shijian;//选手号/若bz=1,则处于时间设置状态,即标志位/倒计时的时间ucharqiangda;//是否可以抢答标志位,为1,则八路抢答器有效uchardaojishi;//倒计时标志voiddelayms(uintxms){uinti,j;for(i=xms;i>Q;i--) //i=xms即延时约xms毫秒for(j=11Q;j>Q;j--);}voidtimedisplay()//时间显示{time[1]=(shijian%6Q)%1Q;//低位time[Q]=(shijian%6Q)/1Q;//高位wei2=Q;PQ=table[time[Q]];delayms(1);wei2=1;wei3=Q;PQ=table[time[1]];delayms(1);wei3=1;}voidnumberdisplay()〃选手号显示{wei1=Q;PQ=table[number];delayms(l);wei1=1;}voidkeyscan(){uchartemp;if((function==0)&&(daojishi==0))〃若时间设置键按下{delayms(10);if((function==0)&&(daojishi==0)){bz=!bz;//取反,决定是否处于时间设置状态while(function==0);//等待按键放开}}if((kaishi==0)||(qingling=0))//开始或结束键或加键或减键按下{delayms(10);if((kaishi==0)||(qingling==0)){if(bz==1)//处于时间设置状态{if(kaishi==0){shijian++;timehuanchong=shijian;while(kaishi==0);}if(qingling==0){shijian--;timehuanchong=shijian;while(qingling==0);}}if((kaishi==0)&&(bz==0)&&(daojishi==0))//若开始键被按下,而且时间设置完毕{ql=0;qiangda=1;//设立抢答标志shijian=timehuanchong;if((qingling==0)&&(bz==0)&&(daojishi==1))//若清零键被按下,而且时间设置完毕{ql=1;qiangda=0; 〃抢答标志撤消number=0; 〃选手编号清为零TR1=0;laba=1;ts=0; 〃选手已被选中标志撤消daojishi=0;}}}if((P2!=0xff)&&(number==0)&&(bz=0))//八路抢答器按钮按下,而且原先没有选手按下{delayms(10);if((P2!=0xff)&&(number==0)){if(qiangda==1)//若允许抢答{temp=~P2;while(temp!=0){temp=temp>>1;number++;ts=1;}}TR1=1;//开定时器}while(P2!=0xff);//等待按键放开}}voidtimer1()interrupt3{ucharn;〃定时200次,实现1S定时TH1=0xed;〃装定时器初值实现5ms定时TL1=0xff;n++;if(n>=200){n=0;daojishi=1;if(shijian)//若倒计时时间不为0{shijian--;}if((shijian==0)&&(ql==0)){laba=~laba;//喇叭报警}}}voidtimer0()interrupt1{TH0=0xed;〃装定时器初值实现5ms定时TL0=0xff;if((ts==1)||(bz==1)){timedisplay();}//选手号显示numberdisplay();//时间显示}voidmain(){number=0;bz=0;TMOD=0x11;〃设置为T1定时器TH1=0xed;〃装定时器初值TL1=0xff;TH0=0xed;〃装定时器初值TL0=0xff;ET1=1;ET0=1;EA=1;TR1=0;//开中断TR0=1;//开中断shijian=0x0a;timehuanchong=shijian;while(1){keyscan();}}\'CC选三DpyAtnl― ilt=AAAAAAA/^hAA/-.■ <K=IX修w・m\f.■,■■■■■,■P1.O(T-)CAD泸二?1.?.T2EX)Pl.2(An2)?().2PL3@D3)p{).3Pl.4fAD4)P0.4P:.5*O闿^_D5)P0.5PkMflSO)P1.7(SCK)(AD7}?&.-P3.3CIX-':CA8)P2.:?3.2JZ\TO)(A勇F"(A1D)P2.2P3.5(T1)(A11)P23P3.^I(TO)(A:2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论