基于單片機(jī)的多功能搶答器設(shè)計(jì)
蜂鳴提示模塊
本文引用地址:http://www.ex-cimer.com/article/203228.htm本設(shè)計(jì)中利用AT89C51的16引腳經(jīng)驅(qū)動器驅(qū)動蜂鳴器發(fā)聲。壓電式蜂鳴器約需10mA的驅(qū)動電流,可以采用三極管的電流放大作用驅(qū)動蜂鳴器實(shí)現(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è)計(jì)中使用了硬件復(fù)位和軟件復(fù)位兩個功能。硬件復(fù)位后各個狀態(tài)、寄存器以及存儲器的值都恢復(fù)到了初始值。調(diào)整搶答和回答倒計(jì)時時間,需要記憶功能,故采用軟復(fù)位,當(dāng)程序執(zhí)行完畢后,跳轉(zhuǎn)指令將程序跳轉(zhuǎn)到程序執(zhí)行的起始地址。
軟件設(shè)計(jì)
搶答器要求有計(jì)時記憶功能,一次時間設(shè)置完,復(fù)位后不需重新進(jìn)行時間設(shè)定,選手通過鍵盤按鍵進(jìn)行搶答,再通過單片機(jī)將其轉(zhuǎn)換成能在七段數(shù)碼管上顯示的字型碼。搶答完畢,數(shù)碼管上顯示搶答選手號碼表示搶答成功并開始倒計(jì)時。
根據(jù)此設(shè)計(jì)思路,系統(tǒng)軟件設(shè)計(jì)流程圖如圖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軟件不僅能仿真單片機(jī)的工作情況,還能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其他電路的工作情況。本設(shè)計(jì)經(jīng)仿真后,實(shí)現(xiàn)了預(yù)期的搶答器的功能。
搶答成功模塊
圖4顯示4號選手搶答成功,并且答題時間還剩余52秒,當(dāng)答題時間還剩5秒內(nèi)時,會有蜂鳴警報。
51單片機(jī)相關(guān)文章:51單片機(jī)教程
蜂鳴器相關(guān)文章:蜂鳴器原理 上拉電阻相關(guān)文章:上拉電阻原理 激光器相關(guān)文章:激光器原理
評論