久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機的八路搶答器設計

[復制鏈接]
跳轉到指定樓層
樓主
ID:360519 發表于 2018-6-27 19:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基本功能
1、同時供 8 名選手或 8個代表隊參加比賽,分別用 8個按鈕 K1 ~ K8 表示。
2、設置一個系統搶答控制開關 K0,該開關由主持人控制。
3、搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應的編號,揚聲器發出聲響提示,并在七段數碼管上顯示選手號碼。選手搶答實行優先鎖存,優先搶答選手的編號一直保持到主持人將系統清除為止。
4、搶答器具有定時搶答功能且一次搶答的時間由主持人設定(如 10秒)。當 主持人啟動 "開始"鍵后,定時器進行減計時。
5、參賽選手在設定的時間內進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統清除為止。在這段時間如果定時時間已到,無人搶答,本次搶答無效,系統報警并禁止搶答,定時顯示器上顯示FFF
源代碼如下
  1. #include<reg51.h>
  2. typedef unsigned char uchar;
  3. typedef unsigned int uint;
  4. sbit K0=P3^0;//        開始搶答按鍵
  5. sbit beep=P3^7;//        蜂鳴器
  6. sbit D0=P3^1;//        指示燈
  7. sbit K1=P1^0;//1 號選手搶答按鍵
  8. sbit K2=P1^1;//2 號選手搶答按鍵
  9. sbit K3=P1^2;//3 號選手搶答按鍵
  10. sbit K4=P1^3;//4 號選手搶答按鍵
  11. sbit K5=P1^4;//5 號選手搶答按鍵
  12. sbit K6=P1^5;//6 號選手搶答按鍵
  13. sbit K7=P1^6;//7 號選手搶答按鍵
  14. sbit K8=P1^7;//8 號選手搶答按鍵
  15. sbit S1=P3^2;// 答 題 計 時 鍵
  16. sbit S2=P3^3;//        開始搶答時間調整鍵
  17. sbit S3=P3^4;//        答題計時時間調整鍵
  18. char s;
  19. uchar num=0;
  20. char time1;//        搶答時間
  21. char time2;//        答題限時時間
  22. uint m,n;//T0,T1        定時器定一秒時
  23. bit flag1,flag2,flag3,flag4;        // 標志位
  24. bit aa,bb;//        時間調整標志位
  25. // 延時子函數
  26. void delay(uint z)
  27. {
  28. uint x,y; for(x=z;x>0;x--)
  29. for(y=120;y>0;y--);
  30. }

  31. uchar code table1[]={
  32.           // 共陰數碼管段碼值
  33.        0x3f,0x06,0x5b,0x4f,
  34.        0x66,0x6d,0x7d,0x07,
  35.        0x7f,0x6f,0x77,0x7c,
  36.            0x39,0x5e,0x79,0x71
  37.            };
  38. uchar code table2[]={
  39.                                   // 共陰數碼管位碼值
  40.                   0xfe,0xfd, 0xfb,0xf7
  41.                                   };
  42. // 初始化子函數
  43. void init()
  44. {
  45. TMOD=0x11;
  46. TH0=(65536-2000)/256;
  47. TL0=(65536-2000)%256;
  48. TH1=(65536-2000)/256;
  49. TL1=(65536-2000)%256;
  50. ET0=1;
  51. ET1=1;
  52. EA=1;
  53. P0=0x00;
  54. time1=10;
  55. time2=10;
  56. flag2=1;
  57. }
  58. // 開始鍵掃描子函數
  59. void key1()
  60. {
  61.    uchar i=100;
  62.    if(K0==0)
  63.    {
  64.      delay(10);
  65.          if(K0==0)
  66.      {
  67.       while(K0==0&&i)
  68.       {
  69.        i--;
  70.        delay(10);
  71.       }
  72.        TR0=1;
  73.            s=time1;
  74.            m=0;
  75.        flag1=1;
  76.            flag2=1;
  77.            flag3=1;
  78.            num=0;
  79.            beep=1;
  80.            D0=1;
  81.        flag4=0;        // 清除違規標志位
  82.        aa=0;
  83.            bb=0;
  84.           }
  85.    }
  86. }
  87. // 選手搶答按鍵掃描子函數
  88. void key()
  89. {
  90.   uchar i=100;
  91.   if(K1==0)
  92.   {
  93.    delay(10);
  94.    if(K1==0)
  95.    {
  96.     while(K1==0&&i)
  97.     {
  98.      i--;
  99.      delay(10);
  100.     }
  101.     num=1;        // 數碼管顯示        1 號 "1"
  102. TR0=0;        // 關閉定時器        0, 時間停止
  103.     TR1=1;        // 打開定時器        1, 使揚聲器響一聲
  104.     flag2=0;        // 關閉開始鍵標志位        , 使再按其他七個鍵不會響應
  105.    }
  106.   }
  107.   if(K2==0)        // 下面七個鍵的處理同上
  108.   {
  109.     delay(10);
  110.         if(K2==0)
  111.         {
  112.      while(K2==0&&i)
  113.      {
  114.       i--;
  115.       delay(10);
  116.      }
  117.      num=2;
  118.          TR0=0;
  119.          TR1=1;
  120.      flag2=0; // 重 要
  121.     }
  122.   }
  123.    if(K3==0)
  124.    {
  125.     delay(10);
  126.         if(K3==0)
  127.     {
  128.      while(K3==0&&i)
  129.      {
  130.       i--;
  131.       delay(10);
  132.      }
  133.      num=3;
  134.          TR0=0;
  135.          TR1=1;
  136.      flag2=0;
  137.     }
  138.    }
  139.    if(K4==0)
  140.    {
  141.     delay(10);
  142.         if(K4==0)
  143.     {
  144.      while(K4==0&&i)
  145.      {
  146.       i--;
  147.       delay(10);
  148.      }
  149.          num=4;
  150.          TR0=0;
  151.          TR1=1;
  152.      flag2=0;
  153.     }
  154.    }
  155.    if(K5==0)
  156.    {
  157.     delay(10);
  158.         if(K5==0)
  159.     {
  160.      while(K5==0&&i)
  161.      {
  162.       i--;
  163.       delay(10);
  164.      }
  165.      num=5;
  166.          TR0=0;
  167.          TR1=1;
  168.      flag2=0;
  169.     }
  170.    }
  171.    if(K6==0)
  172.    {
  173.     delay(10);
  174.         if(K6==0)
  175.     {
  176.      while(K6==0&&i)
  177.      {
  178.       i--;
  179.       delay(10);
  180.      }
  181.      num=6;
  182.          TR0=0;
  183.          TR1=1;
  184.      flag2=0;
  185.     }
  186.    }
  187.    if(K7==0)
  188.    {
  189.     delay(10);
  190.         if(K7==0)
  191.     {
  192.      while(K7==0&&i)
  193.      {
  194.       i--;
  195.       delay(10);
  196.      }
  197.      num=7;
  198.          TR0=0;
  199.          TR1=1;
  200.      flag2=0;
  201.     }
  202.    }
  203.    if(K8==0)
  204.    {
  205.     delay(10);
  206.         if(K8==0)
  207.     {
  208.      while(K8==0&&i)
  209.      {
  210.       i--;
  211.       delay(10);
  212.      }
  213.      num=8;
  214.          TR0=0;
  215.          TR1=1;
  216.      flag2=0;
  217.     }
  218.    }
  219. }
  220. // 數碼管顯示子函數
  221. void display()
  222. {
  223. if(flag1==1)        // 開始鍵按下 , 開始計時搶答
  224. {
  225. if(num!=0)        // 如果有人搶答 , 則顯示相應的幾號
  226. {
  227.   P0=table1[num];        // 顯示幾號搶到了
  228.   P2=table2[0]; delay(2); P0=0;
  229.   P2=0xff;
復制代碼
限于篇幅,全部程序請從附件下載

單片機課設程序.docx

21.11 KB, 下載次數: 79, 下載積分: 黑幣 -5

八路搶答器源代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:507935 發表于 2019-4-9 15:28 | 只看該作者
看看怎么用呀
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品入口久久 | 欧美视频第三页 | 国产精品成人国产乱 | 91久久精品 | av中文在线播放 | 91久久精品一区二区二区 | 久久亚洲一区二区三 | 又黄又色 | 少妇诱惑av | 毛片视频免费观看 | 欧洲精品一区 | 午夜精品久久久久久久久久久久久 | 色视频成人在线观看免 | 一区在线视频 | 噜啊噜在线 | 精品国产免费一区二区三区演员表 | 国产高清久久 | 97伦理电影网 | 欧美一区二区三区大片 | 欧美日韩在线一区二区 | 日韩综合| 国产高清视频在线 | 久久高清国产 | 三级黄色片在线观看 | 久久草在线视频 | www.日韩高清 | 亚洲欧美精品国产一级在线 | 曰批视频在线观看 | 黄 色 毛片免费 | 91精品久久久久久久久中文字幕 | 一区精品视频 | 91精品国产综合久久久久 | 一区欧美| 播放一级黄色片 | 中文字幕在线第二页 | 亚洲欧洲激情 | 久久综合久久久 | 黄色毛片免费视频 | 国产精品亚洲综合 | 一区二区三区高清在线观看 | 九九热精品视频 |