搶答器的工作原理是采用單片機最小系統(tǒng),用程序查詢方式使動態(tài)顯示倒計時時間并且同時使LED燈亮。主持人按下開始搶答鍵才可以搶答。主持人按下清零開關(guān)重新?lián)尨稹V鞒秩税聪麻_始搶答按紐(P2..1),揚聲器響聲提示,數(shù)碼管30秒倒計時搶答,揚聲器響,30秒內(nèi)有人搶答則顯示該搶答人編號,同時警報響。從而完成一次搶答或者一次知識競賽的任務(wù)。
1.2 競賽搶答器總體框圖 
圖1 總體設(shè)計框圖
第2章 系統(tǒng)硬件設(shè)計2.1 工作原理 通過鍵盤改變搶答的時間,原理與鬧鐘時間的設(shè)定相同,將定時時間的變量置為全局變量后,通過鍵盤掃描程序使每按下一次按鍵,時間加1。同時單片機不斷進行按鍵掃描,當(dāng)參賽選手的按鍵按下時,用于產(chǎn)生時鐘信號的定時計數(shù)器停止計數(shù),同時將選手編號(按鍵號)和搶答時間分別顯示在LED上。
2.2 晶振電路 該晶振電路使用的是內(nèi)部時鐘電路,晶振的頻率為12MHZ,提供89C51的時鐘脈沖使89C51工作。復(fù)位電路使用的是按鍵與上電復(fù)位,復(fù)位電路是單片機初始化,使單片機重新開始執(zhí)行程序。當(dāng)復(fù)位開關(guān)按下RST由低電平變?yōu)楦唠娖剑瑒t程序從頭開始執(zhí)行,在此次課程設(shè)計電路中當(dāng)一個問題結(jié)束主持人后按下復(fù)位開關(guān)后進行下一題的準備。 晶振電路電路圖如下頁圖2所示: 
圖2 晶振電路電路圖
2.3 搶答電路 AT89C51的P1口做一個為選手搶答的輸入按鍵引腳,P1.0至P1.7輪流輸出低電位,給每一個選手編號1至8,當(dāng)選手按下按鈕時,P1口個端口的電平變化從P1口輸入,經(jīng)單片機處理后從P0輸出由LED燈顯示出來此組。 搶答電路電路圖如圖3:
圖3 搶答電路電路圖
2.4 顯示電路 此電路包括顯示和驅(qū)動,顯示采用數(shù)碼管和LED燈,驅(qū)動用P2和P0口,違規(guī)者編號和正常搶答者編號將通過與P0口相連的LED燈顯示出來,搶答30秒倒計時和回答問題時間60秒倒計時由P3口上的數(shù)碼管采用動態(tài)顯示。為了保證LED燈和數(shù)碼管有合適的壓降在連接電路為它們相應(yīng)地串連上了電阻。顯示電路電路圖如圖4: 
圖4 顯示電路電路圖
控制電路的設(shè)計
當(dāng)賽事進行時,提示開始作答和復(fù)位時還需要主持人對搶答器進行控制,其提示是通過揚聲器發(fā)出聲音來實現(xiàn)的。這就需要我們進行控制電路的設(shè)計。其電路圖如圖5:

圖5 控制電路
第3章 系統(tǒng)軟件設(shè)計智力競賽搶答器要求有計時記憶功能,一次時間設(shè)置完,復(fù)位后不需重新進行時間設(shè)定,通過鍵盤掃描輸出按鍵信息,當(dāng)在掃描到有人按下了答題鍵,馬上關(guān)調(diào)用顯示程序、封鎖鍵盤。再通過單片機將它轉(zhuǎn)換成能在七段數(shù)碼管上顯示字型碼。 
圖6 軟件設(shè)計 當(dāng)搶答完畢時,會在數(shù)碼管上顯示搶答者數(shù)字號碼提示以表示搶答成功.在顯示時使用的是七段數(shù)碼管顯示,在本設(shè)計中根據(jù)實際情況采用的是動態(tài)顯示方法.并通過查表法將其在數(shù)碼管上顯示出來,其中P1口為字型碼輸入端,P2口低6位為字選段輸入端.通過查表將字型碼送給7段數(shù)碼管顯示的數(shù)字。軟件去抖動,如果"開始鍵"按下就向下執(zhí)行,否者跳到開始。采用倒計時程序,使其具有倒計時功能。回答倒計時30秒。搶答時間5秒。采用發(fā)聲警報(由于沒有驅(qū)動器,因此就用綠燈換了),起到報警作用。其程序的流程圖如下頁圖7
1、如果想調(diào)節(jié)搶答時間或答題時間,按"搶答時間調(diào)節(jié)"鍵或"答題時間調(diào)節(jié)"鍵進入調(diào)節(jié)狀態(tài),此時會顯示現(xiàn)在設(shè)定的搶答時間或回答時間值,如想加一秒按一下"加1s"鍵,,時間LED上會顯示改變后的時間,調(diào)整范圍為0s~99s,0s時再減1s會跳到99,99s時再加1s會變到02、主持人按搶答“開始"鍵,會有提示音,并立刻進入搶答倒計時(預(yù)設(shè)30s搶答時間),如有選手搶答,會有提示音,并會顯示其號數(shù),所以只有第一個按搶答的選手有效。 3、如倒計時期間,主持人想停止倒計時可以隨時按"停止"按鍵,系統(tǒng)會自動進入準備狀態(tài),等待主持人按"搶答開始"進入下次搶答計時。
第4章 系統(tǒng)軟件仿真
4.1 Proteus軟件仿真 系統(tǒng)仿真還用到了Proteus軟件,可通過仿真可以完全顯示出所設(shè)計系統(tǒng)的功能,對于程序的調(diào)試等有很大的幫助。系統(tǒng)仿真時首先要在使用偉福編譯器,把所寫的程序進行編譯,同時在仿真器里設(shè)置生成hex文件,編譯無錯誤時進行Proteus仿真,加載目標代碼文件打開元器件單片機屬性窗口,在“ProgramFile”欄中添加上面編譯好的目標代碼文件“hh.hex”;在“ClockFrequency”欄中輸入晶振頻率為12MHz。仿真:單擊按鈕,啟動仿真,結(jié)果如下頁圖所示:
4.3 仿真結(jié)果分析
通過電路的仿真,可以看出基于AT89C51單片機控制的搶答器在PROTEUS軟件上很好的實現(xiàn)搶答報警、搶答成功顯示、搶答倒計時等一系列功能。 當(dāng)仿真運行開始時,各個模塊處于初始階段。此時無狀態(tài)顯示,但此時搶答鍵和蜂鳴器都處于開啟狀態(tài),若此時有選手按下?lián)尨疰I,則蜂鳴器會發(fā)出報警聲音,并且在數(shù)碼管上顯示規(guī)范的選手編號。主持人重新按下開始鍵,此時表示搶答正式開始,并且數(shù)碼管顯示倒計時,同時蜂鳴器發(fā)出聲音提醒選手搶答正式開始了。選手搶答成功,同時也進入倒計時答題時間。從仿真的測試結(jié)果來看,此設(shè)計還是能比較好的實現(xiàn)預(yù)期目標。
word格式的文檔下載(程序還有問題,求大神指導(dǎo)修改一下):
http://www.raoushi.com/bbs/dpj-191232-1.html
|