;掌握工业顺序控制的简单编程,中断的使用
	    ORG 0000H
	    SJMP MAIN
	    ORG 0013H
	    LJMP INTO
MAIN:	 MOV P1,#00H
	    ORL P3,#00H
PO11:	JNB P3.4,PO11		;开工吗?
	    ORL IE,#84H
	    ORL IP,#04H
	    MOV PSW,#00H		;初始化
	    MOV SP,#53H
PO12:	MOV P1,#01H		;第一道工序
	    ACALL PO1BH
	    MOV P1,#02H		;第二道工序
	    ACALL PO1BH
	    MOV P1,#04H		;第三道工序
	    ACALL PO1BH
	    MOV P1,#08H		;第四道工序
	    ACALL PO1BH
	    MOV P1,#10H		;第五道工序
	    ACALL PO1BH
	    MOV P1,#20H		;第六道工序
	    ACALL PO1BH
	    MOV P1,#40H		;第七道工序
	    ACALL PO1BH
	    SJMP PO12
INTO:	 MOV B,R2		;保护现场
PO17:	 MOV P1,#00H		;关输出
	    MOV 20H,#0A0H		;振荡次数
PO18:	SETB P1.7		;振荡
	   ACALL PO1A		;延时
	   CLR P1.7		;停止
	   ACALL PO1A		;延时
	   DJNZ 20H,PO18		;不为零转
	   CLR P1.7
	   ACALL PO1A
	   JNB P3.3,PO17		;故障消除吗?
	   MOV R2,B		;恢复现场
	   RETI
PO19:	MOV R2,#10H		;延时1
	   ACALL DELY
	   RET
PO1A:	MOV R2,#06H		;延时2
	   ACALL DELY
	   RET
PO1BH:	 MOV R2,#30H		;延时3
	    ACALL DELY
	    RET
DELY:	PUSH 02H		;延时子程序
DEL2:	PUSH 02H
DEL3:	PUSH 02H
DEL4:	DJNZ R2,DEL4
	    POP 02H
	    DJNZ R2,DEL3
	    POP 02H
	    DJNZ R2,DEL2
	    POP 02H
	    DJNZ R2,DELY
	    RET
	    END
