單片機(jī)搶答器畢業(yè)設(shè)計
搶答器是各種智力競賽中必不可少的一種硬件設(shè)備。下面是小編整理的單片機(jī)搶答器畢業(yè)設(shè)計,供大家參考!
單片機(jī)搶答器畢業(yè)設(shè)計
實現(xiàn)搶答器的方式有多種多樣,傳統(tǒng)的搶答器普遍采用模擬電路、數(shù)字電路或者模數(shù)混合電路來設(shè)計。這類搶答器所需元器件比較多,隨著功能增多,電路也越復(fù)雜,并且成本偏高,故障率高,操作不方便,不便于參數(shù)調(diào)節(jié)及功能的升級換代。本文采用AT89C51為核心,結(jié)合鍵盤、數(shù)碼管、蜂鳴器等外圍設(shè)備,設(shè)計了具有搶答、計時、時間調(diào)整、蜂鳴器報警等功能的4路搶答器。
總體設(shè)計
設(shè)計需求
按照設(shè)計需求,本系統(tǒng)具有以下幾個主要功能:
(1)搶答器可同時供4名選手或四支參賽隊伍使用;
(2)搶答或回答時間主持人可自行設(shè)置;
(3)能夠顯示搶答或答題時間的倒計時;
(4)在有人犯規(guī)時可以顯示選手號、閃爍顯示以及蜂鳴器報警;
(5)答題時間還剩5s時,蜂鳴器報警提示。
搶答器的工作原理
利用單片機(jī)控制各個功能模塊實現(xiàn)搶答功能,單片機(jī)收集選手的搶答信號,運(yùn)用寄存器來識別并記錄第一個選手號,傳輸信息給數(shù)碼管顯示,同時內(nèi)部定時器工作,記錄有關(guān)時間并產(chǎn)生超時信號,在搶答成功、倒計時結(jié)束都伴隨有蜂鳴器警報提醒,從而實現(xiàn)單片機(jī)搶答的功能。
根據(jù)設(shè)計需求,結(jié)合單片機(jī)的工作原理,設(shè)計搶答器的工作流程圖如圖1所示。
圖1 搶答器的工作流圖
硬件設(shè)計
在硬件設(shè)計方面利用單片機(jī)AT89C51控制搶答模塊、顯示模塊、計時及調(diào)整模塊、蜂鳴提示模塊和復(fù)位模塊,從而實現(xiàn)單片機(jī)的搶答。系統(tǒng)硬件設(shè)計原理圖如圖2所示。
圖2中U1為單片機(jī)AT89C51,K1~K4分別為4路搶答按鈕,分別接到p1.0到p1.3中;開始鍵和結(jié)束鍵分別接到單片機(jī)的10、11腳,由于單片機(jī)的10、11腳既有串行接口RXD、TXD功能又有P3.0、P3.1的IO端口功能,此處按鍵用到單片機(jī)10、11腳的IO端口功能。搶答時間調(diào)整按鍵和回答時間調(diào)整按鍵分別接到單片機(jī)的13,14管腳,“加一”按鍵和“減一”按鍵分別接到單片機(jī)的15、16管腳。4位七段數(shù)碼管段選接P0口,位選接P2口的低3位,蜂鳴器輸出信號端接P3.7口。
圖2 硬件設(shè)計原理圖
顯示模塊
顯示模塊采用常見的4位七段共陽數(shù)碼管,利用其動態(tài)顯示的方法來實現(xiàn)。數(shù)碼管的7個輸入端A~G段分別接到AT89C51的P0.0~P0.6,位選碼COM1、COM3、COM4分別接到單片機(jī)P2.0、P2.1、P2.2,由單片機(jī)來決定當(dāng)前該顯示的是哪一位。由于AT89C51單片機(jī)的P0口沒有內(nèi)置上拉電阻,本系統(tǒng)采用外接10kΩ上拉電阻(采用A103排阻),保證P0口沒有數(shù)據(jù)輸出的時候是處于高電平狀態(tài)。
按鍵輸入模塊
搶答器的輸入信號采用11個按鍵控制,其中4個為搶答按鍵、4個為倒計時調(diào)整按鍵、1個開始按鍵、1個結(jié)束按鍵和1個復(fù)位按鍵。各按鍵均有一根信號線與單片機(jī)電路相連,所有按鍵有一公共端,各按鍵相互獨(dú)立互不影響。當(dāng)有鍵按下時,相應(yīng)的單片機(jī)引腳作出反應(yīng),產(chǎn)生有效的輸入信號。
蜂鳴提示模塊
本設(shè)計中利用AT89C51的16引腳經(jīng)驅(qū)動器驅(qū)動蜂鳴器發(fā)聲。壓電式蜂鳴器約需10mA的驅(qū)動電流,可以采用三極管的電流放大作用驅(qū)動蜂鳴器實現(xiàn)發(fā)聲提示。
復(fù)位模塊
復(fù)位模塊由復(fù)位鍵、電阻R1以及電解電容C3構(gòu)成。由于單片機(jī)是高電平復(fù)位,所以當(dāng)復(fù)位鍵按下時單片機(jī)9腳RESET管腳處于高電平,此時單片機(jī)處于復(fù)位狀態(tài),當(dāng)上電后,由于電容的緩慢充電,單片機(jī)的9腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時間后,單片機(jī)的9腳處于穩(wěn)定的低電平狀態(tài),此時單片機(jī)上電復(fù)位完畢,系統(tǒng)程序從0000H開始執(zhí)行。
本設(shè)計中使用了硬件復(fù)位和軟件復(fù)位兩個功能。硬件復(fù)位后各個狀態(tài)、寄存器以及存儲器的'值都恢復(fù)到了初始值。調(diào)整搶答和回答倒計時時間,需要記憶功能,故采用軟復(fù)位,當(dāng)程序執(zhí)行完畢后,跳轉(zhuǎn)指令將程序跳轉(zhuǎn)到程序執(zhí)行的起始地址。
軟件設(shè)計
搶答器要求有計時記憶功能,一次時間設(shè)置完,復(fù)位后不需重新進(jìn)行時間設(shè)定,選手通過鍵盤按鍵進(jìn)行搶答,再通過單片機(jī)將其轉(zhuǎn)換成能在七段數(shù)碼管上顯示的字型碼。搶答完畢,數(shù)碼管上顯示搶答選手號碼表示搶答成功并開始倒計時。
圖3 軟件設(shè)計流程圖
根據(jù)此設(shè)計思路,系統(tǒng)軟件設(shè)計流程圖如圖3所示。系統(tǒng)采用Keil軟件參照軟件流程圖編寫匯編語言。以顯示模塊為例,相應(yīng)程序段如下:
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
MOV A,R3
MOVC A,@A+DPTR
MOV P2,#04H
MOV P0,A
ACALL DELAY
RET
DAT1
B 00H, 06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H;
DAT2
B 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H 71H;
基于Proteus的系統(tǒng)仿真
Proteus軟件不僅能仿真單片機(jī)的工作情況,還能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其他電路的工作情況。本設(shè)計經(jīng)仿真后,實現(xiàn)了預(yù)期的搶答器的功能。
搶答成功模塊
圖4顯示4號選手搶答成功,并且答題時間還剩余52秒,當(dāng)答題時間還剩5秒內(nèi)時,會有蜂鳴警報。
圖5顯示的是1號選手在主持人未按下開始鍵下的非法搶答,此時數(shù)碼管上不停的閃爍并伴有蜂鳴警報。
時間調(diào)整模塊
圖6顯示通過“加一”或“減一”鍵來調(diào)整搶答時間和答題時間的時間,此時在數(shù)碼管上顯示的為時間設(shè)置成58秒。
復(fù)位模塊
圖7顯示剛開始工作以及復(fù)位后,數(shù)碼管上顯示初始狀態(tài)“FFF”。本設(shè)計采用了硬件復(fù)位和軟件復(fù)位兩種方式:在只采用系統(tǒng)默認(rèn)的搶答時間和答題時間時,2種復(fù)位都能達(dá)到所需求的目的;當(dāng)已經(jīng)重新設(shè)置過倒計時時間時,需要應(yīng)用軟件復(fù)位,其只是執(zhí)行命令后跳轉(zhuǎn),對片內(nèi)通用寄存器的內(nèi)容沒有影響。而硬件復(fù)位會使專用寄存器的狀態(tài)初始化。
硬件實現(xiàn)
在Proteus仿真實現(xiàn)預(yù)定目標(biāo)的基礎(chǔ)上,將單片機(jī)AT89C51、復(fù)位電路、蜂鳴器電路、顯示電路、按鍵電路和電源電路進(jìn)行焊接,制作完成的4路搶答器如圖8所示。
圖8 搶答器實物圖
結(jié)語
本設(shè)計以實際電路作為最終成果形式,實現(xiàn)了預(yù)期的搶答、倒計時、報警等各項功能,可適用于一般的競賽場合,具有一定的實用價值。此外,本設(shè)計具有較強(qiáng)的擴(kuò)展性,如自動控制記分器進(jìn)行記分,并通過串行口與PC機(jī)通信,用PC機(jī)統(tǒng)計選手得分情況,實現(xiàn)智能化、公平、公正的搶答,減小人為因素的影響。也可將搶答按鍵采用無線設(shè)備實現(xiàn),如紅外線,使搶答選手可以遠(yuǎn)距離地進(jìn)行搶答,簡化按鍵模塊的線路布置。
【單片機(jī)搶答器畢業(yè)設(shè)計】相關(guān)文章:
單片機(jī)經(jīng)典畢業(yè)設(shè)計論文11-16