1.2 競(jìng)賽搶答器總體框圖
圖1 總體設(shè)計(jì)框圖
2.1 工作原理
通過(guò)鍵盤改變搶答的時(shí)間,原理與鬧鐘時(shí)間的設(shè)定相同,將定時(shí)時(shí)間的變量置為全局變量后,通過(guò)鍵盤掃描程序使每按下一次按鍵,時(shí)間加1。同時(shí)單片機(jī)不斷進(jìn)行按鍵掃描,當(dāng)參賽選手的按鍵按下時(shí),用于產(chǎn)生時(shí)鐘信號(hào)的定時(shí)計(jì)數(shù)器停止計(jì)數(shù),同時(shí)將選手編號(hào)(按鍵號(hào))和搶答時(shí)間分別顯示在LED上。
2.2 晶振電路
該晶振電路使用的是內(nèi)部時(shí)鐘電路,晶振的頻率為12MHZ,提供89C51的時(shí)鐘脈沖使89C51工作。復(fù)位電路使用的是按鍵與上電復(fù)位,復(fù)位電路是單片機(jī)初始化,使單片機(jī)重新開始執(zhí)行程序。當(dāng)復(fù)位開關(guān)按下RST由低電平變?yōu)楦唠娖剑瑒t程序從頭開始執(zhí)行,在此次課程設(shè)計(jì)電路中當(dāng)一個(gè)問(wèn)題結(jié)束主持人后按下復(fù)位開關(guān)后進(jìn)行下一題的準(zhǔn)備。
晶振電路電路圖如下頁(yè)圖2所示:
圖2 晶振電路電路圖
2.3 搶答電路
AT89C51的P1口做一個(gè)為選手搶答的輸入按鍵引腳,P1.0至P1.7輪流輸出低電位,給每一個(gè)選手編號(hào)1至8,當(dāng)選手按下按鈕時(shí),P1口個(gè)端口的電平變化從P1口輸入,經(jīng)單片機(jī)處理后從P0輸出由LED燈顯示出來(lái)此組。
搶答電路電路圖如圖3:
圖3 搶答電路電路圖
2.4 顯示電路
此電路包括顯示和驅(qū)動(dòng),顯示采用數(shù)碼管和LED燈,驅(qū)動(dòng)用P2和P0口,違規(guī)者編號(hào)和正常搶答者編號(hào)將通過(guò)與P0口相連的LED燈顯示出來(lái),搶答30秒倒計(jì)時(shí)和回答問(wèn)題時(shí)間60秒倒計(jì)時(shí)由P3口上的數(shù)碼管采用動(dòng)態(tài)顯示。為了保證LED燈和數(shù)碼管有合適的壓降在連接電路為它們相應(yīng)地串連上了電阻。顯示電路電路圖如圖4:
圖4 顯示電路電路圖
當(dāng)賽事進(jìn)行時(shí),提示開始作答和復(fù)位時(shí)還需要主持人對(duì)搶答器進(jìn)行控制,其提示是通過(guò)揚(yáng)聲器發(fā)出聲音來(lái)實(shí)現(xiàn)的。這就需要我們進(jìn)行控制電路的設(shè)計(jì)。其電路圖如圖5:
圖5 控制電路
智力競(jìng)賽搶答器要求有計(jì)時(shí)記憶功能,一次時(shí)間設(shè)置完,復(fù)位后不需重新進(jìn)行時(shí)間設(shè)定,通過(guò)鍵盤掃描輸出按鍵信息,當(dāng)在掃描到有人按下了答題鍵,馬上關(guān)調(diào)用顯示程序、封鎖鍵盤。再通過(guò)單片機(jī)將它轉(zhuǎn)換成能在七段數(shù)碼管上顯示字型碼。
圖6 軟件設(shè)計(jì)
當(dāng)搶答完畢時(shí),會(huì)在數(shù)碼管上顯示搶答者數(shù)字號(hào)碼提示以表示搶答成功.在顯示時(shí)使用的是七段數(shù)碼管顯示,在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法.并通過(guò)查表法將其在數(shù)碼管上顯示出來(lái),其中P1口為字型碼輸入端,P2口低6位為字選段輸入端.通過(guò)查表將字型碼送給7段數(shù)碼管顯示的數(shù)字。軟件去抖動(dòng),如果"開始鍵"按下就向下執(zhí)行,否者跳到開始。采用倒計(jì)時(shí)程序,使其具有倒計(jì)時(shí)功能。回答倒計(jì)時(shí)30秒。搶答時(shí)間5秒。采用發(fā)聲警報(bào)(由于沒有驅(qū)動(dòng)器,因此就用綠燈換了),起到報(bào)警作用。其程序的流程圖如下頁(yè)圖7
2、主持人按搶答“開始"鍵,會(huì)有提示音,并立刻進(jìn)入搶答倒計(jì)時(shí)(預(yù)設(shè)30s搶答時(shí)間),如有選手搶答,會(huì)有提示音,并會(huì)顯示其號(hào)數(shù),所以只有第一個(gè)按搶答的選手有效。
3、如倒計(jì)時(shí)期間,主持人想停止倒計(jì)時(shí)可以隨時(shí)按"停止"按鍵,系統(tǒng)會(huì)自動(dòng)進(jìn)入準(zhǔn)備狀態(tài),等待主持人按"搶答開始"進(jìn)入下次搶答計(jì)時(shí)。
4.1 Proteus軟件仿真
系統(tǒng)仿真還用到了Proteus軟件,可通過(guò)仿真可以完全顯示出所設(shè)計(jì)系統(tǒng)的功能,對(duì)于程序的調(diào)試等有很大的幫助。系統(tǒng)仿真時(shí)首先要在使用偉福編譯器,把所寫的程序進(jìn)行編譯,同時(shí)在仿真器里設(shè)置生成hex文件,編譯無(wú)錯(cuò)誤時(shí)進(jìn)行Proteus仿真,加載目標(biāo)代碼文件打開元器件單片機(jī)屬性窗口,在“ProgramFile”欄中添加上面編譯好的目標(biāo)代碼文件“hh.hex”;在“ClockFrequency”欄中輸入晶振頻率為12MHz。仿真:?jiǎn)螕舭粹o,啟動(dòng)仿真,結(jié)果如下頁(yè)圖所示:
4.3 仿真結(jié)果分析
通過(guò)電路的仿真,可以看出基于AT89C51單片機(jī)控制的搶答器在PROTEUS軟件上很好的實(shí)現(xiàn)搶答報(bào)警、搶答成功顯示、搶答倒計(jì)時(shí)等一系列功能。
當(dāng)仿真運(yùn)行開始時(shí),各個(gè)模塊處于初始階段。此時(shí)無(wú)狀態(tài)顯示,但此時(shí)搶答鍵和蜂鳴器都處于開啟狀態(tài),若此時(shí)有選手按下?lián)尨疰I,則蜂鳴器會(huì)發(fā)出報(bào)警聲音,并且在數(shù)碼管上顯示規(guī)范的選手編號(hào)。主持人重新按下開始鍵,此時(shí)表示搶答正式開始,并且數(shù)碼管顯示倒計(jì)時(shí),同時(shí)蜂鳴器發(fā)出聲音提醒選手搶答正式開始了。選手搶答成功,同時(shí)也進(jìn)入倒計(jì)時(shí)答題時(shí)間。從仿真的測(cè)試結(jié)果來(lái)看,此設(shè)計(jì)還是能比較好的實(shí)現(xiàn)預(yù)期目標(biāo)。
歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |