單片機搶答器設計
在知識比賽中, 特別是做搶答題目的時候, 在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設計一個系統(tǒng)來完成這個任務。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機系統(tǒng)來設計搶答器,使以上問題得以解決,即使兩組的搶答時間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機搶答器設計及工作原理,以及它的實際用途。 ! 系統(tǒng)工作原理本系統(tǒng)采用8051單片機作為核心??刂葡到y(tǒng)的四個模塊分別為:存儲模塊、顯示模塊、語音模塊、搶答開關模塊。該搶答器系統(tǒng)通過開關電路四個按鍵輸入搶答信號;利用語音芯片ISD1420 完成語音的錄放功能; 利用存儲程序; 利用一個數(shù)碼管來完成顯示功能。工作時,用按鍵通過開關電路輸入各路的搶答信號,經單片機的處理, 輸出控制信號, 控制數(shù)碼管和語音芯片工作。在數(shù)碼管上顯示哪一組先答題,并通過語音系統(tǒng)讀出 “第9組請答題”,從而實現(xiàn)整個搶答過程。搶答器程序在本文下放給了一個還需要大家來完善,如果你有更好的設計請聯(lián)系我(www.51hei.com首頁有聯(lián)系方式),系統(tǒng)的原理圖如下圖
下面這個單片機搶答器設計程序,大家測試一下,有什么問題可直接與我聯(lián)系
*
1、如果想調節(jié)搶答時間或答題時間,按"搶答時間調節(jié)"鍵或"答題時間調節(jié)"鍵進入調節(jié)狀態(tài),此時會顯示現(xiàn)在設定的搶答時間或回答時間值,如想加一秒按一下"加1s"鍵,如果想減一秒按一下"-1s"鍵,時間LED上會顯示改變后的時間,調整范圍為0s~99s, 0s時再減1s會跳到99,99s時再加1s會變到0s。
2、主持人按"搶答開始"鍵,會有提示音,并立刻進入搶答倒計時(預設15s搶答時間),如有選手搶答,會有提示音,并會顯示其號數(shù)并立刻進入回答倒計時(預設10s搶答時間),不進行搶答查詢,所以只有第一個按搶答的選手有效。倒數(shù)時間到小于5s會每秒響一下提示音。
3、如倒計時期間,主持人想停止倒計時可以隨時按"停止"按鍵,系統(tǒng)會自動進入準備狀態(tài),等待主持人按"搶答開始"進入下次搶答計時。
4、如果主持人未按"搶答開始"鍵,而有人按了搶答按鍵,犯規(guī)搶答,LED上不斷閃爍FF和犯規(guī)號數(shù)并響個不停,直到按下"停止" 鍵為止。
************************************************
P1.0為開始搶答,P1.7為停止,p1.1-p1.6為六路搶答輸入 數(shù)碼管段選P0口,位選P2口,蜂鳴器輸出為P3.6口
**************************************************
;============
OK EQU 20H ;搶答開始標志位;將P1口與P2口互換,P3.0-P1.0,P3.1-P1.7
RING EQU 22H ;響鈴標志位
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP INT0SUB
ORG 000BH
AJMP T0INT
ORG 0013H
AJMP INT1SUB
ORG 001BH
AJMP T1INT
ORG 0040H
;===============-
;單片機搶答器主程序設計
;================
MAIN: MOV R1,#0FH ;初設搶答時間為15s
MOV R2,#0AH ;初設答題時間為10s
MOV TMOD,#11H ;設置未定時器/模式1
MOV TH0,#0F0H
MOV TL0,#0FFH ;越高發(fā)聲頻率越高,越尖
MOV TH1,#3CH
MOV TL1,#0B0H ;50ms為一次溢出中斷
SETB EA
SETB ET0
SETB ET1
SETB EX0
SETB EX1 ;允許四個中斷,T0/T1/INT0/INT1
CLR OK
CLR RING
SETB TR1
SETB TR0 ;一開始就運行定時器,以開始顯示FFF.如果想重新計數(shù),重置TH1/TL1就可以了
評論