摘 要
搶答器作為一種工具,已廣泛應用于各種智力和知識競賽場合。但搶答器的使用頻率較低,且有的要么制作復雜,要么可靠性低。作為一個單位,如果專門購一臺搶答器雖然在經濟上可以承受,但每年使用的次數極少,往往因長期存放使(電子器件的)搶答器損壞,再購置的麻煩和及時性就會影響活動的開展,因此設計了本搶答器。
本設計是以四路搶答為基本理念。考慮到依需設定限時回答的功能,利用AT49C51單片機及外圍接口實現的搶答系統,利用單片機的定時器/計數器定時和記數的原理,將軟、硬件有機地結合起來,使得系統能夠正確地進行計時,同時使數碼管能夠正確地顯示時間。
用開關做鍵盤輸出,揚聲器發生提示。同時系統能夠實現:在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時間和回答問題的時間可在1-99s設定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時間和回答問題時間倒記時顯示,滿時后系統計時自動復位及主控強制復位;按鍵鎖定,在有效狀態下,按鍵無效非法。
一,設計任務與要求
1、搶答器同時供4名選手或4個代表隊比賽,分別用4個按鈕S0 ~ S3表示。
2、設置一個系統清除和搶答控制開關S,該開關由主持人控制。
3、 搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應的編號,并在LED數碼管上顯示,同時揚聲器發出報警聲響提示。選手搶答實行優先鎖存,優先搶答選手的編號一直保持到主持人將系統清除為止。
4、參賽選手在設定的時間內進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號并保持到主持人將系統清除為止。
二,方案設計與論證
方案:該系統采用51系列單片機AT49C51作為控制核心,該系統可以完成運算控制、信號識別以及顯示功能的實現。由于用了單片機,使其技術比較成熟,應用起來方便、簡單并且單片機周圍的輔助電路也比較少,便于控制和實現。整個系統具有極其靈活的可編程性,能方便地對系統進行功能的擴張和更改。MCS-51單片機特點如下:
《1》可靠性好:單片機按照工業控制要求設計,抵抗工業噪聲干擾優于一般的CPU,程序指令和數據都可以寫在ROM里,許多信號通道都在同一芯片,因此可靠性高,易擴充。
《《 span=“”》2》單片機有一般電腦所必須的器件,如三態雙向總線,串并行的輸入及輸出引腳,可擴充為各種規模的微電腦系統。
《《 span=“”》3》 控制功能強:單片機指令除了輸入輸出指令,邏輯判斷指令外還有更豐富的條件分支跳躍指令。
其原理框圖如下:
三,硬件電路設計
1、 搶答器的電路框圖
如圖11、1所示為電路框圖。其工作原理為:接通電源后,主持人將開關撥到“清除”狀態,搶答器處于禁止狀態,編號顯示器滅燈,定時器顯示設定時間;主持人將開關置,“開始”狀態,宣布“開始”搶答器工作。定時器倒計時,揚聲器給出聲響提示。選手在定時時間內搶答時,搶答器完成:優先判斷、編號鎖存、編號顯示、揚聲器提示。當一輪搶答之后,定時器停止、禁止二次搶答、定時器顯示剩余時間。如果再次搶答必須由主持人再次操作“開始、停止”狀態開關。
搶答器框圖
其工作原理為:接通電源后,主持人將開關撥到“清除”狀態,搶答器處于禁止狀態,編號顯示器滅燈,定時器顯示設定時間;主持人將開關置,“開始”狀態,宣布“開始”搶答器工作。揚聲器給出聲響提示。搶答器完成:優先判斷、編號鎖存、編號顯示、揚聲器提示。當一輪搶答之后,定時器停止、禁止二次搶答。如果再次搶答必須由主持人再次操作“開始、停止”狀態開關。
2、單元電路設計
(1)搶答器電路
參考電路如圖11.2所示。該電路完成兩個功能:一是分辨出選手按鍵的先后,并鎖存優先搶答者的編號,同時譯碼顯示電路顯示編號;二是禁止其他選手按鍵操作無效。如有再次搶答需由主持人將S開關重新置,“清除”然后再進行下一
次搶答。
(2)時序控制電路設計
時序控制電路是搶答器設計的關鍵,它要完成以下功能:
a.主持人將控制開關撥到“開始”位置時,揚聲器發聲,搶答電路進人正常搶答工作狀態。
b.當參賽選手按動搶答鍵時,揚聲器發聲,搶答電路停止工作。
(3)復位電路的設計
外部中斷和內部中斷并存,單片機硬件復位端,只要持續4個機器周期的高電平即可實現復位,硬件復位后的各狀態可知寄存器以及存儲器的值都恢復到了初始值,因為本設計中功能中有倒計時時間的記憶功能,所以不能對單片機進行硬件復位,只能用軟件復位,軟件復位實際上就是當程序執行完之后,將程序通過一條跳轉指令讓它完成復位。復位電路如下圖示:
2.3.3外部震蕩電路
外部震蕩電路單片機必須在AT49C51的驅動下才能工作,在單片機內部有一個時鐘震蕩電路,只需要外接一個振蕩器就能產生一定的時鐘信號送到單片機內部的各個單元,外部震蕩電路如下圖。
2.3.4報警電路設計
報警電路用于報警,當遇到報警信號時,發出警報。一般喇叭是一種電感性
圖11.4報警電路圖。4951驅動喇叭的信號為各種頻率的脈沖。因此,最簡單的喇叭驅動方式就是利用達林頓晶體管,或者以兩個常用的小晶體管連接成達林頓架勢。在右圖中電阻R為限流電阻,在此利用晶體管的高電流增益,以達到電路快速飽和的目的。不過,如果要由P0輸出到此電路,還需要連接一個10K的上拉電阻。
選手在設定的時間內搶答時,實現:優先判斷、編號鎖存、編號顯示、揚聲器提示。當一輪搶答之后,定時器停止、禁止二次搶答。如果再次搶答必須由主持人再次*作“清除”和“開始”狀態開關。圖面是數字搶答器的報警電路圖。
其中555構成多諧振蕩器,振蕩頻率fo=1.43/[(RI+2R2)C],其輸出信號經三極管推動揚聲器。PR為控制信號,當PR為高電平時,多諧振蕩器工作,反之,電路停振。
四,軟件設計
1、系統主程序設計
為了能夠達到搶答的公平、公正、合理,應該在主持人發布搶答命令之前必須先設定搶答的時間,因而在編開始搶答前的程序得先編寫設定時間的程序,當時間設好了之后,主持人發布搶答命令按下P1.7按鍵,程序開始打開定時中斷開始倒計時,然后調用鍵盤掃描子程序,編寫鍵盤掃描程序。當在掃描到有人按下了答題鍵,馬上關閉T0、調用顯示程序、封鎖鍵盤。
(1)主程序流程圖
?
2、主程序清單
ORG 0000H
LJMP STARTUP1
ORG 000BH
LJMP dingshi
ORG 001BH
LJMP fengmingqi
ORG 0400H
main:
LCALL init
SETB TR0
MOV TH0,#0x3C
MOV TL0,#P3
MOV 0x0E,#0x00
MOV 0x0F,#0x01
MOV 0x10,#0x00
MOV 0x11,#0x01
MOV R3,#0x01
MOV R2,#0x00
a12:
JB P0.0,a1
MOV 0x0E,#0x00
MOV 0x0F,#0x01
MOV 0x10,#0x00
MOV 0x11,#0x01
MOV R2,#0x00
MOV R3,#0x01
CLR 0x20.0
CLR A
MOV 0x09,A
SETB TR0
MOV TH0,#0x3C
MOV TL0,#P3
CLR TR1
MOV 0x0A,A
MOV 0x0C,A
MOV 0x0D,A
MOV DPTR,#0x0B4C
MOVC A,@A+DPTR
MOV P3,A
MOV DPTR,#shuma
CLR A
MOVC A,@A+DPTR
MOV 0xA0,A
a1:
MOV A,0x0F
ORL A,0x0E
JNZ a2
LJMP a3
a2:
MOV A,R3
ORL A,R2
JNZ a4
LJMP a3
a4:
MOV A,0x11
ORL A,0x10
JNZ a5
LJMP a3
a5:
MOV A,0x09
MOV B,#0x0A
LCALL a6
MOV R7,B
MOV A,R7
RLC A
MOV R6,A
MOV A,#0x45
ADD A,R7
MOV DPL,A
MOV A,#0x0B
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV 0xA0,A
;a4:
MOV A,0x09
MOV B,#0x0A
LCALL a6
MOV R7,B
CLR C
MOV A,R7
XRL A,#P0
SUBB A,#SP
JC a7
MOV A,0x09
MOV B,#0x0A
LCALL a6
MOV R7,A
RLC A
SUBB A,ACC
MOV R6,A
MOV A,R7
ADD A,#0x04
MOV R7,A
CLR A
ADDC A,R6
MOV R6,A
MOV A,R7
XRL A,#0x0A
ORL A,R6
JZ a4
MOV A,0x09
MOV B,#0x0A
LCALL a6
MOV R7,A
RLC A
SUBB A,ACC
MOV R6,A
MOV A,#0x4D
ADD A,R7
MOV DPL,A
MOV A,#0x0B
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV P3,A
a4:
MOV A,0x09
MOV B,#0x0A
LCALL a6
MOV R7,A
RLC A
SUBB A,ACC
MOV R6,A
MOV A,R7
ADD A,#0x04
MOV R7,A
CLR A
ADDC A,R6
MOV R6,A
MOV A,R7
XRL A,#0x0A
ORL A,R6
JNZ a9
MOV DPTR,#shuma
SJMP a10
a7:
MOV A,0x09
MOV B,#0x0A
LCALL a6
MOV R7,A
RLC A
SUBB A,ACC
MOV R6,A
MOV A,#0x4C
ADD A,R7
MOV DPL,A
MOV A,#0x0B
ADDC A,R6
MOV DPH,A
CLR A
a10:
MOVC A,@A+DPTR
MOV P3,A
a9:
JNB 0x20.0,a3
CLR A
MOV R2,A
MOV R3,A
CLR 0x20.0
MOV DPTR,#0x0B4C
MOVC A,@A+DPTR
MOV P3,A
MOV DPTR,#shuma
CLR A
MOVC A,@A+DPTR
MOV 0xA0,A
CLR TR0
a3:
MOV A,0x11
ORL A,0x10
JNZ a11
LJMP a12
a11:
MOV A,0x0F
ORL A,0x0E
JNZ a13
LJMP a12
a13:
MOV A,P1
ANL A,#0x0F
MOV R1,A
CLR A
MOV R4,A
MOV R5,A
a17:
CLR C
MOV A,R5
SUBB A,#0x04
MOV A,R4
XRL A,#P0
SUBB A,#P0
JC a14
LJMP a12
a14:
MOV A,#0x4F
ADD A,R5
MOV DPL,A
MOV A,#0x0B
ADDC A,R4
MOV DPH,A
CLR A
MOVC A,@A+DPTR
XRL A,R1
JNZ a15
LCALL delay
MOV A,#0x4F
ADD A,R5
MOV DPL,A
MOV A,#0x0B
ADDC A,R4
MOV DPH,A
CLR A
MOVC A,@A+DPTR
XRL A,R1
JNZ a15
MOV A,R3
ORL A,R2
JNZ a16
CLR C
MOV A,#0x09
SUBB A,R5
MOV R7,A
CLR A
SUBB A,R4
MOV R6,A
MOV A,#0x45
ADD A,R7
MOV DPL,A
MOV A,#0x0B
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV 0xA0,A
MOV P3,#0xFF
CLR A
MOV 0x10,A
MOV 0x11,A
ORL P1,#B
SJMP a15
a16:
SETB TR1
MOV TH1,#0xFF
MOV TL1,#0xFF
CLR TR0
CLR A
MOV 0x0E,A
MOV 0x0F,A
CLR C
MOV A,#0x09
SUBB A,R5
MOV R7,A
CLR A
SUBB A,R4
MOV R6,A
MOV A,#0x45
ADD A,R7
MOV DPL,A
MOV A,#0x0B
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV 0xA0,A
CLR C
MOV A,#0x09
SUBB A,R5
MOV 0x0A,A
MOV P3,#0xFF
LJMP a12
a15:
INC R5
CJNE R5,#0x00,a14
INC R4
a14:
LJMP a17
a6:
CLR F0
JNB 0xF0.7,a19
CPL F0
XRL B,#0xFF
INC B
a19:
JNB 0xE0.7,a20
CPL F0
CPL A
INC A
DIV AB
XRL B,#0xFF
INC B
SJMP a21
a20:
DIV AB
a21:
JNB F0,a22
CPL A
INC A
a22:
RET
a40:
CLR F0
MOV A,R4
JNB 0xE0.7,a23
CPL F0
CLR A
CLR C
SUBB A,R5
MOV R5,A
CLR A
SUBB A,R4
MOV R4,A
a23:
MOV A,R6
JNB 0xE0.7,a24
CPL F0
CLR A
CLR C
SUBB A,R7
MOV R7,A
CLR A
SUBB A,R6
MOV R6,A
LCALL a25
CLR C
CLR A
SUBB A,R5
MOV R5,A
CLR A
SUBB A,R4
MOV R4,A
SJMP a26
a24:
LCALL a25
a26:
JNB F0,a27
CLR C
CLR A
SUBB A,R7
MOV R7,A
CLR A
SUBB A,R6
MOV R6,A
a27:
RET
a25:
CJNE R4,#0x00,a24
CJNE R6,#0x00,a29
MOV A,R7
MOV B,R5
DIV AB
MOV R7,A
MOV R5,B
RET
a24:
CLR A
XCH A,R4
MOV R0,A
MOV B,#0x04
a31:
MOV A,R7
ADD A,R7
MOV R7,A
MOV A,R6
RLC A
MOV R6,A
MOV A,R4
RLC A
MOV R4,A
MOV A,R6
SUBB A,R5
MOV A,R4
SUBB A,R0
JC a30
MOV R4,A
MOV A,R6
SUBB A,R5
MOV R6,A
INC R7
a30:
DJNZ B,a31
CLR A
XCH A,R6
MOV R5,A
RET
a29:
MOV A,R5
MOV R0,A
MOV B,A
MOV A,R6
DIV AB
JB OV,a32
MOV R6,A
MOV R5,B
MOV B,#0x04
a35:
MOV A,R7
ADD A,R7
MOV R7,A
MOV A,R5
RLC A
MOV R5,A
JC a33
SUBB A,R0
JNC a34
DJNZ B,a35
RET
a33:
CLR C
SUBB A,R0
a34:
MOV R5,A
INC R7
DJNZ B,a35
a32:
RET
fengmingqi:
PUSH ACC
PUSH B
PUSH DPH
PUSH DPL
PUSH PSW
MOV PSW,#0x00
PUSH 0x00
PUSH 0x04
PUSH 0x05
PUSH 0x06
PUSH 0x07
MOV TH1,#0x3C
MOV TL1,#P3
INC 0x0D
MOV A,0x0D
JNZ a36
INC 0x0C
a36:
CPL A
ORL A,0x0C
JNZ a37
MOV 0x0C,A
MOV 0x0D,#0x0B
a37:
SETB C
MOV A,0x0D
SUBB A,#0x0A
MOV A,0x0C
XRL A,#P0
SUBB A,#P0
JNC a34
CPL 0xB0.7
SJMP a39
a34:
SETB 0xB0.7
a39:
MOV R6,0x0C
MOV R7,0x0D
MOV R4,#0x00
MOV R5,#0x0A
LCALL a40
MOV A,R5
ORL A,R4
JNZ a41
MOV A,0x04
JNZ a42
MOV 0x04,#0x01
MOV 0xA0,#0xFF
SJMP a41
a42:
MOV 0x04,#0x00
MOV R7,0x0A
MOV A,R7
RLC A
SUBB A,ACC
MOV R6,A
MOV A,#0x45
ADD A,R7
MOV DPL,A
MOV A,#0x0B
ADDC A,R6
MOV DPH,A
CLR A
MOVC A,@A+DPTR
MOV 0xA0,A
a41:
POP 0x07
POP 0x06
POP 0x05
POP 0x04
POP 0x00
POP PSW
POP DPL
POP DPH
POP B
POP ACC
RETI
dingshi:
PUSH ACC
PUSH PSW
MOV TH0,#0x3C
MOV TL0,#P3
INC 0x0B
MOV A,0x0B
CJNE A,#0x14,a43
INC 0x09
MOV 0x0B,#0x00
a43:
MOV A,0x09
CJNE A,#0x1E,a44
MOV 0x09,#0x00
SETB 0x20.0
CLR TR0
a44:
POP PSW
POP ACC
RETI
init:
MOV TMOD,#0x11
SETB ET0
SETB ET1
CLR TR0
CLR TR1
SETB EA
ANL P1,#0x0F
RET
delay:
CLR A
MOV R7,A
MOV R6,A
a46:
INC R7
CJNE R7,#0x00,a45
INC R6
a45:
MOV A,R7
XRL A,#0x0C
a47:
ORL A,R6
JNZ a46
RET
shuma:
PUSH P1
SJMP a47
ANL C,0x90.2
SUBB A,R1
ANL C,/0xA0.4
MOV R1,A
KeyBoard:
INC R6
INC R5
INC R3
INC @R1
STARTUP1:
MOV R0,#0x7F
CLR A
IDATALOOP:
MOV @R0,A
DJNZ R0,IDATALOOP
MOV SP,#0x20
LJMP main
END
五,器件選型方案
表1 器件選型方案的詳細清單
器件名稱規格型號數量
微處理器AT49C511
極性電容10uF1
電阻3WTT10K9
電容20PF3
晶振12MHZ1
按鈕
15
共陰4位7段數碼管SMG SM410561K1
揚聲器
1
六,調試:
(1) 開機
按電源開關,顯示屏左邊的“搶答”指示燈亮,數碼管顯示。
(2) 測試各組搶答按鍵
試按一下各組的搶答按鈕,應立即顯示該組的組別數字,同時機內喇叭發出“叮咚”的提示音,按“取消”鍵,返回“0”閃爍狀態。。
(3) 違規搶答
當主持人讀題過程中,而未宣布搶答開始時按下搶答按鈕。主顯示屏將顯示該違規組號,及發出提示音。及該組的紅燈亮起。
編輯:jq
-
搶答器
+關注
關注
16文章
243瀏覽量
34487 -
顯示器
+關注
關注
21文章
4979瀏覽量
139986 -
cpu
+關注
關注
68文章
10863瀏覽量
211763 -
ROM
+關注
關注
4文章
572瀏覽量
85769 -
晶振
+關注
關注
34文章
2866瀏覽量
68036
原文標題:單片機四路搶答器課程設計
文章出處:【微信號:A1411464185,微信公眾號:multisim】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論