基于單片機的多功能搶答器設計
蜂鳴提示模塊
本文引用地址:http://www.104case.com/article/203228.htm本設計中利用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
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的系統仿真
Proteus軟件不僅能仿真單片機的工作情況,還能仿真單片機外圍電路或沒有單片機參與的其他電路的工作情況。本設計經仿真后,實現了預期的搶答器的功能。
搶答成功模塊
圖4顯示4號選手搶答成功,并且答題時間還剩余52秒,當答題時間還剩5秒內時,會有蜂鳴警報。
51單片機相關文章:51單片機教程
蜂鳴器相關文章:蜂鳴器原理 上拉電阻相關文章:上拉電阻原理 激光器相關文章:激光器原理
評論