欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2290|回復: 0
打印 上一主題 下一主題
收起左側

個人找的一個8路搶答器的程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:255232 發表于 2017-11-29 15:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  • #include<reg51.H>
  • sbit Presenter=P2^0;
  • sbit K=P3^2;
  • bit Presenter_flag=0,flag;//主持人按鍵標志位,僅允許一個數據通過標志位
  • unsigned char Timer=0,i;  //時間標志
  • unsigned char ren=0xff;
  • bit x=0;
  • void System_Init();
  • void System_Rest();
  • void main()
  • {
  •    System_Init();
  •   while(1)
  •   {
  •   if(Presenter_flag)        //主持人按鍵按下時開始系統
  •   {
  •         K=1;
  •         if(K==1)         //主持人按鍵起開
  •         {break;
  •         Presenter_flag=0;
  •         }
  •   }
  •   else
  •   System_Rest();
  •   }
  • }
  • void System_Init()
  • {
  •   EA=1;                         //打開中斷
  •   EX0=1;
  •   IT0=1;
  •   TMOD=0x01;
  •   ET0=1;
  •   TH0=(65535-50000)/256;   //50ms
  •   TL0=(65535-50000)%256;
  •   Presenter=0;
  •   TR0=0;
  • }
  • void System_Rest()
  • {
  •   P0=0xff;         //復位設置:在主持人按鍵起開或者,搶答時間超過10s或者答題時間超過60s
  •   P1=0xff;
  •   TR0=0;
  •   Presenter=0;
  •   flag=1;
  •   i=0;
  •   Timer=0;
  • }
  • void into() interrupt 0
  • {
  •   Presenter_flag=1;//主持人按鍵按下
  •   TR0=1;
  • }
  • void Timer0() interrupt 1
  • {
  •   TH0=(65535-50000)/256;
  •   TL0=(65535-50000)%256;
  •   i++;
  •   if(i==20)                                   //1s鐘
  •   {
  •     i=0;
  •     Timer++;
  •         P1=0xff;
  •         if((Timer<10)&&(P1==0xff)&&(flag==1))         //10s搶答時間,10s內如果無人搶答則復位
  •         {
  •           Presenter=~Presenter;                //搶答指示燈閃爍
  •         }
  •         else if((Timer>=10)&&(P1==0xff)&&(flag==1))
  •         {
  •           Presenter_flag=0;
  •           Timer=0;
  •           i=0;
  •         }
  •         P1=0xff;
  •         if((Timer<=60)&&(P1!=0xff)&&(flag==1)) //答題時間,60s沒答完則復位
  •         {
  •           ren=P1;
  •           Presenter=1;
  •           flag=0;
  •         }
  •          if(flag==0)
  •           {
  •             if(x==0)
  •                 {x=1;P0=0xff;}
  •                 else if(x==1)
  •                 {x=0;P0=ren;}
  •           }
  •           if((flag==0)&&(P1==0xff))
  •                 {P0=ren;TR0=0;flag=1;}
  •         if((Timer>60)&&(P1!=0xff))
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表