久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5717|回復: 6
打印 上一主題 下一主題
收起左側

Protuse7.8仿真8086搶答器 附源程序

[復制鏈接]
跳轉到指定樓層
樓主
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八路競賽搶答器的硬件框圖

3.2通過譯碼器產生片選信號

3.3顯示電路設計
8255芯片的A口分別與數碼管的八個引腳相連。將8255芯片中需要顯示的信息通過A口送入數碼顯示區,由數碼管的亮滅顯示出來。

3.4異或門實現禁止多位選手搶答
3.5搶答電路設計
3.6開始搶答和復位電路  (開始按鈕要有對鎖存信號的清除功能)
8255芯片的PC0口對應【搶答】按鍵,PC1口對應【復位】按鍵。將搶答開始和結束的信號(由開始按鍵和復位按鍵控制)通過C口送入8255芯片。二極管的作用:開始按鈕清除鎖存信號,而鎖存信號不影響開始按鈕。
4. 軟件設計
4.1主程序流程圖

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)



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:705047 發表于 2020-3-19 16:13 | 只看該作者
這個實驗里面的選手7與選手8反了要注意
開始搶答后倒數10秒,搶到顯示搶到人的序號
復位后重新開始
回復

使用道具 舉報

板凳
ID:705047 發表于 2020-3-19 16:23 | 只看該作者
本帖最后由 colorb 于 2020-3-20 17:36 編輯
colorb 發表于 2020-3-19 16:13
這個實驗里面的選手7與選手8反了要注意,3與4也反了
開始搶答后倒數10秒,搶到顯示搶到人的序號
復位后重新開始

原理圖中U8的D2 D3腳
U7的D2 D3腳
的網絡標號換一下即可恢復正常
回復

使用道具 舉報

地板
ID:796302 發表于 2020-7-4 15:54 | 只看該作者
運行后按下復位鍵再按搶答鍵為什么就不正常了呢,無論哪個選手按下輸出C:\Users\cang'hai'yi'xiao\Desktop都變成0
回復

使用道具 舉報

5#
ID:801561 發表于 2020-7-13 10:53 | 只看該作者
有幾個搶答按鈕顯示的數字不正確 沒有顯示對應的數字而是顯示0
回復

使用道具 舉報

6#
ID:227463 發表于 2020-7-18 09:23 | 只看該作者
Maxwell23 發表于 2020-7-13 10:53
有幾個搶答按鈕顯示的數字不正確 沒有顯示對應的數字而是顯示0

常按按鍵就可以,都可以正常顯示
回復

使用道具 舉報

7#
ID:806537 發表于 2020-7-21 23:59 | 只看該作者
正好這幾天做這個八位競賽器的設計,運行總是出現問題,而這個帖子給了一個比較好的參考。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品a久久久久 | 欧美精品一区二区三区蜜臀 | 国产精品一区二区不卡 | 九九九久久国产免费 | 中文字幕日韩一区二区 | 欧美三级电影在线播放 | 亚洲精品视频在线 | 亚洲欧美国产毛片在线 | 精品久久久久久久 | 亚洲综合热 | 在线免费中文字幕 | 中文字幕高清av | 日韩一区二区三区视频在线播放 | 久久久女女女女999久久 | 国产精品美女久久久 | 成人小视频在线观看 | 九九综合九九 | 日日摸夜夜添夜夜添特色大片 | 午夜影院视频 | 欧洲高清转码区一二区 | 欧美精品久久 | 亚洲资源在线 | 一级在线观看 | 久久久男人的天堂 | 爱爱视频网 | 免费看一级毛片 | 亚洲午夜精品一区二区三区他趣 | 国产96色在线 | 免费三级黄 | xx视频在线观看 | 亚洲精久久 | 黄片毛片 | 精品视频一区二区 | 欧美日一区二区 | 高清亚洲 | 婷婷久久久久 | 成人在线小视频 | 一区二区三区高清 | 日韩和的一区二区 | 欧美一二三四成人免费视频 | 日韩欧美国产精品综合嫩v 一区中文字幕 |