薛春玲++蔡曉艷
文章編號: 10055630(2014)02015605
收稿日期: 20131114
基金項目: 鄭州市嵌入式系統(tǒng)應(yīng)用技術(shù)重點實驗室建設(shè)項目(121PYFZX177)
摘要: 目前市場上的智力競賽搶答器已經(jīng)相當成熟,但由很多電路組成,線路復(fù)雜,可靠性不高,功能也比較簡單,特別是搶答器路數(shù)很多時,實現(xiàn)起來比較困難。因此設(shè)計以單片機為核心的新型智能搶答器,利用AT89S52單片機及外圍接口實現(xiàn)搶答系統(tǒng),結(jié)合單片機的定時器/計數(shù)器的功能,將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠正確地進行計時,使數(shù)碼管能夠正確地顯示時間。所設(shè)計的系統(tǒng)具有反應(yīng)快、操作簡單、實用性強的特點。
關(guān)鍵詞: 搶答器; AT89S52單片機; 設(shè)計
中圖分類號: TN 710文獻標志碼: Adoi: 10.3969/j.issn.10055630.2014.02.014
Design of eightway rushanswer system based on
AT89S52 singlechip microcomputer
XUE Chunling, CAI Xiaoyan
(Huanghe Science and Technology College, Zhengzhou 450063, China)
Abstract: The rushanswer system for quiz has been quite mature in the market at present, but it is composed of many complex circuits, the reliability is not stable and the function is simpler. It is more difficult to implement when the system involves multichannel. So we designed a new intelligent rushanswer system based on singlechip microcomputer, which uses AT89S52 singlechip microcomputer and peripheral interface. This system combined the software and hardware organically with singlechip microcomputer timer/counter, which enables the system to time accurately and the digital tube to display the time correctly, at the same time, it has many characteristics like quick reaction, simple operation, and strong practicability.
Key words: rushanswer system; AT89S52 singlechip microcomputer; design
引言搶答器是一種應(yīng)用非常廣泛的設(shè)備,在各種競賽中,能迅速、客觀、公正地給出最先搶答的選手。答題一般分為必答和搶答兩種,必答有時間限制,到時要告警;搶答則要求參賽者做好充分準備,由主持人宣讀完題目后,參賽者開始搶答,誰先按下按鈕,就由誰答題。針對目前市場上搶答器電路復(fù)雜,功能簡單等問題,設(shè)計了基于AT89S52單片機的8路搶答器,該搶答器電路簡單,制作方便,操作簡單,性能可靠,適用于多種智力競賽活動[1]。該搶答器能供8人使用,它主要實現(xiàn)以下功能:(1)為8位參賽選手各提供一個搶答按鈕,分別編號S1,S2,S3,S4,S5,S6,S7,S8;(2)電路具有清零和搶答開關(guān);(3)電路具有鎖存和顯示功能;(4)電路具有定時搶答和報警功能。搶答器設(shè)計基本滿足了實際比賽應(yīng)用中的各種需要。圖1搶答器系統(tǒng)設(shè)計框圖
Fig.1Rushanswer system design diagram1搶答器系統(tǒng)總體設(shè)計采用AT89S52單片機為核心控制元件,發(fā)光二極管、數(shù)碼管、蜂鳴器等構(gòu)成8路搶答器,利用了單片機的延時電路、按鍵時鐘電路、復(fù)位電路、報警電路、顯示電路、控制電路和搶答電路。設(shè)計的搶答器具有實時顯示搶答選手的號碼和搶答時間,重新開始新一輪搶答競賽的特點,同時利用C語言編程,使其實現(xiàn)一些基本的功能。搶答器系統(tǒng)設(shè)計框圖如圖1所示。光學(xué)儀器第36卷
第2期薛春玲,等:基于AT89S52單片機的8路搶答器的設(shè)計
2系統(tǒng)硬件設(shè)計系統(tǒng)采用單片機作為整個控制核心,其四個模塊分別為:顯示模塊、控制模塊、報警模塊和搶答模塊[2]。工作時,該系統(tǒng)通過矩陣鍵盤輸入搶答信號,經(jīng)單片機的處理,輸出控制信號,利用一個4位數(shù)碼管來完成顯示功能并伴隨蜂鳴器報警,用按鍵來讓選手進行搶答,在數(shù)碼管上顯示哪一組先答題的,從而實現(xiàn)整個搶答過程。當主持人按下開始鍵時,向單片機P3.2引腳輸入一個低電平信號,表示整個電路開始工作,此時數(shù)碼管前兩位顯示選手編號(無人搶答顯示00),后兩位顯示倒計時剩余時間。若在25 s內(nèi)仍然無人搶答,蜂鳴器在最后5 s發(fā)出連續(xù)報警,提示搶答時間即將結(jié)束;若在30 s內(nèi)有人搶答,并且搶答成功,則將選手編號顯示在數(shù)碼管前兩位上,后兩位顯示搶答剩余時間,同時蜂鳴器發(fā)出一聲報警,提示其他沒有搶答的選手此題已被人搶答成功。若在搶答過程中遇到特殊情況,主持人則可以通過時間加,時間減按鍵來進行時間調(diào)節(jié)。若要開始新一輪搶答,主持人按下復(fù)位鍵再按開始鍵即可。
2.1控制器模塊控制器主要用于各模塊控制對顯示、搶答等。采用ATMEL公司的AT89S52作為系統(tǒng)控制器的CPU方案。單片機算術(shù)運算功能強,軟件編程靈活、自由度大,可以用軟件編程實現(xiàn)各種算法和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點,使其在各個領(lǐng)域應(yīng)用廣泛。
2.2顯示模塊顯示模塊如圖2所示。它包括顯示和驅(qū)動,顯示采用4位7段共陰數(shù)碼管,驅(qū)動用P0的低四位,違規(guī)
圖2顯示與顯示驅(qū)動電路
Fig.2Display and display driver circuit
者編號、搶答30 s倒計時、正常搶答者編號和回答問題時間60 s倒計時,數(shù)碼管采用動態(tài)顯示。驅(qū)動電路P2口,查詢顯示程序利用P0口做段選碼口輸出P2低3位做位選碼輸出,當為低電平則能驅(qū)動數(shù)碼管使其顯示數(shù)字。在+5 V電壓下接10 kΩ的電阻,保證正常壓降。
圖3報警電路
Fig.3Warning circuit
圖4選手搶答電路
Fig.4Rushanswer in the competitor circuit
2.3報警模塊 通過控制不同頻率的矩形脈沖來控制蜂鳴器發(fā)聲[3]。設(shè)計中只需要簡單的提示聲音和稍微顯眼的燈控,有搶答違規(guī),開始搶答,搶答時間結(jié)束和回答時間到的提示聲和亮燈提醒。報警電路如圖3所示。
2.4搶答電路AT89S52的P1口作為選手搶答的輸入按鍵引腳,P1.0至P1.7輪流輸出低電位,給每一個選手編號1至8,當選手按下按鈕時,P1口端口的電平變化從P1口輸入,經(jīng)單片機處理后從P0輸出由數(shù)碼管顯示搶答者編號。選手搶答電路如圖4所示。
2.5搶答器硬件電路圖基于用單片機AT89S52設(shè)計的搶答器思路簡單明了,可操作性強,可靠性高,擴展功能強,能夠完全實現(xiàn)普通搶答器的基本功能。搶答器原理圖如5所示。3軟件設(shè)計
3.1定時中斷模塊搶答器中需要顯示倒計時來提示選手在規(guī)定時間內(nèi)作答,需要有定時中斷模塊。當時間小于6 s時,搶答器需要提供警告,以及當搶答時間結(jié)束時,要關(guān)閉外部中斷,表示搶答結(jié)束,此時再有鍵按下?lián)尨鹌饕膊粫龀龇磻?yīng)。
3.2外部中斷模塊搶答器主要外部中斷來自于選手的搶答,當選手搶答時,搶答器同時判斷被按下的鍵號并顯示在數(shù)碼管之上,然后在數(shù)碼管上顯示剩余時間,同時關(guān)閉中斷,表示搶答結(jié)束,此時再有鍵按下?lián)尨鹌饕膊粫龀龇磻?yīng)。
3.3控制模塊控制模塊主要作用是對搶答器的開始和復(fù)位功能進行控制,主要由主持人來實現(xiàn)其功能[4]。當開始鍵被按下時,搶答器開始正常工作;當搶答器停止工作時,可以按下復(fù)位鍵使搶答器處于初始化狀態(tài)。
3.4報警模塊報警模塊主要作用,一是當時間還剩5 s時,蜂鳴器發(fā)出報警,提示選手搶答時間將要結(jié)束;二是當有選手第一時間搶答成功時發(fā)出報警聲,提示其他選手不必再搶答。
圖5搶答器原理圖
Fig.5Principle diagram of the rushanswer system
3.5主程序模塊主程序主要完成硬件初始化,子程序調(diào)用和程序間的切換,由于本設(shè)計要求搶答器具有開始、復(fù)位、搶答三種方式切換功能[4],所以主程序除了要進行硬件部分的初始化以外還要進行各個程序之間的調(diào)用和切換。主程序流程圖如圖6所示。程序:void main()圖6搶答器主程序流程圖
Fig.6Flow chart of rushanswer
system main program{huang=0;red=0;EA=1;TMOD=0x11;T2CON=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-5000)/256;TL1=(65536-5000)%256;TH2=(65536-50000)/256;TL2=(65536-50000)%256;ET0=1;TR0=0;ET1=1;TR1=1;ET2=1;TR2=0;IT0=1;EX0=1;IT1=1;EX1=1;aa=0;bb=0;shijian=30;while(1){keyscan();}4系統(tǒng)的仿真采用Proteus軟件進行仿真,仿真如圖7所示:
圖7搶答器的Proteus仿真圖
Fig.7Proteus simulation diagram of rushanswer system
5結(jié)論該系統(tǒng)利用AT89S52單片機及外圍接口實現(xiàn)的搶答系統(tǒng),將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠正確地進行計時,同時使數(shù)碼管能夠正確地顯示時間。實際應(yīng)用表明該系統(tǒng)穩(wěn)定可靠,達到了設(shè)計要求。參考文獻:
[1]王冬梅,張建秋.基于單片機的八路搶答器的設(shè)計與實現(xiàn)[J].佳木斯大學(xué)學(xué)報,2009,27(3):350352.
[2]段德功,丁瑩亮.單片機原理及應(yīng)用[M].北京:經(jīng)濟科學(xué)出版社,2010:168200.
[3]李素敏.搶答器的設(shè)計[J].職業(yè),2011(23):123.
[4]鄒顯圣.基于單片機控制的智能搶答器研究[J].電子設(shè)計工程,2011,19(13):138140.
[5]康麗杰,康迪.基于單片機的8路搶答器簡單設(shè)計[J].信息系統(tǒng)工程,2010(2):6061.
[6]宋春華,劉江濤,王貴恩,等.基于單片機控制的數(shù)字搶答器[J].河南機電高等專科學(xué)校學(xué)報,2005,13(5):2829.第36卷第2期2014年4月光學(xué)儀器OPTICAL INSTRUMENTSVol.36, No.2April, 2014
2.5搶答器硬件電路圖基于用單片機AT89S52設(shè)計的搶答器思路簡單明了,可操作性強,可靠性高,擴展功能強,能夠完全實現(xiàn)普通搶答器的基本功能。搶答器原理圖如5所示。3軟件設(shè)計
3.1定時中斷模塊搶答器中需要顯示倒計時來提示選手在規(guī)定時間內(nèi)作答,需要有定時中斷模塊。當時間小于6 s時,搶答器需要提供警告,以及當搶答時間結(jié)束時,要關(guān)閉外部中斷,表示搶答結(jié)束,此時再有鍵按下?lián)尨鹌饕膊粫龀龇磻?yīng)。
3.2外部中斷模塊搶答器主要外部中斷來自于選手的搶答,當選手搶答時,搶答器同時判斷被按下的鍵號并顯示在數(shù)碼管之上,然后在數(shù)碼管上顯示剩余時間,同時關(guān)閉中斷,表示搶答結(jié)束,此時再有鍵按下?lián)尨鹌饕膊粫龀龇磻?yīng)。
3.3控制模塊控制模塊主要作用是對搶答器的開始和復(fù)位功能進行控制,主要由主持人來實現(xiàn)其功能[4]。當開始鍵被按下時,搶答器開始正常工作;當搶答器停止工作時,可以按下復(fù)位鍵使搶答器處于初始化狀態(tài)。
3.4報警模塊報警模塊主要作用,一是當時間還剩5 s時,蜂鳴器發(fā)出報警,提示選手搶答時間將要結(jié)束;二是當有選手第一時間搶答成功時發(fā)出報警聲,提示其他選手不必再搶答。
圖5搶答器原理圖
Fig.5Principle diagram of the rushanswer system
3.5主程序模塊主程序主要完成硬件初始化,子程序調(diào)用和程序間的切換,由于本設(shè)計要求搶答器具有開始、復(fù)位、搶答三種方式切換功能[4],所以主程序除了要進行硬件部分的初始化以外還要進行各個程序之間的調(diào)用和切換。主程序流程圖如圖6所示。程序:void main()圖6搶答器主程序流程圖
Fig.6Flow chart of rushanswer
system main program{huang=0;red=0;EA=1;TMOD=0x11;T2CON=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-5000)/256;TL1=(65536-5000)%256;TH2=(65536-50000)/256;TL2=(65536-50000)%256;ET0=1;TR0=0;ET1=1;TR1=1;ET2=1;TR2=0;IT0=1;EX0=1;IT1=1;EX1=1;aa=0;bb=0;shijian=30;while(1){keyscan();}4系統(tǒng)的仿真采用Proteus軟件進行仿真,仿真如圖7所示:
圖7搶答器的Proteus仿真圖
Fig.7Proteus simulation diagram of rushanswer system
5結(jié)論該系統(tǒng)利用AT89S52單片機及外圍接口實現(xiàn)的搶答系統(tǒng),將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠正確地進行計時,同時使數(shù)碼管能夠正確地顯示時間。實際應(yīng)用表明該系統(tǒng)穩(wěn)定可靠,達到了設(shè)計要求。參考文獻:
[1]王冬梅,張建秋.基于單片機的八路搶答器的設(shè)計與實現(xiàn)[J].佳木斯大學(xué)學(xué)報,2009,27(3):350352.
[2]段德功,丁瑩亮.單片機原理及應(yīng)用[M].北京:經(jīng)濟科學(xué)出版社,2010:168200.
[3]李素敏.搶答器的設(shè)計[J].職業(yè),2011(23):123.
[4]鄒顯圣.基于單片機控制的智能搶答器研究[J].電子設(shè)計工程,2011,19(13):138140.
[5]康麗杰,康迪.基于單片機的8路搶答器簡單設(shè)計[J].信息系統(tǒng)工程,2010(2):6061.
[6]宋春華,劉江濤,王貴恩,等.基于單片機控制的數(shù)字搶答器[J].河南機電高等??茖W(xué)校學(xué)報,2005,13(5):2829.第36卷第2期2014年4月光學(xué)儀器OPTICAL INSTRUMENTSVol.36, No.2April, 2014
2.5搶答器硬件電路圖基于用單片機AT89S52設(shè)計的搶答器思路簡單明了,可操作性強,可靠性高,擴展功能強,能夠完全實現(xiàn)普通搶答器的基本功能。搶答器原理圖如5所示。3軟件設(shè)計
3.1定時中斷模塊搶答器中需要顯示倒計時來提示選手在規(guī)定時間內(nèi)作答,需要有定時中斷模塊。當時間小于6 s時,搶答器需要提供警告,以及當搶答時間結(jié)束時,要關(guān)閉外部中斷,表示搶答結(jié)束,此時再有鍵按下?lián)尨鹌饕膊粫龀龇磻?yīng)。
3.2外部中斷模塊搶答器主要外部中斷來自于選手的搶答,當選手搶答時,搶答器同時判斷被按下的鍵號并顯示在數(shù)碼管之上,然后在數(shù)碼管上顯示剩余時間,同時關(guān)閉中斷,表示搶答結(jié)束,此時再有鍵按下?lián)尨鹌饕膊粫龀龇磻?yīng)。
3.3控制模塊控制模塊主要作用是對搶答器的開始和復(fù)位功能進行控制,主要由主持人來實現(xiàn)其功能[4]。當開始鍵被按下時,搶答器開始正常工作;當搶答器停止工作時,可以按下復(fù)位鍵使搶答器處于初始化狀態(tài)。
3.4報警模塊報警模塊主要作用,一是當時間還剩5 s時,蜂鳴器發(fā)出報警,提示選手搶答時間將要結(jié)束;二是當有選手第一時間搶答成功時發(fā)出報警聲,提示其他選手不必再搶答。
圖5搶答器原理圖
Fig.5Principle diagram of the rushanswer system
3.5主程序模塊主程序主要完成硬件初始化,子程序調(diào)用和程序間的切換,由于本設(shè)計要求搶答器具有開始、復(fù)位、搶答三種方式切換功能[4],所以主程序除了要進行硬件部分的初始化以外還要進行各個程序之間的調(diào)用和切換。主程序流程圖如圖6所示。程序:void main()圖6搶答器主程序流程圖
Fig.6Flow chart of rushanswer
system main program{huang=0;red=0;EA=1;TMOD=0x11;T2CON=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-5000)/256;TL1=(65536-5000)%256;TH2=(65536-50000)/256;TL2=(65536-50000)%256;ET0=1;TR0=0;ET1=1;TR1=1;ET2=1;TR2=0;IT0=1;EX0=1;IT1=1;EX1=1;aa=0;bb=0;shijian=30;while(1){keyscan();}4系統(tǒng)的仿真采用Proteus軟件進行仿真,仿真如圖7所示:
圖7搶答器的Proteus仿真圖
Fig.7Proteus simulation diagram of rushanswer system
5結(jié)論該系統(tǒng)利用AT89S52單片機及外圍接口實現(xiàn)的搶答系統(tǒng),將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠正確地進行計時,同時使數(shù)碼管能夠正確地顯示時間。實際應(yīng)用表明該系統(tǒng)穩(wěn)定可靠,達到了設(shè)計要求。參考文獻:
[1]王冬梅,張建秋.基于單片機的八路搶答器的設(shè)計與實現(xiàn)[J].佳木斯大學(xué)學(xué)報,2009,27(3):350352.
[2]段德功,丁瑩亮.單片機原理及應(yīng)用[M].北京:經(jīng)濟科學(xué)出版社,2010:168200.
[3]李素敏.搶答器的設(shè)計[J].職業(yè),2011(23):123.
[4]鄒顯圣.基于單片機控制的智能搶答器研究[J].電子設(shè)計工程,2011,19(13):138140.
[5]康麗杰,康迪.基于單片機的8路搶答器簡單設(shè)計[J].信息系統(tǒng)工程,2010(2):6061.
[6]宋春華,劉江濤,王貴恩,等.基于單片機控制的數(shù)字搶答器[J].河南機電高等??茖W(xué)校學(xué)報,2005,13(5):2829.第36卷第2期2014年4月光學(xué)儀器OPTICAL INSTRUMENTSVol.36, No.2April, 2014