发表于:2007-08-06 00:28:00
5楼
;---<sub_program>--
X0 EQU 20H
Y0 EQU 21H
SHUT EQU X0.0 ;关按钮
OPEN EQU X0.1 ;开按钮
S_BIT EQU Y0.0 ;接星输出
D_BIT EQU Y0.0 ;接角输出
PRG_0: JNB SHUT,PRG_1
CLR S_BIT
CLR D_BIT
MOV 30H,#xxH 延时数值1
MOV 31H,#xxH 延时数值2
JMP PRG_END
PRG_1: JUB OPEN,PRG_2;
JB D_BIT,PRG_END
SETB S_BIT
PRG_2: JNB S_BIT,PRG_END
DJNZ 30H,PRG_END
MOV 30H,#xxH
DJNZ 31H,PRG_END
MOV 30H,#xxH
MOV 31H.#xxH
CLR S_BIT
SETB D_BIT
PRG_END:RET
注释:1/子程序由主程序调用
2/这里用的是简单延时方式,若要准确就要用中断计时
3/具体外接P端口,自行决定