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