欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

Proteus仿真8086CPU 八人搶答器程序設計

[復制鏈接]
跳轉到指定樓層
樓主
這是最近幾天做的,利用proteus仿真軟件,做的八人搶答器~
附圖片,代碼。和整個工程

最后說一下,我用的proteus 8.6版本
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


8086源程序如下:
  1. ;====================================================================
  2. ; Main.asm file generated by New Project wizard
  3. ;
  4. ; Created:   周三 十一月 7 2018
  5. ; Processor: 8086
  6. ; Compiler:  MASM32
  7. ; Before starting simulation set Internal Memory Size
  8. ; in the 8086 model properties to 0x10000
  9. ;====================================================================

  10. DATA  SEGMENT
  11.         
  12.         ;U1
  13.         IOCON         EQU 8006H          ;設置com
  14.         IOA      EQU 8000H          ;設置A端口
  15.         IOB      EQU 8002H          ;設置B端口
  16.         IOC      EQU 8004H            ;設置C端口
  17.         
  18.         ;U2
  19.         IOCON2         EQU 9006H          ;設置com
  20.         IOA2     EQU 9000H          ;設置A端口
  21.         IOB2     EQU 9002H          ;設置B端口
  22.         IOC2     EQU 9004H            ;設置C端口
  23.         
  24.         X0      DB  0FEH
  25.         X1      DB  0FDH
  26.         X2      DB  0FBH
  27.         X3      DB  0F7H
  28.         
  29.         X4      DB  0EFH
  30.         X5      DB  0DFH
  31.         X6      DB  0BFH
  32.         X7      DB  07FH
  33.         
  34.         DISPLAY DB  6FH, 7FH, 07H, 7DH, 6DH, 66H, 4FH, 5BH, 06H
  35.         DATA    ENDS
  36.         CODE    SEGMENT
  37.         ASSUME  CS:CODE,DS:DATA
  38.         
  39.         
  40. START:  MOV     BX,OFFSET DISPLAY  ;把DISPLAY的有效地址送到BX

  41.         MOV        AL,80H             ;設置8255(1)的工作方式:方式0
  42.         MOV        DX,IOCON
  43.         OUT        DX,AL
  44.         
  45.         MOV        AL,80H             ;設置8255(2)的工作方式:方式0
  46.         MOV        DX,IOCON2
  47.         OUT        DX,AL
  48.         
  49.         
  50.         MOV        DX,IOC             ;按鍵保持高電平狀態   
  51.         MOV        AL,0FFH                  
  52.         OUT        DX,AL
  53.         
  54.         MOV        DX,IOC2            ;按鍵保持高電平狀態   
  55.         MOV        AL,0FFH                  
  56.         OUT        DX,AL
  57.         
  58.         MOV        DX,IOA2           
  59.         MOV        AL,0FFH                  
  60.         OUT        DX,AL
  61.         
  62.         MOV        AL,0FFH            ;設置LED燈初始保持關閉狀態
  63.         MOV        DX,IOB
  64.         OUT        DX,AL
  65.         
  66.         MOV     CX,9                ;設置重復次數

  67. BEGIN:  MOV     DX,IOC2             ;獲取IOC2的狀態
  68.         IN      AL,DX               ;把IOC2的狀態傳送到累加器AX(AL)
  69.         CMP     AL,X0               ;主持人按下啟動
  70.         JE      TIMER
  71.         JMP     BEGIN
  72.         
  73. TIMER:        
  74.         MOV        AL,0FEH        
  75.         MOV        DX,IOA2                    
  76.         OUT        DX,AL
  77.         
  78.         MOV     DX,IOC             ;獲取IOC的狀態
  79.         IN      AL,DX              ;把IOC的狀態傳送到累加器AX(AL)
  80.         
  81.         CMP     AL,X0              ;比較兩個數的大小 LED0
  82.         JE      LED0
  83.         CMP     AL,X1              ;比較兩個數的大小 LED1
  84.         JE      LED1
  85.         CMP     AL,X2              ;比較兩個數的大小 LED2
  86.         JE      LED2
  87.         CMP     AL,X3              ;比較兩個數的大小 LED3
  88.         JE      LED3
  89.         CMP     AL,X4              ;比較兩個數的大小 LED4
  90.         JE      LED4
  91.         CMP     AL,X5              ;比較兩個數的大小 LED5
  92.         JE      LED5
  93.         CMP     AL,X6              ;比較兩個數的大小 LED6
  94.         JE      LED6
  95.         CMP     AL,X7              ;比較兩個數的大小 LED7
  96.         JE      LED7
  97.         
  98.         MOV        DX,IOA  
  99.         MOV     AL,[BX]            ;取一個數據送到AL
  100.         OUT        DX,AL              ;IO輸出對應斷碼
  101.         INC     BX                 ;修改地址指針
  102.         DEC     CX                 ;循環次數減1
  103.         JZ      LED                ;CX=0跳轉LED
  104.         CALL        DELAY1             ;延時一段時間
  105.         
  106.         JMP        TIMER

  107. LED0:   MOV        AL,X0        
  108.         MOV        DX,IOB                     
  109.         OUT        DX,AL
  110.         
  111.         MOV        AL,0FDH        
  112.         MOV        DX,IOA2                    
  113.         OUT        DX,AL
  114.         
  115.         JMP        STOP
  116. LED1:   MOV        AL,X1        
  117.         MOV        DX,IOB                     
  118.         OUT        DX,AL
  119.         
  120.         MOV        AL,0FDH        
  121.         MOV        DX,IOA2                    
  122.         OUT        DX,AL
  123.         
  124.         JMP        STOP
  125. LED2:   MOV        AL,X2        
  126.         MOV        DX,IOB                     
  127.         OUT        DX,AL
  128.         
  129.         MOV        AL,0FDH        
  130.         MOV        DX,IOA2                    
  131.         OUT        DX,AL
  132.         
  133.         JMP        STOP               
  134. LED3:   MOV        AL,X3        
  135.         MOV        DX,IOB                     
  136.         OUT        DX,AL
  137.         
  138.         MOV        AL,0FDH        
  139.         MOV        DX,IOA2                    
  140.         OUT        DX,AL
  141.         
  142.         JMP        STOP
  143. LED4:   MOV        AL,X4        
  144.         MOV        DX,IOB                     
  145.         OUT        DX,AL
  146.         
  147.         MOV        AL,0FDH        
  148.         MOV        DX,IOA2                    
  149.         OUT        DX,AL
  150.         
  151.         JMP        STOP
  152. LED5:   MOV        AL,X5        
  153.         MOV        DX,IOB                     
  154.         OUT        DX,AL
  155.         
  156.         MOV        AL,0FDH        
  157.         MOV        DX,IOA2                    
  158.         OUT        DX,AL
  159.         
  160.         JMP        STOP
  161. LED6:   MOV        AL,X6        
  162.         MOV        DX,IOB                     
  163.         OUT        DX,AL
  164.         
  165.         MOV        AL,0FDH        
  166.         MOV        DX,IOA2                    
  167.         OUT        DX,AL
  168.         
  169.         JMP        STOP               
  170. LED7:   MOV        AL,X7        
  171.         MOV        DX,IOB                     
  172.         OUT        DX,AL
  173.         
  174.         MOV        AL,0FDH        
  175.         MOV        DX,IOA2                    
  176.         OUT        DX,AL
  177.         
  178.         JMP        STOP        
  179.         
  180. STOP:   MOV        DX,IOA  
  181.         MOV     AL,[BX]             ;取一個數據送到AL
  182.         OUT        DX,AL               ;IO輸出對應斷碼
  183.         
  184.         MOV     DX,IOC2            
  185.         IN      AL,DX            
  186.         CMP     AL,X1
  187.         JE        START
  188.         
  189.         JMP     STOP
  190.         
  191. LED:    MOV        AL,0F0H            ;如果沒人搶答,四個LED閃爍
  192.         MOV        DX,IOB
  193.         OUT        DX,AL
  194.         CALL        DELAY2
  195.         MOV        AL,0FFH            
  196.         MOV        DX,IOB
  197.         OUT        DX,AL
  198.         
  199.         CALL        DELAY2
  200.         MOV        AL,0F0H            
  201.         MOV        DX,IOB
  202.         OUT        DX,AL
  203.         CALL        DELAY2
  204.         MOV        AL,0FFH            
  205.         MOV        DX,IOB
  206.         OUT        DX,AL
  207.         
  208.         CALL        DELAY2
  209.         MOV        AL,0F0H            
  210.         MOV        DX,IOB
  211.         OUT        DX,AL
  212.         CALL        DELAY2
  213.         MOV        AL,0FFH            
  214.         MOV        DX,IOB
  215.         OUT        DX,AL
  216.         CALL        DELAY2
  217.         
  218.         MOV     BX,OFFSET DISPLAY   ;把DISPLAY的有效地址送到BX
  219.         MOV     CX,9                ;設置重復次數
  220.         JMP     TIMER               
  221.         
  222. DELAY1:        
  223.         PUSH        AX
  224.         PUSH        CX
  225.         MOV        CX,0004H
  226. DELY2:        
  227.         CALL        DELAY2
  228.         LOOP        DELY2
  229.         POP        CX
  230.         POP        AX
  231.         RET
  232. DELAY2:        
  233.         PUSH        CX
  234.         MOV        CX,0f000H
  235.         ;--------------------------------------;
  236.         MOV     DX,IOC             ;獲取IOC的狀態
  237.         IN      AL,DX              ;把IOC的狀態傳送到累加器AX(AL)
  238.         
  239.         CMP     AL,X0              ;比較兩個數的大小 LED0
  240.         JE      LED0
  241.         CMP     AL,X1              ;比較兩個數的大小 LED1
  242.         JE      LED1
  243.         CMP     AL,X2              ;比較兩個數的大小 LED2
  244.         JE      LED2
  245.         CMP     AL,X3              ;比較兩個數的大小 LED3
  246.         JE      LED3
  247.         CMP     AL,X4              ;比較兩個數的大小 LED4
  248.         JE      LED4
  249.         CMP     AL,X5              ;比較兩個數的大小 LED5
  250.         JE      LED5
  251.         CMP     AL,X6              ;比較兩個數的大小 LED6
  252.         JE      LED6
  253.         CMP     AL,X7              ;比較兩個數的大小 LED7
  254.         JE      LED7
  255.         ;--------------------------------------;
  256. DELA1:        
  257.         LOOP        DELA1
  258.         POP        CX
  259.         RET
  260.         
  261. ENDLESS:
  262.         JMP     ENDLESS
  263. CODE    ENDS
  264.         END START
復制代碼

所有資料51hei提供下載:
八人搶答器.rar (81.07 KB, 下載次數: 122)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:789456 發表于 2020-6-25 13:54 | 只看該作者
除了黑幣還有別的方法看到你的工程文件嗎
回復

使用道具 舉報

無效樓層,該帖已經被刪除
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表