工业顺序控制模拟

来源:互联网 发布:淘宝上买精密管犯法吗? 编辑:程序博客网 时间:2024/04/29 10:27

ORG 0000H
SJMP    START
        ORG 0003H
LJMP    WARN
        ORG 0030H
START:
        SETB IT0
        SETB EX0
     SETB EA
        MOV P1,#0EFH
     MOV P3,#0FFH
MAIN:
        JNB P3.3,RING
        JNB P3.4,WK0
     SJMP $
WK0 :  MOV P1,#01111110B
        ACALL SWITCH2 
  ACALL SWITCH1
       ACALL DELAY
WK1 : MOV P1,#01111101B
  ACALL SWITCH2
  ACALL SWITCH1
       ACALL DELAY
WK2 : MOV P1,#01111011B
        ACALL SWITCH2
  ACALL SWITCH1
       ACALL DELAY
WK3 : MOV P1,#01110111B
        ACALL SWITCH2
  ACALL SWITCH1
       ACALL DELAY
WK4: MOV P1,#01101111B
        ACALL SWITCH2
  ACALL SWITCH1
       ACALL DELAY
WK5: MOV P1,#01011111B
        ACALL SWITCH2
  ACALL SWITCH1
       ACALL DELAY
WK6:    MOV P1,#00111111B
        ACALL SWITCH2
  ACALL SWITCH1
       ACALL DELAY              

  AJMP WK0

SWITCH2:JNB P3.3,RING
        RET

SWITCH1:JB P3.4,$
        RET

DELAY : MOV R5,#20
  DLY0: MOV R7,#100
  DLY1: MOV R6,#98
  DLY2: DJNZ R6,DLY2
        DJNZ R7,DLY1
  DJNZ R5,DLY0
  RET
  
RING:  SETB P1.7
       ACALL DELAY
    CPL P1.7
    JNB P3.3,RING
    RET


WARN:PUSH PSW
     PUSH ACC
  ACALL RING
  POP ACC
  POP PSW
  RETI

END
DELAY : MOV R5,#20
  DLY0: MOV R7,#100
  DLY1: MOV R6,#98
  DLY2: DJNZ R6,DLY2
        DJNZ R7,DLY1
  DJNZ R5,DLY0
  RET
  
RING:  SETB P1.7
       ACALL DELAY
    CPL P1.7
    JNB P3.3,RING
    RET


WARN:PUSH PSW
     PUSH ACC
  ACALL RING
  POP ACC
  POP PSW
  RETI

END

原创粉丝点击