1.簡易搶答器的設計內容和功能 l 以8086為核心,設計一個8位競賽搶答器:同時供8名選手或8個代表隊比賽,分別用8個按鈕SW1~SW8表示。 l 設置一個系統復位和搶答控制按鈕,按鈕由主持人控制。系統能進行多次搶答,選手1-8號任一按下搶答或者倒計時到0后能重新按下【搶答】按鈕進行搶答。 l 搶答器具有鎖存,清除鎖存與顯示功能。在主持人按【搶答】鍵開始之前出現搶答情況,雖然已經鎖存,但開始按鈕將鎖存信號清零。并且每次停止后,重新開始也會將之前搶答者的鎖存信號清除,進行下一輪的搶答。 l 搶答器具有定時搶答功能,且一次搶答的時間由主持人設定(如10秒)。當主持人啟動【搶答】鍵后,定時器進行減計時,同時揚聲器發出短暫的聲響,聲響持續的時間為0.5s左右。 l 參賽選手在設定的時間內進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統復位清除為止。 l 如果定時時間已到,無人搶答,本次搶答無效,系統報警并禁止搶答,定時顯示器上顯示00。 2. 設計思路 用8255A作為輸入輸出設備,A口輸出,c口高位作為輸出,B口作為鍵盤輸入,c口低位作為主持人控制鍵輸入。 8253A作為定時裝置,由0計時器產生1秒為周期的方波,其中高電平0.5秒,用此0.5秒的高電平作為1計數器 的門控制信號,控制1計數器的通斷!1計數器輸出一定頻率的脈沖,使揚聲器發聲! 用異或門配合組成電路實現禁止多位選手搶答 3. 硬件設計 3.1八路競賽搶答器的硬件框圖
1.PNG (6.95 KB, 下載次數: 79)
下載附件
2020-2-24 19:36 上傳
3.2通過譯碼器產生片選信號
圖片1.png (8.37 KB, 下載次數: 81)
下載附件
2020-2-24 19:36 上傳
3.3顯示電路設計 8255芯片的A口分別與數碼管的八個引腳相連。將8255芯片中需要顯示的信息通過A口送入數碼顯示區,由數碼管的亮滅顯示出來。
圖片2.png (24.45 KB, 下載次數: 93)
下載附件
2020-2-24 19:36 上傳
3.4異或門實現禁止多位選手搶答
圖片3.png (22.02 KB, 下載次數: 74)
下載附件
2020-2-24 19:37 上傳
3.5搶答電路設計
圖片4.png (26.46 KB, 下載次數: 86)
下載附件
2020-2-24 19:37 上傳
3.6開始搶答和復位電路 (開始按鈕要有對鎖存信號的清除功能) 8255芯片的PC0口對應【搶答】按鍵,PC1口對應【復位】按鍵。將搶答開始和結束的信號(由開始按鍵和復位按鍵控制)通過C口送入8255芯片。二極管的作用:開始按鈕清除鎖存信號,而鎖存信號不影響開始按鈕。
圖片5.png (7.18 KB, 下載次數: 82)
下載附件
2020-2-24 19:37 上傳
4. 軟件設計 4.1主程序流程圖
圖片6.png (28.49 KB, 下載次數: 84)
下載附件
2020-2-24 19:37 上傳
4.2程序設計 CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;8255初始化 MOV DX,0EEH MOV AL,10000011B ;A,B,C方式0,A,C輸出,B輸入 OUT DX,AL MOV BP,00 ;BP初值設置0 CC1: CALL BB1 ;開始顯示0 MOV DX,0ECH ;讀取C口低位值 IN AL,DX AND AL,0FH ;檢查主持人開始搶答鍵是否按下 CMP AL,0EH JNE CC1 ;沒按下,跳到cc1,繼續顯示0 CALL BB2 ;驅動揚聲器 MOV CX,0FFH MOV BP,10 ;設置搶答時間20秒 CC2: CALL BB1 ;按下,開始顯示20秒倒計時 MOV DX,0EAH ;讀取b口值,看是否有人搶答 IN AL,DX CMP AL,0FFH JNE CC3 ;有人搶,跳CC3處理 DEC COUNT JNZ CC2 MOV COUNT,50 ;沒人搶,倒計時,每延時一秒 DEC BP JS CC4 ;倒計時結束時跳CC4 JMP CC2 CC4:MOV BP,0 CALL BB1 CALL BB2 ;倒計時結束響喇叭 JMP CC1 CC3: MOV SI,08H ; 鍵值1-8 CALL BB2 NEXT: IN AL,DX CMP AL,TABLE2[SI] ;檢查鍵值 JE DONE DEC SI JMP NEXT DONE: MOV DX,0ECH ;顯示鍵值 MOV AL,0E0H OUT DX,AL LEA BX,TABLE1 ;取段碼 MOV AX,SI XLAT MOV DX,0E8H OUT DX,AL CALL DELAY CALL BB1 MOV DX,0ECH IN AL,DX AND AL,0FH ; 檢查停止鍵 CMP AL,0DH JNE DONE ; 按下,停止 MOV BP,0 CALL BB2 ;顯示00此處響喇叭(復位響喇叭 JMP CC1 ;準備下一輪搶答 BB1 PROC NEAR ;顯示子程序 MOV AL,0B0H ;第三位顯示 MOV DX,0ECH ;C口高位 OUT DX,AL ; 此為了數碼管完整顯示必須先送位后送段碼 MOV AX,BP MOV DL,0AH DIV DL MOV BX,OFFSET TABLE1 XLAT MOV DX,0E8H OUT DX,AL CALL DELAY MOV AL,70H ;第四位顯 MOV DX,0ECH ;C口高位 OUT DX,AL MOV AL,AH XLAT MOV DX,0E8H OUT DX,AL CALL DELAY RET BB1 ENDP BB2 PROC NEAR ;8253驅動發聲子程序 MOV AL,16H OUT 0F6H,AL MOV AX,1000 OUT 0F0H,AL MOV AH,AL OUT 0F0H,AL MOV AL,56H OUT 0F6H,AL MOV AL,2 OUT 0F2H,AL MOV CX,50 L: CALL DELAY LOOP L AND AL,00H ;關喇叭 OUT 0F6H,AL RET BB2 ENDP DELAY PROC NEAR ; 延時子程序 PUSH BX PUSH CX MOV BX,10 T0: MOV CX,0FFH T1: LOOP T1 DEC BX JNZ T0 POP CX POP BX RET DELAY ENDP CODE ENDS
DATA SEGMENT TABLE1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH TABLE2 DB 0FFH,0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
COUNT DB 50 ; 設置變量 DATA ENDS
END START
搶答器壓縮包:
簡易搶答器.zip
(55.27 KB, 下載次數: 212)
2020-2-24 19:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|