摘要:設計了一種以單片機AT89C51為核心的四路搶答器,從硬件和軟件兩方面詳細介紹了搶答器的設計方法,結合Proteus軟件的仿真結果,根據電路圖焊接實物,軟件仿真及硬件調試結果表明,該搶答器的設計實現了預期的目標。本文網絡版地址:http://www.eepw.com.cn/article/203228. htm
關鍵詞:單片機;搶答器;Proteus
DOI: 10.3969/j.issn.1005-5517.2014.1.013
引言
搶答器是各種智力競賽中必不可少的一種硬件設備。實現搶答器的方式有多種多樣,傳統的搶答器普遍采用模擬電路、數字電路或者模數混合電路來設計。這類搶答器所需元器件比較多,隨著功能增多,電路也越復雜,并且成本偏高,故障率高,操作不方便,不便于參數調節及功能的升級換代。本文采用AT89C51為核心,結合鍵盤、數碼管、蜂鳴器等外圍設備,設計了具有搶答、計時、時間調整、蜂鳴器報警等功能的4路搶答器。
總體設計
設計需求
按照設計需求,本系統具有以下幾個主要功能:(1)搶答器可同時供4名選手或四支參賽隊伍使用;(2)搶答或回答時間主持人可自行設置;(3)能夠顯示搶答或答題時間的倒計時;(4)在有人犯規時可以顯示選手號、閃爍顯示以及蜂鳴器報警;(5)答題時間還剩5s時,蜂鳴器報警提示。
搶答器的工作原理
利用單片機控制各個功能模塊實現搶答功能,單片機收集選手的搶答信號,運用寄存器來識別并記錄第一個選手號,傳輸信息給數碼管顯示,同時內部定時器工作,記錄有關時間并產生超時信號,在搶答成功、倒計時結束都伴隨有蜂鳴器警報提醒,從而實現單片機搶答的功能。
硬件設計
在硬件設計方面利用單片機AT89C51控制搶答模塊、顯示模塊、計時及調整模塊、蜂鳴提示模塊和復位模塊,從而實現單片機的搶答。系統硬件設計原理圖如圖2所示。
圖2中U1為單片機AT89C51,K1~K4分別為4路搶答按鈕,分別接到p1.0到p1.3中;開始鍵和結束鍵分別接到單片機的10、11腳,由于單片機的10、11腳既有串行接口RXD、TXD功能又有P3.0、P3.1的IO端口功能,此處按鍵用到單片機10、11腳的IO端口功能。搶答時間調整按鍵和回答時間調整按鍵分別接到單片機的13,14管腳,“加一”按鍵和“減一”按鍵分別接到單片機的15、16管腳。4位七段數碼管段選接P0口,位選接P2口的低3位,蜂鳴器輸出信號端接P3.7口。
顯示模塊
顯示模塊采用常見的4位七段共陽數碼管,利用其動態顯示的方法來實現。數碼管的7個輸入端A~G段分別接到AT89C51的P0.0~P0.6,位選碼COM1、COM3、COM4分別接到單片機P2.0、P2.1、P2.2,由單片機來決定當前該顯示的是哪一位。由于AT89C51單片機的P0口沒有內置上拉電阻,本系統采用外接10kΩ上拉電阻(采用A103排阻),保證P0口沒有數據輸出的時候是處于高電平狀態。
按鍵輸入模塊搶答器的輸入信號采用11個按鍵控制,其中4個為搶答按鍵、4個為倒計時調整按鍵、1個開始按鍵、1個結束按鍵和1個復位按鍵。各按鍵均有一根信號線與單片機電路相連,所有按鍵有一公共端,各按鍵相互獨立互不影響。當有鍵按下時,相應的單片機引腳作出反應,產生有效的輸入信號。
蜂鳴提示模塊
本設計中利用AT89C51的16引腳經驅動器驅動蜂鳴器發聲。壓電式蜂鳴器約需10mA的驅動電流,可以采用三極管的電流放大作用驅動蜂鳴器實現發聲提示。
復位模塊
復位模塊由復位鍵、電阻R1以及電解電容C3構成。由于單片機是高電平復位,所以當復位鍵按下時單片機9腳RESET管腳處于高電平,此時單片機處于復位狀態,當上電后,由于電容的緩慢充電,單片機的9腳電壓逐步由高向低轉化,經過一段時間后,單片機的9腳處于穩定的低電平狀態,此時單片機上電復位完畢,系統程序從0000H開始執行。
軟件設計
搶答器要求有計時記憶功能,一次時間設置完,復位后不需重新進行時間設定,選手通過鍵盤按鍵進行搶答,再通過單片機將其轉換成能在七段數碼管上顯示的字型碼。搶答完畢,數碼管上顯示搶答選手號碼表示搶答成功并開始倒計時。
根據此設計思路,系統軟件設計流程圖如圖3所示。系統采用Keil軟件參照軟件流程圖編寫匯編語言。以顯示模塊為例,相應程序段如下:
DISPLAY:MOV DPTR,#DAT1;
查表顯示程序,P0.0~P0.6段選,P2.0~P2.2位選;
MOV A,R5
MOVC A,@A+DPTR
MOV P2,#01H
MOV P0,A
ACALL DELAY
MOV DPTR,#DAT2
MOV A,R4
MOVC A,@A+DPTR
MOV P2,#02H
MOV P0,A
ACALL DELAY
基于Proteus的系統仿真
Proteus軟件不僅能仿真單片機的工作情況,還能仿真單片機外圍電路或沒有單片機參與的其他電路的工作情況。本設計經仿真后,實現了預期的搶答器的功能。
搶答成功模塊
圖4顯示4號選手搶答成功,并且答題時間還剩余52秒,當答題時間還剩5秒內時,會有蜂鳴警報。
非法搶答模塊
圖5顯示的是1號選手在主持人未按下開始鍵下的非法搶答,此時數碼管上不停的閃爍并伴有蜂鳴警報。
時間調整模塊
圖6顯示通過“加一”或“減一”鍵來調整搶答時間和答題時間的時間,此時在數碼管上顯示的為時間設置成58秒。
復位模塊
圖7顯示剛開始工作以及復位后,數碼管上顯示初始狀態“FFF”。本設計采用了硬件復位和軟件復位兩種方式:在只采用系統默認的搶答時間和答題時間時,2種復位都能達到所需求的目的;當已經重新設置過倒計時時間時,需要應用軟件復位,其只是執行命令后跳轉,對片內通用寄存器的內容沒有影響。而硬件復位會使專用寄存器的狀態初始化。
硬件實現
在Proteus仿真實現預定目標的基礎上,將單片機AT89C51、復位電路、蜂鳴器電路、顯示電路、按鍵電路和電源電路進行焊接,制作完成的4路搶答器如圖8所示。
結語
本設計以實際電路作為最終成果形式,實現了預期的搶答、倒計時、報警等各項功能,可適用于一般的競賽場合,具有一定的實用價值。此外,本設計具有較強的擴展性,如自動控制記分器進行記分,并通過串行口與PC機通信,用PC機統計選手得分情況,實現智能化、公平、公正的搶答,減小人為因素的影響。也可將搶答按鍵采用無線設備實現,如紅外線,使搶答選手可以遠距離地進行搶答,簡化按鍵模塊的線路布置。
參考文獻:
[1] 王海燕,楊艷華.Proteus和Keil軟件在單片機實驗教學中的應用[J].實驗室研究與探索,2012,(05)
[2] 周立功.單片機實驗與實踐[M].北京:北京航空航天大學出版社,2004
[3] 孫凌燕,黃允千.Proteu與Keil軟件的整合在單片機實驗開發中的應用[J].實驗室研究與探索,2008,(4)
[4] 鄒顯圣.基于單片機控制的智能搶答器研究[J].電子設計工程,2011,(7)
[5] 潘霖.基于單片機控制的搶答器設計[J].大眾科技,2012,(07)
[6] 張建平.單片機多路搶答器[J].無線電,2008(3)
[7] 王冬梅,張建秋.基于單片機的八路搶答器設計與實現[J].佳木斯大學學報(自然科學版),2009(05)
[8] 吳迅,盧洪武.應用單片機的八路搶答器的設計[J].電子世界,2008(11)
[9] 張靖武,周靈彬.單片機系統的Proteus設計與仿真[M].北京:電子工業出版社,2007.
[10] 謝道平.基于Proteus仿真的單片機多功能智能搶答器的設計[J].長春大學學報,2011(10)
[11] 周功明,周陳琛.基于單片機AT89C2051的九路多功能智力競賽搶答器的設計[J].儀器與儀表,2006(20)