工业顺序控制模拟

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值