本四路搶答器主要是由AT89C2051單片機(jī)和一個共陽數(shù)碼管組成。本搶答器主要是運(yùn)用單片機(jī)的有條轉(zhuǎn)移類指令(JNB bit,rel)和動態(tài)死機(jī)指令$(使程序停在此處,待命。也可稱為待機(jī)),使其達(dá)到搶答的效果。只要有一個人搶先按下其中一個搶答按鈕,其余3人再按均無作用,即單片機(jī)此時(shí)正處于動態(tài)死機(jī)狀態(tài),只有主持人按下復(fù)位按鈕后,才能使單片機(jī)復(fù)位,才能進(jìn)行下一輪的搶答。按下?lián)尨疰I后,數(shù)碼管顯示相應(yīng)的數(shù)字,同時(shí)蜂鳴器發(fā)出“滴”的響聲 。 匯編源程序如下:
ORG 0000H
CLR P3.7
MOV P1,#0C0H
L1:JNB P3.2,L2
JNB P3.3,L3
JNB P3.4,L4
JNB P3.5,L5
JMP L1
L2:MOV P1,#0F9H
ACALL DELAY1
ACALL DELAY2
SETB P3.0
JMP $
L3:MOV P1,#0A4H
ACALL DELAY1
ACALL DELAY2
SETB P3.0
JMP $
L4:MOV P1,#0B0H
ACALL DELAY1
ACALL DELAY2
SETB P3.0
JMP $
L5:MOV P1,#99H
ACALL DELAY1
ACALL DELAY2
SETB P3.0
JMP $
DELAY1:CLR P3.0
RET
DELAY2:MOV R0,#50
L6:MOV R1,#100
L7:MOV R2,#100
DJNZ R2,$
DJNZ R1,L7
DJNZ R0,L6
RET
END
注:晶振12MHZ。P3.7口為數(shù)碼管的電源端,P3.0口為蜂鳴器的接口。P1口為數(shù)碼管的段位選通端。本四路搶答器開機(jī)默認(rèn)顯示“0”。 本程序已通過實(shí)踐驗(yàn)證!!
|