找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5065|回复: 2
收起左侧

8086定时洗衣机Proteus仿真+汇编代码(带注水 洗衣 排水 甩干模拟)

[复制链接]
ID:442601 发表于 2018-12-9 16:47 | 显示全部楼层 |阅读模式
8086cpu芯片洗衣机仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)带带注水 洗衣 排水 甩干4个按钮
0.png 0.png

源程序如下:
  1. ;上一片8255的地址
  2. PA                EQU                08H        
  3. PB                EQU                0AH
  4. PC                EQU                0CH
  5. CONW                EQU                0EH
  6. ;下一片8255的地址
  7. PA1                EQU                20H        
  8. PB1                EQU                22H
  9. PC1                EQU                24H
  10. CONW1                EQU                26H
  11. ;8253
  12. AD82530                EQU                10H
  13. AD82531                EQU                12H
  14. AD82532                EQU                14H
  15. AD8253CONW        EQU                16H
  16. ;
  17. AD82590                EQU                20H
  18. AD82591                EQU                22H
  19. ;============================
  20. STACK        SEGMENT        STACK      
  21.         DB        200        DUP(0)
  22. STACK ENDS
  23. ;============================

  24. DATA        SEGMENT
  25.         LED_TAB                DB        3FH, 06H, 5BH, 4FH, 66H
  26.                         DB        6DH, 7DH, 07H, 7FH, 6FH
  27.                         DB        77H, 7CH, 39H, 5EH, 79H, 71H
  28.         MMM                DB        0
  29.         SSS                DB        0
  30.         ONE                DB  5
  31.         TWO                DB  15
  32.         THREE        DB  5
  33.         FOUR        DB  15
  34. DATA        ENDS
  35. ;=============================

  36. CODE        SEGMENT
  37. ASSUME        CS:CODE, DS:DATA
  38. START:
  39.         PUSH        DS
  40.         MOV        AX, DATA
  41.         MOV        DS, AX
  42.         ;=================
  43.         ;设置中断向量8253
  44.         CLI               
  45.         MOV        AX, 0
  46.         MOV        ES, AX            
  47.         MOV        SI, 08H              
  48.         MOV        AX, OFFSET TIME_INT           
  49.         MOV        ES:[SI], AX
  50.         MOV        AX, CS               
  51.         MOV        ES:[SI+2], AX
  52.         ;=================
  53.         ;初始化8255A
  54.         MOV        AL, 80H
  55.         OUT        CONW, AL
  56.         
  57.         ;MOV        AL, 80H
  58.         ;OUT        CONW1, AL
  59.         
  60.         ;初始化8253
  61.         MOV        AL, 36H
  62.         OUT        AD8253CONW, AL
  63.         MOV        AX, 65000
  64.         OUT        AD82530, AL
  65.         MOV        AL, AH
  66.         OUT        AD82530, AL


  67.         ;===============
  68.         LL:
  69.         ;=================
  70.                 ;CALL        IS_AD_TIMT
  71.                 CALL        PRINT_ALL
  72.         ;=================
  73.         JMP        LL

  74. INC_S:
  75.         PUSH        AX
  76.         INC        SSS
  77.         MOV        AL, SSS
  78.         CMP        AL, 60
  79.         JNE        ENDIF0
  80.                 MOV        AL, 0
  81.                 MOV        SSS, AL
  82.                 CALL        INC_M
  83.         ENDIF0:
  84.         POP        AX
  85.         RET
  86. INC_M:
  87.         PUSH        AX
  88.         INC        MMM
  89.         MOV        AL, MMM
  90.         CMP        AL, 60
  91.         JNE        ENDIF1
  92.                 MOV        AL, 0
  93.                 MOV        MMM, AL
  94.                 ;CALL        INC_H
  95.         ENDIF1:
  96.         POP        AX
  97.         RET
  98. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        
  99.                
  100. DENG1:        MOV        AL, ONE
  101.                 CMP        AL, 0
  102.                 JNE        DENG11
  103.                 JE        DENG2
  104. DENG11:
  105.                 DEC        ONE
  106.                 MOV DX,PC
  107.                 MOV AL,01H            ;第一个灯亮
  108.                 OUT DX,AL
  109.                 RET
  110. DENG2:               
  111.                 MOV        AL, TWO
  112.                 CMP        AL, 0
  113.                 JNE        DENG22
  114.                 JE        DENG3
  115. DENG22:
  116.                 DEC TWO
  117.             MOV DX,PC
  118.         MOV AL,02H            ;第二个灯亮
  119.         OUT DX,AL
  120.                 RET
  121. DENG3:
  122.                 MOV        AL, THREE
  123.                 CMP        AL, 0
  124.                 JNE DENG33
  125.                 JE DENG4
  126. DENG33:
  127.                 DEC THREE
  128.                 MOV DX,PC
  129.                 MOV AL,04H            ;第三个灯亮
  130.                 OUT DX,AL
  131.                 RET
  132. DENG4:        
  133.                 MOV        AL, FOUR
  134.                 CMP        AL, 0
  135.                 JNE DENG44
  136.                 JE DENG5
  137. DENG44:
  138.                 DEC FOUR
  139.                 MOV DX,PC
  140.                 MOV AL,08H             ;第四个灯亮
  141.                 OUT DX,AL
  142.                 RET               
  143. DENG5:        
  144.                 MOV AL,5
  145.                 MOV ONE,AL
  146.                 MOV AL,15
  147.                 MOV TWO,AL
  148.                 MOV AL,5
  149.                 MOV THREE,AL
  150.                 MOV AL,15
  151.                 MOV FOUR,AL
  152.                 MOV AL,0
  153.                 MOV MMM,AL
  154.                 MOV AL,0
  155.                 MOV SSS,AL
  156.                 RET                                
  157.         
  158. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        
  159. WRITE_LED:        ;(位选, 数字)                ;写某一位数码管
  160.         MOV        BP, SP
  161.         PUSH        AX
  162.         PUSH        DX
  163.         ;=========
  164.         MOV        AX, [BP + 4]
  165.         OUT        PB, AL
  166.         MOV        BX, [BP + 2]
  167.         LEA        SI, LED_TAB
  168.         MOV        AL, [BX + SI]
  169.         OUT        PA, AL
  170.         ;=========
  171.         POP        DX
  172.         POP        AX
  173.         RET        4
  174. PRINT_TIME:        ;(时0分2秒4,数值)        ;写时分秒
  175.         MOV        BP, SP
  176.         PUSH        AX
  177.         PUSH        DX
  178.         PUSH        CX
  179.         ;=============
  180.         MOV        AX, [BP + 2]
  181.         MOV        DL, 10
  182.         DIV        DL
  183.         MOV        CL, AH
  184.         MOV        DX, [BP + 4]
  185.         PUSH        DX
  186.         XOR        AH, AH
  187.         PUSH        AX
  188.         CALL        WRITE_LED
  189.         CALL        DELAY
  190.         INC        DX
  191.         PUSH        DX
  192.         XOR        CH, CH
  193.         PUSH        CX
  194.         CALL        WRITE_LED
  195.         ;=============
  196.         POP        CX
  197.         POP        DX
  198.         POP        AX
  199.         RET        4
  200. PRINT_ALL:                        ;显示时间
  201.         PUSH        AX
  202.         ;============HOUR
  203.         MOV        AX, 2
  204.         PUSH        AX
  205.         MOV        AL, MMM
  206.         XOR        AH, AH
  207.         PUSH        AX
  208.         CALL        PRINT_TIME
  209.         CALL        DELAY
  210.         POP        AX
  211.         ;============MINUTE
  212.         PUSH        AX
  213.         MOV        AX, 4
  214.         PUSH        AX
  215.         MOV        AL, SSS
  216.         XOR        AH, AH
  217.         PUSH        AX
  218.         CALL        PRINT_TIME
  219.         CALL        DELAY
  220.         POP        AX
  221.         ;==============SECOND
  222.         D1:               
  223.                         MOV        AL, ONE
  224.                         CMP        AL, 0
  225.                         JNE        D11
  226.                         JE        D2
  227.         D11:
  228.                         PUSH        AX
  229.                         ;==============SECOND
  230.                         MOV        AX, 0
  231.                         PUSH        AX
  232.                         MOV        AL, ONE
  233.                         XOR        AH, AH
  234.                         PUSH        AX
  235.                         CALL        PRINT_TIME
  236.                         CALL        DELAY
  237.                         POP        AX
  238.                         RET
  239.         D2:               
  240.                         MOV        AL, TWO
  241.                         CMP        AL, 0
  242.                         JNE        D22
  243.                         JE        D3
  244.         D22:
  245.                         PUSH        AX
  246.                         ;==============SECOND
  247.                         MOV        AX, 0
  248.                         PUSH        AX
  249.                         MOV        AL, TWO
  250.                         XOR        AH, AH
  251.                         PUSH        AX
  252.                         CALL        PRINT_TIME
  253.                         CALL        DELAY
  254.                         POP        AX
  255.                         RET
  256.         D3:
  257.                         ;DEC EEE
  258.                         MOV        AL, THREE
  259.                         CMP        AL, 0
  260.                         JNE D33
  261.                         JE D4
  262.         D33:
  263.                         PUSH        AX
  264.                         ;==============SECOND
  265.                         MOV        AX, 0
  266.                         PUSH        AX
  267.                         MOV        AL, THREE
  268.                         XOR        AH, AH
  269.                         PUSH        AX
  270.                         CALL        PRINT_TIME
  271.                         CALL        DELAY
  272.                         POP        AX
  273.                         RET
  274.         D4:        
  275.                         MOV        AL, FOUR
  276.                         CMP        AL, 0
  277.                         JNE D44
  278.                         JE D1
  279.         D44:
  280.                         PUSH        AX
  281.                         ;==============SECOND
  282.                         MOV        AX, 0
  283.                         PUSH        AX
  284.                         MOV        AL, FOUR
  285.                         XOR        AH, AH
  286.                         PUSH        AX
  287.                         CALL        PRINT_TIME
  288.                         CALL        DELAY
  289.                         POP        AX
  290.                         RET
  291.                
  292. DELAY:
  293.         PUSH        BX
  294. ……………………

  295. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
洗衣机.zip (31.44 KB, 下载次数: 180)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:6670 发表于 2019-12-17 21:39 | 显示全部楼层
用了两片8255??
回复

使用道具 举报

ID:673096 发表于 2019-12-26 14:58 | 显示全部楼层
pr仿真出现问题,打不开啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表