基于單片機的多功能搶答器設(shè)計
蜂鳴提示模塊
本文引用地址:http://www.2s4d.com/article/203228.htm本設(shè)計中利用AT89C51的16引腳經(jīng)驅(qū)動器驅(qū)動蜂鳴器發(fā)聲。壓電式蜂鳴器約需10mA的驅(qū)動電流,可以采用三極管的電流放大作用驅(qū)動蜂鳴器實現(xiàn)發(fā)聲提示。
復(fù)位模塊
復(fù)位模塊由復(fù)位鍵、電阻R1以及電解電容C3構(gòu)成。由于單片機是高電平復(fù)位,所以當(dāng)復(fù)位鍵按下時單片機9腳RESET管腳處于高電平,此時單片機處于復(fù)位狀態(tài),當(dāng)上電后,由于電容的緩慢充電,單片機的9腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時間后,單片機的9腳處于穩(wěn)定的低電平狀態(tài),此時單片機上電復(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)行搶答,再通過單片機將其轉(zhuǎn)換成能在七段數(shù)碼管上顯示的字型碼。搶答完畢,數(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:DB 00H, 06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H;
DAT2:DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H 71H;
基于Proteus的系統(tǒng)仿真
Proteus軟件不僅能仿真單片機的工作情況,還能仿真單片機外圍電路或沒有單片機參與的其他電路的工作情況。本設(shè)計經(jīng)仿真后,實現(xiàn)了預(yù)期的搶答器的功能。
搶答成功模塊
圖4顯示4號選手搶答成功,并且答題時間還剩余52秒,當(dāng)答題時間還剩5秒內(nèi)時,會有蜂鳴警報。
51單片機相關(guān)文章:51單片機教程
蜂鳴器相關(guān)文章:蜂鳴器原理 上拉電阻相關(guān)文章:上拉電阻原理 激光器相關(guān)文章:激光器原理
評論