搶答器的設(shè)計與制作_第1頁
搶答器的設(shè)計與制作_第2頁
搶答器的設(shè)計與制作_第3頁
搶答器的設(shè)計與制作_第4頁
搶答器的設(shè)計與制作_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

..搶答器的設(shè)計與制作[摘要]文章介紹了一種單片機控制的智能化搶答器,該搶答器可克服普通搶答器存在的缺陷。詳細介紹了其硬件結(jié)構(gòu)和軟件設(shè)計方法。設(shè)計了一種以單片機AT89C51為核心的四路搶答器,從硬件和軟件兩方面詳細介紹了搶答器的設(shè)計方法,結(jié)合Proteus軟件的仿真結(jié)果,根據(jù)電路圖焊接實物,軟件仿真及硬件調(diào)試結(jié)果表明,該搶答器的設(shè)計實現(xiàn)了預(yù)期的目標。[關(guān)鍵詞]搶答器;有效搶答;違規(guī)搶答;單片機AbstractThispaperintroducesamicroprocessorcontrolledintelligentResponder,theResponderRespondercanovercomethecommondefects.Detailsoftheirhardwareandsoftwaredesignmethods.DesignedamicrocontrollerAT89C51asthecoreoffourResponder,bothfromthehardwareandsoftwaredescribedindetailResponderdesignapproach,combinedwiththesimulationresultsProteussoftware,accordingtothecircuitdiagramweldingkind,softwaresimulationandhardwaredebuggingresultsshowthattheResponderisdesignedtoachievethedesiredobjectives.KeywordsResponder;effectiveanswer;violationResponder;SCM目錄搶答器的設(shè)計與制作1引言2一、搶答器的組成與原理21.1電路組成與原理31.2主體電路的功能31.3控制系統(tǒng)的工作原理4二、總體設(shè)計42.1設(shè)計需求42.2搶答器的工作原理42.3硬件設(shè)計52.4顯示模塊62.5按鍵輸入模塊62.6蜂鳴提示模塊62.7復(fù)位模塊7三、軟件設(shè)計73.1違規(guī)搶答信號的記錄73.2第一有效搶答信號的識別及處理83.3多個第一有效搶答信號的處理83.4中斷9四、基于Proteus的系統(tǒng)仿真104.1搶答成功模塊104.2非法搶答模塊104.3復(fù)位模塊104.4硬件實現(xiàn)11五、結(jié)論11參考文獻12引言單片機的使用領(lǐng)域已十分廣泛,如智能儀表、實時工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等"智能型"工業(yè)產(chǎn)品。在知識競賽搶答中,簡單電路設(shè)計的搶答器,只靠人的能力很難判斷出哪一組先搶答,且故障率高、體積大應(yīng)用不方便。利用單片機編程設(shè)計搶答器,能輕松地分辨出搶答的次序,且具有體積小、故障率低的優(yōu)點。一、搶答器的組成與原理搶答器又稱第一信號鑒別器,應(yīng)用于各種知識競賽、文娛活動等場合。普通搶答器存在以下缺陷:1在一次搶答過程中,當出現(xiàn)超前違規(guī)搶答時,只能處理違規(guī)搶答信號,而對沒有違規(guī)的有效搶答信號不能進行處理。因而,使該次搶答過程變?yōu)闊o效。2當有多個違規(guī)搶答時,普通搶答器只能"抓住"其中一個,出現(xiàn)"漏洞"。3當同時出現(xiàn)多個有效搶答信號時,普通搶答器或采用優(yōu)先編碼電路選擇其中一個;或利用搶答電路電子元件的"競爭"選擇其中一個。對于后者,由于搶答電路制作完畢后電子元件被固定,各路搶答信號的"競爭"能力也被固定,因而本質(zhì)上也具有優(yōu)先權(quán)。普通搶答器因而存在不公平性。搶答器是各種智力競賽中必不可少的一種硬件設(shè)備。實現(xiàn)搶答器的方式有多種多樣,傳統(tǒng)的搶答器普遍采用模擬電路、數(shù)字電路或者模數(shù)混合電路來設(shè)計。這類搶答器所需元器件比較多,隨著功能增多,電路也越復(fù)雜,并且成本偏高,故障率高,操作不方便,不便于參數(shù)調(diào)節(jié)及功能的升級換代。本文介紹一種以單片機為控制核心的智能型搶答器,它對采樣獲得的各路搶答信號進行分析,識別超前違規(guī)信號、有效搶答信號,并對它們進行處理。使每一次搶答過程都有效。利用存儲器記憶多個違規(guī)信號,克服"漏洞"現(xiàn)象。當同時出現(xiàn)多個搶答信號時,利用程序軟件,隨機選擇其中一個,十分公平。具有倒計時、驗鍵、違規(guī)顯示等功能。本文采用AT89C51為核心,結(jié)合鍵盤、數(shù)碼管、蜂鳴器等外圍設(shè)備,設(shè)計了具有搶答、計時、時間調(diào)整、蜂鳴器報警等功能的4路搶答器。1.1電路組成與原理硬件電路原理圖見圖1。采用AT89C51單片機作為控制核心。AN0~AN7為8個搶答鍵,P0.0~P0.7為8路搶答信號輸入端,當有搶答鍵按下時,對應(yīng)的輸入端為低電平"0",反之為高電平"1"。AN8為搶答啟動鍵,在搶答開始時,按動一下AN8鍵,向單片機申請一次INT0中斷,單片機在中斷服務(wù)程序中對搶答信號進行采樣和識別處理。采用二位LED共陰數(shù)碼管以動態(tài)掃描方式對搶答鍵號、違規(guī)搶答鍵號、倒計時時間等信息進行顯示。倒計時時間由選擇開關(guān)K2進行選擇,本設(shè)計共有4個時間檔供選擇<15秒、30秒、60秒、90秒>。AN10為違規(guī)顯示鍵,按動AN10鍵,可對一次搶答過程中出現(xiàn)的所有超前違規(guī)搶答的鍵號進行顯示。K1為驗鍵功能選擇開關(guān),當需要驗鍵時,將K1閉合,可檢驗各搶答鍵能否正常工作,驗鍵完畢,將K1打開。LED1為違規(guī)指示燈,當一次搶答過程存在違規(guī)搶答信號時,LED1發(fā)光指示。1.2主體電路的功能一是分辨出選手按鍵的先后,并鎖存優(yōu)先搶答者的編號,同時譯碼顯示電路顯示編號;二是禁止其他選手按鍵操作無效。工作過程:開關(guān)S置于清除端時,RS觸發(fā)器的端均為0,4個觸發(fā)器輸出置0,使74LS148的=0,使之處于工作狀態(tài)。當開關(guān)S置于"開始"時,搶答器處于等待工作狀態(tài),當有選手將鍵按下時〔如按下S5,74LS148的輸出經(jīng)RS鎖存后,1Q=1,=1,74LS48處于工作狀態(tài),4Q3Q2Q=101,經(jīng)譯碼顯示為5。此外,1Q=1,使74LS148=1,處于禁止狀態(tài),封鎖其他按鍵的輸入。當按鍵松開即按下時,74LS148的此時由于仍為1Q=1,所以74LS148仍處于禁止狀態(tài),確保不會出二次按鍵時輸入信號,保證了搶答者的優(yōu)先性。如有再次搶答需由主持人將S開關(guān)重新置"清除"然后再進行下一輪搶答??深A(yù)置時間的定時電路;由節(jié)目主持人根據(jù)搶答題的難易程度,設(shè)定一次搶答的時間,通過預(yù)置時間電路對計數(shù)器進行預(yù)置,計數(shù)器的時鐘脈沖由秒脈沖電路提供??深A(yù)置時間的電路選用十進制同步加減計數(shù)器74LS192進行設(shè)計。1.3控制系統(tǒng)的工作原理當主持人按下RESET鍵時,智能搶答器系統(tǒng)立即完成復(fù)位操作,此時搶答器進入正常的工作狀態(tài)〔等待選手按鍵;當主持人宣布搶答開始時,參賽選手開始進行搶答按鍵操作,當其中的某一個選手成功按下?lián)尨疰I時〔例如S4按鍵被按下,AT89C51單片機P0口對應(yīng)的口線P0.3就由高電平變?yōu)榈碗娖?。當CPU檢測到該口線為低電平時,將P1.0口線由原來的高電平狀態(tài)切換為低電平狀態(tài),發(fā)光二極管DS1亮,同時P1.7口線也由原來的高電平狀態(tài)切換為低電平狀態(tài),蜂鳴器B1發(fā)出響聲,提示主持人和現(xiàn)場觀眾已經(jīng)有選手成功地實現(xiàn)了搶答操作。與此同時,CPU立即將成功進行搶答操作的選手編號通過P2口進行輸出,將選手的編號顯示在由七段數(shù)碼管構(gòu)成的選手編號指示器上。這樣一來無論是參賽選手、現(xiàn)場觀眾,還是主持人都會很清楚地觀察到成功實現(xiàn)搶答操作的選手的編號,進而由該選手進行現(xiàn)場答題。二、總體設(shè)計2.1設(shè)計需求按照設(shè)計需求,本系統(tǒng)具有以下幾個主要功能:〔1搶答器可同時供4名選手或四支參賽隊伍使用;〔2搶答或回答時間主持人可自行設(shè)置;〔3能夠顯示搶答或答題時間的倒計時;〔4在有人犯規(guī)時可以顯示選手號、閃爍顯示以及蜂鳴器報警;〔5答題時間還剩5s時,蜂鳴器報警提示。2.2搶答器的工作原理利用單片機控制各個功能模塊實現(xiàn)搶答功能,單片機收集選手的搶答信號,運用寄存器來識別并記錄第一個選手號,傳輸信息給數(shù)碼管顯示,同時內(nèi)部定時器工作,記錄有關(guān)時間并產(chǎn)生超時信號,在搶答成功、倒計時結(jié)束都伴隨有蜂鳴器警報提醒,從而實現(xiàn)單片機搶答的功能。根據(jù)設(shè)計需求,結(jié)合單片機的作原理,設(shè)計搶答器的工作流程圖如下圖所示。2.3硬件設(shè)計在硬件設(shè)計方面利用單片機AT89C51控制搶答模塊、顯示模塊、計時及調(diào)整模塊、蜂鳴提示模塊和復(fù)位模塊,從而實現(xiàn)單片機的搶答。系統(tǒng)硬件設(shè)計原理圖如下圖所示。上圖中U1為單片機AT89C51,K1~K4分別為4路搶答按鈕,分別接到p1.0到p1.3中;開始鍵和結(jié)束鍵分別接到單片機的10、11腳,由于單片機的10、11腳既有串行接口RXD、TXD功能又有P3.0、P3.1的IO端口功能,此處按鍵用到單片機10、11腳的IO端口功能。搶答時間調(diào)整按鍵和回答時間調(diào)整按鍵分別接到單片機的13,14管腳,"加一"按鍵和"減一"按鍵分別接到單片機的15、16管腳。4位七段數(shù)碼管段選接P0口,位選接P2口的低3位,蜂鳴器輸出信號端接P3.7口。2.4顯示模塊顯示模塊采用常見的4位七段共陽數(shù)碼管,利用其動態(tài)顯示的方法來實現(xiàn)。數(shù)碼管的7個輸入端A~G段分別接到AT89C51的P0.0~P0.6,位選碼COM1、COM3、COM4分別接到單片機P2.0、P2.1、P2.2,由單片機來決定當前該顯示的是哪一位。由于AT89C51單片機的P0口沒有內(nèi)置上拉電阻,本系統(tǒng)采用外接10kΩ上拉電阻〔采用A103排阻,保證P0口沒有數(shù)據(jù)輸出的時候是處于高電平狀態(tài)。2.5按鍵輸入模塊搶答器的輸入信號采用11個按鍵控制,其中4個為搶答按鍵、4個為倒計時調(diào)整按鍵、1個開始按鍵、1個結(jié)束按鍵和1個復(fù)位按鍵。各按鍵均有一根信號線與單片機電路相連,所有按鍵有一公共端,各按鍵相互獨立互不影響。當有鍵按下時,相應(yīng)的單片機引腳做出反應(yīng),產(chǎn)生有效的輸入信號。2.6蜂鳴提示模塊本設(shè)計中利用AT89C51的16引腳經(jīng)驅(qū)動器驅(qū)動蜂鳴器發(fā)聲。壓電式蜂鳴器約需10mA的驅(qū)動電流,可以采用三極管的電流放大作用驅(qū)動蜂鳴器實現(xiàn)發(fā)聲提示。2.7復(fù)位模塊復(fù)位模塊由復(fù)位鍵、電阻R1以及電解電容C3構(gòu)成。由于單片機是高電平復(fù)位,所以當復(fù)位鍵按下時單片機9腳RESET管腳處于高電平,此時單片機處于復(fù)位狀態(tài),當上電后,由于電容的緩慢充電,單片機的9腳電壓逐步由高向低轉(zhuǎn)化,經(jīng)過一段時間后,單片機的9腳處于穩(wěn)定的低電平狀態(tài),此時單片機上電復(fù)位完畢,系統(tǒng)程序從0000H開始執(zhí)行。本設(shè)計中使用了硬件復(fù)位和軟件復(fù)位兩個功能。硬件復(fù)位后各個狀態(tài)、寄存器以及存儲器的值都恢復(fù)到了初始值。調(diào)整搶答和回答倒計時時間,需要記憶功能,故采用軟復(fù)位,當程序執(zhí)行完畢后,跳轉(zhuǎn)指令將程序跳轉(zhuǎn)到程序執(zhí)行的起始地址。三、軟件設(shè)計系統(tǒng)軟件由主程序和INT0中斷服務(wù)程序組成。主程序由驗鍵、違規(guī)顯示、倒計時等功能子程序組成。系統(tǒng)完成初始化后,循環(huán)檢查各個功能,當用戶使用某個功能時,按下相應(yīng)的按鈕〔或開關(guān),單片機進入相應(yīng)的功能處理。INT0中斷服務(wù)程序完成搶答信號采樣和識別處理。主程序框圖見下圖。3.1違規(guī)搶答信號的記錄搶答開始按動AN8鍵,單片機進入INT0中斷服務(wù)程序。先采樣P0口,并將采樣值送入工作寄存器R0,使LED顯示"HH"字形,提示搶答開始。顯然,R0中寄存了搶答開始前最后一瞬間各路搶答輸入信號。若無違規(guī)搶答,R0值為FFH;若有違規(guī)搶答,R0值不為FFH,R0中為0的位對應(yīng)的搶答鍵屬違規(guī)。若R0=10111110B,表示AN0和AN6二路搶答鍵違規(guī);出現(xiàn)R0=00H時,表示八路搶答全部違規(guī),LED顯示"UU",并發(fā)出音響,延時5秒后返回主程序,需重新?lián)尨?。所謂"有效搶答信號"是指從LED顯示"HH"字形提示搶答開始之后的搶答信號。在搶答提示之前的搶答信號屬于"違規(guī)信號",最先到達的有效搶答信號稱為"第一有效搶答信號"。3.2第一有效搶答信號的識別及處理搶答提示之后,單片機再采樣P0口,用于檢測搶答信號。將采樣值送入工作寄存器R1,若R1值為FFH表示還無人搶答,繼續(xù)采樣P0口;若R1值不為FFH,表示有人按下?lián)尨疰I。但還應(yīng)判斷是否由違規(guī)搶答所導(dǎo)致,這只需將R1值與R0值進行比較,若R1與R0值相同,表示是由違規(guī)搶答所導(dǎo)致,則繼續(xù)采樣P0口;若R1與R0值不相同,則表示存在有效搶答,不再采樣P0口。此時,R1中含有第一有效搶答信號。為了提取R1中第一有效搶答信號,拋棄其中的違規(guī)搶答信號,可進行如下處理:將R0與R1相"異或"再與R0相"與"。并將運算結(jié)果送工作寄存器R2,即<R0⊕R1>·R0→R2經(jīng)上述邏輯運算可知:若搶答鍵ANi<i=0,1,2,…,7>產(chǎn)生第一有效搶答信號,則R2中第i位為1<R2.i=1>。若R2值為0表示無有效搶答信號。表1為搶答過程中可能出現(xiàn)的4種搶答信號處理過程。<R2=<R0⊕R1>·R0,i=0,1,2,…,7>3.3多個第一有效搶答信號的處理在搶答過程中,往往會出現(xiàn)多個搶答鍵同時按下,或者時間差非常短,單片機無法識別它們之間的時間差。此時,R2中會出現(xiàn)多個為1的位。即出現(xiàn)多個第一有效搶答信號。但每次搶答過程只能輸出顯示一個第一有效搶答信號。公正處理這個問題的方法是隨機地挑選其中一個。本設(shè)計采用一種隨機定位查找方法:將R2中各位的查找順序排成一個環(huán),如圖4所示。然后找出一個隨機數(shù)x,從第x位開始按上述查找順序環(huán)規(guī)定的查找順序查找R2中為1的位,第一個被找到值為1的位,其對應(yīng)的搶答信號作為被選擇的第一有效搶答信號。本設(shè)計搶答鍵的數(shù)目為8個,隨機數(shù)x可選擇為0~7。例如,假設(shè)x=3,R2=01010001B,即出現(xiàn)三個第一有效搶答信號<對應(yīng)AN6、AN4、AN0三個鍵>,根據(jù)上述方法,則從D3位開始查找,第一個被找到為1的位是D4,因而搶答鍵AN4被選中。搶答器要求有計時記憶功能,一次時間設(shè)置完,復(fù)位后不需重新進行時間設(shè)定,選手通過鍵盤按鍵進行搶答,再通過單片機將其轉(zhuǎn)換成能在七段數(shù)碼管上顯示的字型碼。搶答完畢,數(shù)碼管上顯示搶答選手號碼表示搶答成功并開始倒計時。根據(jù)此設(shè)計思路,系統(tǒng)軟件設(shè)計流程圖如圖3所示。系統(tǒng)采用Keil軟件參照軟件流程圖編寫匯編語言。以顯示模塊為例,相應(yīng)程序段如下:DISPLAY:MOVDPTR,#DAT1;查表顯示程序,P0.0~P0.6段選,P2.0~P2.2位選;MOVA,R5MOVCA,A+DPTRMOVP2,#01HMOVP0,AACALLDELAYMOVDPTR,#DAT2MOVA,R4MOVCA,A+DPTRMOVP2,#02HMOVP0,AACALLDELAYMOVA,R3MOVCA,A+DPTRMOVP2,#04HMOVP0,AACALLDELAYRETDAT1:DB00H,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H;DAT2:DB3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,00H,71H71H;3.4中斷中斷是指由于某種隨機事件的發(fā)生,計算機暫?,F(xiàn)行程序的運行,轉(zhuǎn)去執(zhí)行另一個程序,以處理發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運行。有5種中斷源:外部中斷0、外部中斷1、定時器中斷0、定時器中斷1、串行中斷。對它們的描述見表。<2>中斷允許控制寄存器IE:對中斷源的開放或屏蔽是由中斷寄存器IE控制的,地址為0A8H,既可以按字節(jié)尋址,也可以按位尋址。當單片機復(fù)位時,IE被清零。<3>串行控制寄存器SCON:定時/計數(shù)器的控制方法,在啟動定時/計數(shù)器工作之前,CPU必須將一些命令<稱為控制字>寫入定時/計數(shù)器中,這個過程稱為定時/計數(shù)的初始化。定時/計數(shù)器的初始化通過定時/計數(shù)器的方式,由寄存器TMOD和控制寄存器TCON來完成。①定時/計數(shù)器方式寄存器TMOD②中斷程序的編寫步驟:根據(jù)要求設(shè)置IE<中斷允許寄存器>的對應(yīng)位EA<EA—總中斷允許位:EA=1,開放所有的中斷;EA=0,禁止所有的中斷>,某個中斷源還有相應(yīng)的中斷允許位。<4>INT0,INT1設(shè)定觸發(fā)方式IT0<外部中斷觸發(fā)方式控制位>當其為0時:低電平觸發(fā);當其為1時:下降沿觸發(fā)。<5>返回值是Void中斷函數(shù)名<interrupt>。四、基于Proteus的系統(tǒng)仿真Proteus軟件不僅能仿真單片機的工作情況,還能仿真單片機外圍電路或沒有單片機參與的其他電路的工作情況。本設(shè)計經(jīng)仿真后,實現(xiàn)了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論