標(biāo)題: 自制的8路搶答器-小動作版 原理圖+單片機(jī)代碼+文檔 [打印本頁]

作者: JXFF    時間: 2019-12-21 13:03
標(biāo)題: 自制的8路搶答器-小動作版 原理圖+單片機(jī)代碼+文檔
這是設(shè)計(jì)自制的8路搶答器,所有功能正常,包括倒計(jì)時時長設(shè)置(范圍0~99s,不會溢出),搶答成功的對應(yīng)選手序號的鎖存與顯示,無人搶答的報(bào)警,任意時刻都可重置搶答器。我自己又加了一個小動作子程序在里面——就是可以自定義某位選手的搶答有效,并屏蔽其他選手的搶答。
該搶答器基于STC12C5A60S2單片機(jī),顯示電路是基于74LS164的靜態(tài)顯示電路。

文件內(nèi)包含使用說明書

小提醒:務(wù)必根據(jù)實(shí)際實(shí)驗(yàn)器材進(jìn)行封裝,網(wǎng)上找的大多數(shù)封裝不一定合適,如果拿來就用會出大事!

注意!
注意!
注意!
電路圖里所有的上拉電阻的VCC均與電源直接相連,如果需要接到開關(guān)處,請自行修改。

制作出來的實(shí)物圖如下:





00:倒計(jì)時結(jié)束界面
11:開始界面
01:準(zhǔn)備開始搶答標(biāo)志(按住START鍵顯示)
02:設(shè)置搶答時間標(biāo)志(按住SET鍵顯示)
03:重置標(biāo)志(按住RESTART鍵顯示)
99:小動作模式標(biāo)志


操作方法:
開始界面:START鍵開始搶答
(顯示11)  SET鍵設(shè)置倒計(jì)時時間
          先后按下RESTART鍵、SET鍵、START鍵并先松開SET鍵進(jìn)入小動作模式
設(shè)置時長:START鍵增加時間(若時間為99則不會繼續(xù)增加)
RESTART鍵減少時間(若時間為0則不會繼續(xù)減少)
SET確認(rèn)當(dāng)前時間設(shè)置(默認(rèn)倒計(jì)時時長為10s)
搶答倒計(jì)時:若有選手搶答則顯示對應(yīng)的序號,并且蜂鳴器短暫報(bào)警
(若選手1搶答成功,則顯示“no. 1”)
            若無人搶答,倒計(jì)時結(jié)束蜂鳴器短暫報(bào)警,并顯示“00”
            任意情況下按下RESTART鍵,回到開始界面
小動作模式:若選擇“no.0”則不小動作
          通過START鍵和RESTART鍵選擇選手,SET鍵確認(rèn)
          (會自動屏蔽除小動作模式選擇的選手以外其他選手的搶答)

單片機(jī)源程序如下:
  1. //************主程序************
  2. void main()
  3. {
  4.         Init();
  5.         while(1)
  6.         {
  7. if(flag1==0&&flag3==0&&flag2==0)    displaymode(11);
  8. if(key0==0&&flag1==0) //開始計(jì)時
  9.                 {
  10.                         delay(500);
  11.                         if(key0==0)
  12.                         {
  13.                                 while(!key0)
  14.                                 {
  15.                                         displaymode(1);
  16.                                 }
  17.                                 flag1=1;
  18.                                 buzzer();
  19.                                 TR0=1;
  20.                         }
  21.                 }        
  22.         if(key1==0&&flag1==0) //設(shè)置時間
  23.                 {
  24.                         delay(500);
  25.                         if(key1==0)
  26.                         {
  27.                                 while(!key1)
  28.                                         displaymode(2);
  29.                                 flag2=1;
  30.                                 key();
  31.                         }
  32.                 }
  33.                 while(!key2)  
  34. //小動作代碼:選0時不小動作,選任意選手則默認(rèn)為該選手搶答成功
  35.                 {
  36.                         delay(500);
  37.                         while(key2==0&&key1==0)
  38.                         {
  39.                                 delay(500);
  40. while(key2==0&&key1==0&&key0==0)
  41.                                 {
  42.                                         displaymode(99);
  43.                                         flag4=1;
  44.                                 }
  45.                                 zuobi();
  46.                         }
  47.                 }
  48.                 if(flag2==1) //顯示誰搶答成功
  49.                         {
  50.                                 flag1=0;
  51.                                 buzzer();
  52.                                 t=t0;
  53.                                 qiangda();
  54.                 }
  55.                 if(flag3==1)   //報(bào)警
  56.                   {      
  57.                             buzzer();
  58.                                 while(key2)
  59.                                  displaymode(0);
  60.                                 while(!key2)
  61.                                 displaymode(3);
  62.                     }
  63.          }
  64. }

復(fù)制代碼

全部資料51hei下載地址:
八路搶答器-.7z (944.26 KB, 下載次數(shù): 29)

作者: JXFF    時間: 2019-12-21 13:06
本帖最后由 JXFF 于 2019-12-23 09:02 編輯

PCB電路板我忘記放進(jìn)去了,不過你們最好根據(jù)實(shí)驗(yàn)器材選擇對應(yīng)的庫和封裝,直接給PCB你們可能也用不了。
管理員好可愛啊,把作弊改成了小動作模式,hhhhh

作者: 51hei團(tuán)團(tuán)    時間: 2019-12-22 23:48
好資料,51黑有你更精彩!!!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1