八路掃描式搶答器設(shè)計(jì)
八路掃描式搶答器設(shè)計(jì),八路,掃描,搶答,設(shè)計(jì)
目 錄
第1節(jié) 引 言 ……………………………………………………………………1
1.1 搶答器的概述 ……………………………………………………………1
1.2 本設(shè)計(jì)主要任務(wù) …………………………………………………………1
1.3 系統(tǒng)主要功能 ……………………………………………………………1
第2節(jié) 系統(tǒng)硬件設(shè)計(jì) ………………………………………………………3
2.1 芯片的選擇 ………………………………………………………………3
2.2 工作原理 …………………………………………………………………3
2.3 系統(tǒng)的硬件構(gòu)成及功能 …………………………………………………3
2.3.1搶答器的電路圖…………………………………………………………3
2.3.2單元電路設(shè)計(jì) ……………………………………………………………5
2.3.3定時(shí)電路設(shè)計(jì) ……………………………………………………………7
2.3.4報(bào)警電路設(shè)計(jì) ……………………………………………………………7
第3節(jié) 系統(tǒng)軟件設(shè)計(jì) …………………………………………………………9
3.1 系統(tǒng)主程序設(shè)計(jì) ………………………………………………………9
3.2 搶答器的源程序 ………………………………………………………9
第4節(jié) 技術(shù)指標(biāo)及故障處理 …………………………………………………20
4.1 主要技術(shù)參數(shù) ………………………………………………………20
4.2 使用說(shuō)明 ……………………………………………………………20
4.3 常見(jiàn)故障 ……………………………………………………………21
結(jié)束語(yǔ)………………………………………………………………………22
參考文獻(xiàn) …………………………………………………………………………23
- 1 -
八路掃描式搶答器
第1節(jié) 引 言
當(dāng)今的社會(huì)競(jìng)爭(zhēng)日益激烈,選拔人才,評(píng)選優(yōu)勝,知識(shí)競(jìng)賽之類(lèi)的活動(dòng)愈加頻繁,那么也就必然離不開(kāi)搶答器。而現(xiàn)在的搶答器有著數(shù)字化,智能化的方向發(fā)展,這就必然提高了搶答器的成本。鑒于現(xiàn)在小規(guī)模的知識(shí)競(jìng)賽越來(lái)越多,操作簡(jiǎn)單,經(jīng)濟(jì)實(shí)用的小型搶答器必將大有市場(chǎng)。本搶答器通過(guò)十分巧妙的設(shè)計(jì)僅用兩塊數(shù)字芯片便實(shí)現(xiàn)了數(shù)顯搶答的功能,與其他搶答器電路相比較有分辨時(shí)間極短、結(jié)構(gòu)清晰,成本低、制作方便等優(yōu)點(diǎn),并且還有防作弊功能。因此,我們制作了這款簡(jiǎn)易八路搶答器屏棄了成本高,體積大,而且操作復(fù)雜。我們采用了數(shù)字顯示器直接指示,自動(dòng)鎖存顯示結(jié)果,并自動(dòng)復(fù)位的設(shè)計(jì)思想,因而本搶答器具有顯示直觀,不需要人干預(yù)的特點(diǎn)。而且在顯示時(shí)搶答器會(huì)發(fā)出叮咚聲使效果更為生動(dòng)。工廠、學(xué)校和電視臺(tái)等單位常舉辦各種智力競(jìng)賽, 搶答記分器是必要設(shè)備。
1.1八路掃描式搶答器的概述
本文介紹的八路數(shù)顯搶答器具有電路簡(jiǎn)單、成本較低、操作方便、靈敏可靠等優(yōu)點(diǎn),經(jīng)使用效果良好, 具有較高的推廣價(jià)值。無(wú)線(xiàn)遙控?fù)尨鹌?,它?個(gè)發(fā)射器和1個(gè)接收器組成,可用于8組或8組以下的智力競(jìng)賽中。比賽前,將參賽組從0至7編號(hào),每組發(fā)給對(duì)應(yīng)的一個(gè)發(fā)射器。將接收器放于各組中央或前方。主持人按一下啟動(dòng)鍵后,搶答開(kāi)始。此后,哪一組最先按下發(fā)射器上的搶答鍵,接收器就立即顯示該組的組號(hào)并鎖定,同時(shí)發(fā)出3次清脆的“叮咚”聲。以后,按下任何一路搶答鍵均不起反映。只有主持人再次按動(dòng)啟動(dòng)鍵后,才能進(jìn)行下一次搶答該電路由直流穩(wěn)壓電源、搶答器、超時(shí)報(bào)警與電子計(jì)分四部分組成。
1.2本設(shè)計(jì)任務(wù)及要求
任務(wù):設(shè)計(jì)一個(gè)供8名選手參加八路掃描式搶答器。
1.3系統(tǒng)主要功能
每名選手有一個(gè)搶答按鈕,按鈕的編號(hào)與選手的編號(hào)相對(duì)應(yīng),搶答器具有第一個(gè)搶答信號(hào)的鑒別和數(shù)據(jù)鎖存、顯示的功能。搶答開(kāi)始后,若有選手按搶答按鈕,剛該選手指示燈亮,并在數(shù)碼管上顯示相應(yīng)編號(hào),揚(yáng)聲器發(fā)出音響提示。同時(shí),電路應(yīng)具備自鎖功能,禁止其他選手再搶答,優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清0 為止。搶答器具有計(jì)分、顯示功能。預(yù)置分?jǐn)?shù)可由主持人設(shè)定,并顯示在每名選手的計(jì)分牌上,選手答對(duì)加10分,答錯(cuò)扣10分。搶答器具有定時(shí)搶答的功能。一次搶答的時(shí)間由主持人設(shè)定,在主持人發(fā)出搶答指令后,定時(shí)器立即進(jìn)行減計(jì)時(shí),并在顯示器上顯示,同時(shí)揚(yáng)聲器發(fā)出短暫聲響,聲響時(shí)間持續(xù)0.5s左右。選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器顯示選手編號(hào)和搶答時(shí)刻的時(shí)間,并保持到主持人將系統(tǒng)清0為止。
第2節(jié) 系統(tǒng)硬件設(shè)計(jì)
2.1芯片的選擇
本設(shè)計(jì)使用到的元器件包括:8051芯片、數(shù)碼LED顯示器、七段LED數(shù)碼管的譯碼。
2.2工作原理
基于這個(gè)設(shè)計(jì)的上述要求,根據(jù)功能要求,須設(shè)計(jì)有搶答電路、譯碼顯示電路、主持人控制電路、定時(shí)電路、報(bào)警電路,各個(gè)電路都有其自己的功能。通過(guò)復(fù)位按鍵FW,電路進(jìn)入就緒狀態(tài),等待搶答。首先由主持人根據(jù)題目的難易程度,可以用“JIA SHI”和“JIAN SHA”兩個(gè)按鍵,設(shè)定時(shí)間在(0S-99S)之間,然后再由主持人發(fā)布搶答命令(按下KS按鍵)同時(shí)發(fā)光二極管隨即變亮,當(dāng)看到二極管亮,進(jìn)入倒計(jì)時(shí)狀態(tài)和搶答狀態(tài)。在電路中“S1-S8”為8路搶答器的8個(gè)按鍵,如果有人按下按鍵,程序就會(huì)判斷是誰(shuí)先按下的,然后從P2口輸出搶答者號(hào)碼的七段碼值,經(jīng)GAL16V8驅(qū)動(dòng),送到碼管顯示,并封鎖鍵盤(pán),保持剛才按鍵按下時(shí)刻的時(shí)間,禁止其他人按鍵的輸入,從而實(shí)現(xiàn)了搶答的功能。如果在設(shè)定的時(shí)間中沒(méi)有一個(gè)人按下按鍵,一到時(shí)間,則產(chǎn)生報(bào)警信號(hào)已經(jīng)超時(shí),不可以搶答。當(dāng)要進(jìn)行下一次的搶答時(shí),由主持人先按一下復(fù)位按鍵FW,電路復(fù)位,進(jìn)入下一次搶答的就緒狀態(tài)。
2.3系統(tǒng)的硬件構(gòu)成及功能
2.3.1 搶答器的電路框圖
???? 如圖11、1所示為電路框圖。其工作原理為:接通電源后,主持人將開(kāi)關(guān)撥到“清除”狀態(tài),搶答器處于禁止?fàn)顟B(tài),編號(hào)顯示器滅燈,定時(shí)器顯示設(shè)定時(shí)間;主持人將開(kāi)關(guān)置,“開(kāi)始”狀態(tài),宣布“開(kāi)始”搶答器工作。定時(shí)器倒計(jì)時(shí),揚(yáng)聲器給出聲響提示。選手在定時(shí)時(shí)間內(nèi)搶答時(shí),搶答器完成:優(yōu)先判斷、編號(hào)鎖存、編號(hào)顯示、揚(yáng)聲器提示。當(dāng)一輪搶答之后,定時(shí)器停止、禁止二次搶答、定時(shí)器顯示剩余時(shí)間。如果再次搶答必須由主持人再次操作"清除"和"開(kāi)始"狀態(tài)開(kāi)關(guān)。
圖11.1搶答器框圖
圖11.2搶答電路的接口電路
2.3.2 單元電路設(shè)計(jì)
(1)搶答器電路
????參考電路如圖11.2所示。該電路完成兩個(gè)功能:一是分辨出選手按鍵的先后,并鎖存優(yōu)先搶答者的編號(hào),同時(shí)譯碼顯示電路顯示編號(hào);二是禁止其他選手按鍵操作無(wú)效。工作過(guò)程:開(kāi)關(guān)S置于“清除”端時(shí),RS觸發(fā)器的 端均為0,4個(gè)觸發(fā)器輸出置0,使74LS148的 =0,使之處于工作狀態(tài)。當(dāng)開(kāi)關(guān)S置于"開(kāi)始"時(shí),搶答器處于等待工作狀態(tài),當(dāng)有選手將鍵按下時(shí)(如按下S5),74LS148的輸出 經(jīng)RS鎖存后,1Q=1, =1,74LS48處于工作狀態(tài),4Q3Q2Q=101,經(jīng)譯碼顯示為"5"。此外,1Q=1,使74LS148 =1,處于禁止?fàn)顟B(tài),封鎖其他按鍵的輸入。當(dāng)按鍵松開(kāi)即按下時(shí),74LS148的 此時(shí)由于仍為1Q=1,使=1,所以74LS148仍處于禁止?fàn)顟B(tài),確保不會(huì)出二次按鍵時(shí)輸入信號(hào),保證了搶答者的優(yōu)先性。如有再次搶答需由主持人將S開(kāi)關(guān)重新置,“清除”然后再進(jìn)行下一輪搶答。74LS148為8線(xiàn)-3線(xiàn)優(yōu)先編碼器,表11、1為其功能表。
圖11.2搶答器電路
表10.1 74LS148的功能真值表
(2)時(shí)序控制電路設(shè)計(jì)
時(shí)序控制電路是搶答器設(shè)計(jì)的關(guān)鍵,它要完成以下功能:
a.主持人將控制開(kāi)關(guān)撥到"開(kāi)始"位置時(shí),揚(yáng)聲器發(fā)聲,搶答電路和定時(shí)電路進(jìn)人正常搶答工作狀態(tài)?! ?
b.當(dāng)參賽選手按動(dòng)搶答鍵時(shí),揚(yáng)聲器發(fā)聲,搶答電路和定時(shí)電路停止工作。
(3)復(fù)位電路的設(shè)計(jì)
當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱(chēng)RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位*作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位*作通常有兩種基本形式:上電復(fù)位和上電或開(kāi)關(guān)復(fù)位。8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見(jiàn)下圖。此外,RESET/Vpd還是一復(fù)用腳,VCC掉電期間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。
2.3.3 定時(shí)電路設(shè)計(jì)
為了達(dá)到搶答的合理性、完整性、可控性,需根據(jù)題目的難易程度的不同設(shè)定相應(yīng)的搶答時(shí)間。所以本設(shè)計(jì)設(shè)置了搶答定時(shí)電路。它包括兩個(gè)按鍵,一個(gè)是加(JIA SHI)、另一個(gè)是減(JIAN SHI),該兩個(gè)按鍵由主持人用于在發(fā)布開(kāi)始命令之前設(shè)定時(shí)間(可以設(shè)定在00S-99S),每按一下“JIA SHI”按鍵就會(huì)在原來(lái)的數(shù)字的基礎(chǔ)上加上一,如果是按的“JIAN SHI”按鍵就會(huì)在原來(lái)的數(shù)值上減去一。
圖11.3可預(yù)置時(shí)間的定時(shí)電路
由節(jié)目主持人根據(jù)搶答題的難易程度,設(shè)定一次搶答的時(shí)間,通過(guò)預(yù)置時(shí)間電路對(duì)計(jì)數(shù)器進(jìn)行預(yù)置,計(jì)數(shù)器的時(shí)鐘脈沖由秒脈沖電路提供??深A(yù)置時(shí)間的電路選用十進(jìn)制同步加減計(jì)數(shù)器74LS192進(jìn)行設(shè)計(jì),具體電路如圖11、3所示。
2.3.4 報(bào)警電路設(shè)計(jì)
報(bào)警電路用于報(bào)警,當(dāng)遇到報(bào)警信號(hào)時(shí),發(fā)出警報(bào)。一般喇叭是一種電感性
圖11.4報(bào)警電路圖。8051驅(qū)動(dòng)喇叭的信號(hào)為各種頻率的脈沖。因此,最簡(jiǎn)單的喇叭驅(qū)動(dòng)方式就是利用達(dá)林頓晶體管,或者以?xún)蓚€(gè)常用的小晶體管連接成達(dá)林頓架勢(shì)。在右圖中電阻R為限流電阻,在此利用晶體管的高電流增益,以達(dá)到電路快速飽和的目的。不過(guò),如果要由P0輸出到此電路,還需要連接一個(gè)10K的上拉電阻。
選手在設(shè)定的時(shí)間內(nèi)搶答時(shí),實(shí)現(xiàn):優(yōu)先判斷、編號(hào)鎖存、編號(hào)顯示、揚(yáng)聲器提示。當(dāng)一輪搶答之后,定時(shí)器停止、禁止二次搶答、定時(shí)器顯示剩余時(shí)間。如果再次搶答必須由主持人再次*作"清除"和"開(kāi)始"狀態(tài)開(kāi)關(guān)。圖面是數(shù)字搶答器的報(bào)警電路圖。
其中555構(gòu)成多諧振蕩器,振蕩頻率fo=1.43/[(RI+2R2)C],其輸出信號(hào)經(jīng)三極管推動(dòng)揚(yáng)聲器。PR為控制信號(hào),當(dāng)PR為高電平時(shí),多諧振蕩器工作,反之,電路停振。
圖11.4報(bào)警電路
第3節(jié) 系統(tǒng)軟件設(shè)計(jì)
3.1系統(tǒng)主程序設(shè)計(jì)
為了能夠達(dá)到搶答的公平、公正、合理,應(yīng)該在主持人發(fā)布搶答命令之前必須先設(shè)定搶答的時(shí)間,所以應(yīng)該得根據(jù)題目的難易程度事先設(shè)定時(shí)間,因而在編開(kāi)始搶答前的程序得先編寫(xiě)設(shè)定時(shí)間的程序,在硬件電路中可以看到有兩個(gè)按鍵(JIAN SHI 和 JIAN SHI)所以按下硬件的這兩個(gè)按鍵相應(yīng)的在軟件進(jìn)行對(duì)數(shù)據(jù)的加減。當(dāng)時(shí)間設(shè)好了之后,主持人發(fā)布搶答命令按下KS按鍵同時(shí)二極管變亮,程序開(kāi)始打開(kāi)定時(shí)中斷開(kāi)始倒計(jì)時(shí),然后調(diào)用鍵盤(pán)掃描子程序,編寫(xiě)鍵盤(pán)掃描程序。當(dāng)在掃描到有人按下了鍵,馬上關(guān)閉T0、調(diào)用顯示程序、封鎖鍵盤(pán)。
3.2搶答器的源程序
一、八路掃描式搶答器參考程序清單
P1.0-P1.7為八路搶答輸入 數(shù)碼管段選P0口,位選P2口,蜂鳴器輸出為P3.6口。P3.0為開(kāi)始搶答,P3.7為停止。
K EQU 20H;搶答開(kāi)始標(biāo)志位;將P1口與P2口互換,P3.0-P1.0,P3.1-P1.7
? RING EQU 22H;響鈴標(biāo)志位
? ORG 0000H
? AJMP MAIN
? ORG 0003H
? AJMP INT0SUB
? ORG 000BH
? AJMP T0INT
?ORG 0013H
? AJMP INT1SUB
? ORG 001BH
? AJMP T1INT
? ORG 0040H
MAIN:??MOV R1,#0FH;初設(shè)搶答時(shí)間為15s
??????? MOV R2,#0AH;初設(shè)答題時(shí)間為10s
??????? MOV TMOD,#11H;設(shè)置未定時(shí)器/模式1
??????? MOV TH0,#0F0H
??????? MOV TL0,#0FFH;越高發(fā)聲頻率越高,越尖
??????? MOV TH1,#3CH
??????? MOV TL1,#0B0H;50ms為一次溢出中斷
??????? SETB EA
??????? SETB ET0
??????? SETB ET1
? SETB EX0
? SETB EX1;允許四個(gè)中斷,T0/T1/INT0/INT1
??????? CLR OK
? CLR RING
???????? SETB TR1
???????? SETB TR0;一開(kāi)始就運(yùn)行定時(shí)器,以開(kāi)始顯示FFF.如果想重新計(jì)數(shù),重置 TH1/TL1就可以了
;***查詢(xún)程序***
START:MOV R5,#0BH
??????MOV R4,#0BH
??????MOV R3,#0BH
ACALL DISPLAY;未開(kāi)始搶答時(shí)候顯示FFF
??????JB P3.0,NEXT
??????ACALL DELAY
??????JB P3.0,NEXT;去抖動(dòng),如果"開(kāi)始鍵"按下就向下執(zhí)行,否者跳到非法搶答查詢(xún)
??????ACALL BARK;按鍵發(fā)聲
??????MOV A,R1
? MOV R6,A;送R1->R6,因?yàn)镽1中保存了搶答時(shí)間
???? SETB OK;搶答標(biāo)志位,用于COUNT只程序中判斷是否查詢(xún)搶答
???? MOV R3,0AH;搶答只顯示計(jì)時(shí),滅號(hào)數(shù)
??????AJMP COUNT;進(jìn)入倒計(jì)時(shí)程序,"查詢(xún)有效搶答的程序"在COUNT里面
NEXT:?JNB P1.0,FALSE0
JNB P1.1,FALSE1
??? JNB P1.2,FALSE2
??? JNB P1.3,FALSE3
??? JNB P1.4,FALSE4
??? JNB P1.5,FALSE5
??? JNB P1.6,FALSE6
JNB P1.7,FALSE7
??? AJMP START
;***非法搶答處理程序***
FALSE0: ACALL BARK;按鍵發(fā)聲
MOV R3,#00H
??? AJMP ERROR
FALSE1: ACALL BARK;按鍵發(fā)聲
MOV R3,#01H
??? AJMP ERROR
FALSE2: ACALL BARK
MOV R3,#02H
??? AJMP ERROR
FALSE3: ACALL BARK
MOV R3,#03H
??? AJMP ERROR
FALSE4: ACALL BARK
MOV R3,#04H
??? AJMP ERROR
FALSE5: ACALL BARK
MOV R3,#05H
??? AJMP ERROR
FALSE6: ACALL BARK
MOV R3,#06H
??? AJMP ERROR
;***INT0(搶答時(shí)間R1調(diào)整程序) ***
INT0SUB: MOV A,R1
??????? MOV B,#0AH
??? DIV AB
??? MOV R5,A
??? MOV R4,B
??? MOV R3,#0AH
??? ACALL DISPLAY;先在兩個(gè)時(shí)間LED上顯示R1
??? JNB P3.4,INC0;P3.4為+1s鍵,如按下跳到INCO
??? JNB P3.5,DEC0;P3.5為-1s鍵,如按下跳到DECO
??? JNB P3.7,BACK0;P3.7為確定鍵,如按下跳到BACKO
??? AJMP INT0SUB
INC0:? MOV A,R1
??? CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99了,R1就置0,重新
加起。
??????? MOV R1,#00H
??????? ACALL DELAY1
AJMP INT0SUB
ADD0:?? INC R1
??????? ACALL DELAY1
??????? AJMP INT0SUB
DEC0:?? MOV A,R1
??? JZ SETR1;如果R1為0, R1就置99,
??? DEC R1
??? ACALL DELAY1
??? AJMP INT0SUB
SETR1:? MOV R1,#63H
??????? ACALL DELAY1
??????? AJMP INT0SUB
BACK0:? RETI
;***INT1(回答時(shí)間R2調(diào)整程序)***
INT1SUB:MOV A,R2
??????? MOV B,#0AH
??? DIV AB
MOV R5,A
??? MOV R4,B
??? MOV R3,#0AH
??? ACALL DISPLAY
??? JNB P3.4,INC1
??? JNB P3.5,DEC1
??? JNB P1.7,BACK1
??? AJMP INT1SUB
INC1:?? MOV A,R2
??? CJNE A,#63H,ADD1
??????? MOV R2,#00H
??????? ACALL DELAY1
AJMP INT1SUB
ADD1: INC R2
??????? ACALL DELAY1
??????? AJMP INT1SUB
DEC1:??MOV A,R2
??? JZ SETR2
??? DEC R2
??? ACALL DELAY1
??? AJMP INT1SUB
SETR2:? MOV R2,#63H
??????? ACALL DELAY1
??????? AJMP INT1SUB
BACK1:? RETI
;***倒計(jì)時(shí)程序(搶答倒計(jì)時(shí)和回答倒計(jì)時(shí)都跳到改程序)***
COUNT:? MOV R0,#00H;重置定時(shí)器中斷次數(shù)
??????? MOV TH1,#3CH
??????? MOV TL1,#0B0H;重置定時(shí)器
RECOUNT:MOV A,R6;R6保存了倒計(jì)時(shí)的時(shí)間,之前先將搶答時(shí)間或回答時(shí)間給R6
??????? MOV B,#0AH
??? DIV AB;除十分出個(gè)位/十位
??? MOV 30H,A;十位存于(30H)
??? MOV 31H,B;個(gè)位存于(31H)
??? MOV R5,30H;取十位
??? MOV R4,31H;取個(gè)位
??? MOV A,R6
??? SUBB A,#07H
??? JNC LARGER;大于5s跳到LARGER,小于等于5s會(huì)提醒
??? MOV A,R0
??????? CJNE A,#0AH,FULL;1s中0.5s向下運(yùn)行
??? CLR RING?
??? AJMP CHECK
FULL:?? CJNE A,#14H,CHECK;下面系1s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì)
??????? SETB RING
??????? MOV A,R6
??? JZ QUIT;計(jì)時(shí)完畢
??? MOV R0,#00H
??? DEC R6;一秒標(biāo)志減1
??? AJMP CHECK
LARGER: MOV A,R0
??????? CJNE A,#14H,CHECK;如果1s向下運(yùn)行,否者跳到查"停/顯示"
??? DEC R6;計(jì)時(shí)一秒R6自動(dòng)減1
??? MOV R0,#00H
CHECK: JNB P1.7,QUIT;如按下停止鍵退出
?????? ACALL DISPLAY
?? JB OK,ACCOUT;如果是搶答倒計(jì)時(shí),如是則查詢(xún)搶答,否者跳過(guò)查詢(xún)繼續(xù)倒數(shù)(這里起到鎖搶答作用)
?? AJMP RECOUNT
ACCOUT: JNB P1.0,TRUE0
JNB P1.1,TRUE1
?? JNB P1.2,TRUE2
?? JNB P1.3,TRUE3
?? JNB P1.4,TRUE4
?? JNB P1.5,TRUE5
?? JNB P1.6,TRUE6
JNB P1.7,TRUE7
?? AJMP RECOUNT
QUIT:? CLR OK;如果按下了"停止鍵"執(zhí)行的程序
?? CLR RING
?? AJMP START
;***正常搶答處理程序***
TRUE0: ACALL BARK; 按鍵發(fā)聲
????? MOV A,R2;搶答時(shí)間R2送R6
? MOV R6,A
? MOV R3,#00H
? CLR OK;因?yàn)榇痤}的計(jì)時(shí)不再查詢(xún)搶答,所以就鎖了搶答
? AJMP COUNT
TRUE1: ACALL BARK;按鍵發(fā)聲
?????? MOV A,R2
?? MOV R6,A;搶答時(shí)間R2送R6
?? MOV R3,#01H
?? CLR OK;因?yàn)榇痤}的計(jì)時(shí)不再查詢(xún)搶答,所以就鎖了搶答
?? AJMP COUNT
TRUE2: ACALL BARK;
????? MOV A,R2
? MOV R6,A
? MOV R3,#02H
? CLR OK
? AJMP COUNT
TRUE3: ACALL BARK;
????? MOV A,R2
? MOV R6,A
? MOV R3,#03H
? CLR OK
? AJMP COUNT
TRUE4: ACALL BARK;
????? MOV A,R2
??? MOV R6,A
??? MOV R3,#04H
??? CLR OK
??? AJMP COUNT
TRUE5:ACALL BARK;
??????MOV A,R2
??? MOV R6,A
??? MOV R3,#05H
??? CLR OK
??? AJMP COUNT
TRUE6:ACALL BARK;
??????MOV A,R2
??? MOV R6,A
??? MOV R3,#06H
??? CLR OK
??? AJMP COUNT
TRUE7:ACALL BARK;
??????MOV A,R2
??? MOV R6,A
??? MOV R3,#07H
??? CLR OK
??? AJMP COUNT
;***犯規(guī)搶答程序***
ERROR: MOV R0,#00H
???????MOV TH1,#3CH
???????MOV TL1,#0B0H
???????MOV 34H,R3;犯規(guī)號(hào)數(shù)暫存與(34H)
HERE:??MOV A,R0
???????CJNE A,#0AH,FLASH;0.5s向下運(yùn)行->滅并停響
??? CLR RING?
??? MOV R3,#0AH
??? MOV R4,#0AH
???????MOV R5,#0AH;三燈全滅
??? AJMP CHECK1
FLASH:?CJNE A,#14H,CHECK1;下面系1s的情況,響并顯示號(hào)數(shù)并清R0,重新計(jì)
???????SETB RING
??????? MOV R0,#00H
??? MOV R3,34H;取回號(hào)數(shù)
??? MOV R5,#0BH
??????? MOV R4,#0BH;顯示FF和號(hào)數(shù)
??? AJMP CHECK1
CHECK1: JNB P3.7,QUIT1
??????? ACALL DISPLAY
??? AJMP HERE
QUIT1:? CLR RING
??????? CLR OK
??? AJMP START
;***顯示程序***
DISPLAY:MOV DPTR,#DAT1;查表顯示程序,利用P0口做段選碼口輸出/P2低三位做位選碼輸出,
??????? 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
;"滅","1","2","3","4","5","6","7","8","9","滅","F"
DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H
;第一個(gè)為零,其他與上相同,因?yàn)槭蝗绻麨榱泔@示熄滅
;***加減時(shí)間延時(shí)(起到不會(huì)按下就加N個(gè)數(shù))***
DELAY1: MOV 35H,#08H
LOOP0:? ACALL DISPLAY
??????? DJNZ 35H,LOOP0
??????? RET
;延時(shí)(顯示和去抖動(dòng)用到)
DELAY:? MOV 32H,#12H
LOOP:?? MOV 33H,#0AFH
LOOP1:? DJNZ 33H,LOOP1
??????? DJNZ 32H,LOOP
??? RET
;***發(fā)聲程序***
BARK:?? SETB RING
??????? ACALL DELAY1
??????? ACALL DELAY1
??????? CLR RING;按鍵發(fā)聲
??? RET
;***TO溢出中斷(響鈴程序)***
T0INT:? MOV TH0,#0ECH
??????? MOV TL0,#0FFH
??????? JNB RING,OUT;
???? CPL P3.6;RING標(biāo)志位為1時(shí)候P3.6口不短取反使喇叭發(fā)出一定頻率的聲音
OUT:??? RETI
;***T1溢出中斷(計(jì)時(shí)程序) ***
T1INT:? MOV TH1,#3CH
??????? MOV TL1,#0B0H
??? INC R0
??? RETI
END
第4節(jié) 技術(shù)指標(biāo)及故障處理
4.1主要技術(shù)參數(shù)
電源電壓:交流220V±10%
工作功耗:交流5W
倒計(jì)時(shí)范圍:1-99秒可設(shè)
4.2搶答器使用說(shuō)明
開(kāi)展競(jìng)賽活動(dòng)時(shí),請(qǐng)先布置好場(chǎng)地,將搶答按鈕裝于參賽桌上,每組按鈕的二條線(xiàn)根據(jù)實(shí)際場(chǎng)地大小,連上合適長(zhǎng)度,分別接到Ф3.5MM的組別插頭上,然后再將插頭插入機(jī)后插座中8個(gè)組中。
(1) 開(kāi)機(jī)
按電源開(kāi)關(guān),顯示屏左邊的"搶答"指示燈亮,數(shù)碼管顯示。
(2) 設(shè)定"搶答"倒計(jì)時(shí)時(shí)間
在顯示屏左邊的"搶答"指示燈亮,數(shù)碼顯示時(shí),按"+、-"鍵可以設(shè)定搶答倒計(jì)時(shí)時(shí)間,在1-99秒之間設(shè)定,按住"+"或"-"鍵不放,可以快速累加或累減。設(shè)定好以后按一下"搶答計(jì)時(shí)"鍵。
(3) 設(shè)定"答題"倒計(jì)時(shí)時(shí)間
按一下"答題計(jì)時(shí)"鍵。顯示屏顯示"0"閃爍,進(jìn)入等待狀態(tài)。
(4) 測(cè)試各組搶答按鍵
試按一下各組的搶答按鈕,應(yīng)立即顯示該組的組別數(shù)字,同時(shí)機(jī)內(nèi)喇叭發(fā)出"叮咚"的提示音,按"取消"鍵,返回"0"閃爍狀態(tài)。
(5) 啟動(dòng)搶答倒計(jì)時(shí),開(kāi)始搶答
"0"閃爍狀態(tài)下,當(dāng)主持人宣布搶答開(kāi)始時(shí),馬上按一下"搶答計(jì)時(shí)"鍵,屏幕顯示所設(shè)定的搶答倒計(jì)時(shí)時(shí)間并開(kāi)始倒計(jì)時(shí),提示倒計(jì)時(shí)時(shí)間馬上臨近結(jié)束。倒計(jì)時(shí)到0以后,儀器發(fā)出"叮咚"的結(jié)束提示音,同時(shí)顯示屏返回"0"閃爍待命狀態(tài)。
在"搶答"倒計(jì)時(shí)中,如果有參賽組搶答,儀器屏幕立即顯示該組的組別號(hào),同時(shí)發(fā)出"叮咚"的搶答成功提示音。需要返回"0"待命狀態(tài),按"取消"鍵即可。
(6) 啟動(dòng)答題倒計(jì)時(shí)
"0"閃爍狀態(tài)下,或有參賽組搶答成功后,需要開(kāi)始答題的計(jì)時(shí)時(shí),按"答題計(jì)時(shí)"鍵,屏幕顯示所設(shè)定的答題倒計(jì)時(shí)時(shí)間并開(kāi)始倒計(jì)時(shí),提示倒計(jì)時(shí)時(shí)間馬上臨近結(jié)束。倒計(jì)時(shí)到0以后,儀器發(fā)出"丁冬"的結(jié)束提示音,同時(shí)顯示屏返回"0"閃爍待命狀態(tài)。
(7) 提前取消倒計(jì)時(shí)
無(wú)論是"搶答"還是"答題"的倒計(jì)時(shí)時(shí)間,需要提前退出,只要按一下"取消"鍵,即可返回到"0"閃爍待命狀態(tài)。
(8) 重設(shè)倒計(jì)時(shí)時(shí)間
需要重新設(shè)置倒計(jì)時(shí)時(shí)間,可按"倒計(jì)時(shí)重設(shè)"鍵,屏幕顯示。左邊"搶答計(jì)時(shí)"指示燈點(diǎn)亮,即可重新設(shè)定倒計(jì)時(shí)時(shí)間,設(shè)定方法與前面相同。
(9) 主機(jī)控制加/減分
答題完畢后,可給搶答組酌情評(píng)分,加分直接按對(duì)應(yīng)搶答組再按預(yù)設(shè)的分?jǐn)?shù)進(jìn)行加減即可(預(yù)設(shè)有1分和10分),每按一次"得分"或"扣分"鍵,給加或減5分, 如主持人評(píng)定搶答有誤,應(yīng)于扣分,則可按上述方法 按"扣分"鍵,本屏將顯示扣分分?jǐn)?shù), 如"- 10";如果操作有誤,多按了"得分"鍵或"扣分"鍵,也可用按相反的計(jì)分鍵來(lái)修改分?jǐn)?shù)。
(10) 違規(guī)搶答
當(dāng)主持人讀題過(guò)程中,而未宣布搶答開(kāi)始時(shí)按下?lián)尨鸢粹o。主顯示屏將顯示該違規(guī)組號(hào),及發(fā)出提示音。及該組的紅燈亮起。
4.3常見(jiàn)故障
開(kāi)機(jī)無(wú)顯示解決辦法:
A、查電源插座是否插好;
B、儀器后板的保險(xiǎn)絲是否燒斷;
C、 "POWER"開(kāi)關(guān)是否有接觸不良。
結(jié)束語(yǔ)
首先,我坦白地和老師說(shuō)這篇不是完全我自己寫(xiě)的。我是通過(guò)網(wǎng)上和書(shū)上查詢(xún)結(jié)合起來(lái)寫(xiě)的。說(shuō)實(shí)話(huà),一開(kāi)始真的很苦惱,我不知道從何寫(xiě)起,而且老師又說(shuō)這個(gè)和成績(jī)聯(lián)系一起。第一次嘗試寫(xiě)這方面的應(yīng)用設(shè)計(jì)論文,無(wú)從下手的我,甚至想過(guò)放棄,也怪老師為什么要為難我們。但是最后想到?比爾﹒蓋茨給青年人的19個(gè)忠告?那本書(shū)里寫(xiě)著:志向、信念與目標(biāo)是人生卓越的基石,要追求成敗就不要害怕失敗。仔細(xì)想想自己怎么能被一篇論文而退縮呢?不去嘗試我就永遠(yuǎn)不會(huì)寫(xiě),永遠(yuǎn)不會(huì)進(jìn)步,永遠(yuǎn)只能被困難嚇倒。在寫(xiě)這篇文章中,我明白老師的苦心,是想鍛煉我們,面對(duì)以后的畢業(yè)設(shè)計(jì)能得到更大的提高與進(jìn)步。老師,對(duì)于當(dāng)初的想法我表示抱歉,也同時(shí)衷心感謝老師對(duì)我們關(guān)心和鼓勵(lì)。雖然文章中有很多不足,但是在學(xué)習(xí)的過(guò)程中苦中帶甜,而且鞏固了很多軟件學(xué)習(xí)。這次學(xué)習(xí)給我留下了深刻的印象,使我受益匪淺。而且對(duì)于論文的總體構(gòu)思也有了很多經(jīng)驗(yàn),相信自己經(jīng)過(guò)這一次的訓(xùn)練與學(xué)習(xí),對(duì)于今后會(huì)更加努力,做得最好。
這個(gè)八路掃描式搶答器,如果采用進(jìn)口單片機(jī)主控,響應(yīng)迅速,判別精確。帶大屏幕顯示屏,高亮管數(shù)字顯示搶答的組別號(hào)、倒計(jì)時(shí)時(shí)間。可以分辨正常搶答與偷答的情況,并會(huì)發(fā)出兩種不同的聲音提示。可分別設(shè)定搶答、答題兩種不同的倒計(jì)時(shí)時(shí)間。倒計(jì)時(shí)啟動(dòng)后屏幕有數(shù)字顯示,倒計(jì)時(shí)結(jié)束后有"叮咚"聲音提示。每組可帶大屏幕分?jǐn)?shù)顯示,組分結(jié)果一目了然。流線(xiàn)型外殼,精美時(shí)尚。直接進(jìn)行加減分,全場(chǎng)觀眾共參與。燈光提示,結(jié)果更明確。廣泛適用于學(xué)校、教育部門(mén)、企事業(yè)工會(huì)組織、工廠公司、俱樂(lè)部等單位組織舉辦各種知識(shí)、技能競(jìng)賽及文娛活動(dòng)時(shí)作搶答之用。
參考文獻(xiàn):
[1] 張偉,《單片機(jī)原理及應(yīng)用》,機(jī)械工業(yè)出版社,2005
[2] 張?chǎng)?,《單片機(jī)原理及應(yīng)用》,電子工業(yè)出版社,2005
[3] 曹?chē)?guó)清,《數(shù)學(xué)電路與邏輯設(shè)計(jì)》中國(guó)礦業(yè)大學(xué)出版社,2004
[4] 任致程,《經(jīng)典集成電路400例》機(jī)械工業(yè)出版社,2002
[5] 薛棟梁,《單片機(jī)原理及應(yīng)用》,中國(guó)水利水電出版社,2001
[6] 吳金戎,沈慶陽(yáng)等,《8051單片機(jī)實(shí)踐與應(yīng)用》,清華大學(xué)出版社,2001
[7] 謝筑森,張輝等,《單片機(jī)開(kāi)發(fā)與典型應(yīng)用設(shè)計(jì)》,中國(guó)科學(xué)技術(shù)大學(xué)出版社,1997
23
收藏