掌握工业顺序控制程序的简单编程,中断的使用。
实验内容
1.实验原理图:
2.实验内容
8032的P1.0—P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,高电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,低电平启动。P3.3为外故障输入模拟开关,P3.3为0时不断告警。P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。
3、实验说明
实验中用外部中断0,编中断服务程序的关键是:
(1)保护进入中断时的状态,并在退出中断之前恢复进入状态。
(2)必须在中断程序中设定是否允许中断重入,即设置EX0位。
一般中断程序进入时应保护PSW、ACC以及中断程序使用但非其专用的寄存器,本实验中未涉及。
三、程序
程序清单:
ORG 0013H
LJMP HA2S3
ORG 0580H
HA2S: MOV P1,#07FH
ORL P3,#00H
HA2S1: JNB P3.4,HA2S1
ORL IE,#84H
ORL IP,#04H
MOV PSW,#00H
MOV SP,#53H
HA2S2: MOV P1,#07EH
ACALL HA2S7
MOV P1,#07DH
ACALL HA2S7
MOV P1,#07BH
ACALL HA2S7
MOV P1,#077H
ACALL HA2S7
MOV P1,#06FH
ACALL HA2S7
MOV P1,#05FH
ACALL HA2S7
MOV P1,#03FH
ACALL HA2S7
SJMP HA2S2
HA2S3: MOV B,R2
HA2S4: MOV P1,#07FH
MOV 20H,#0A0H
HA2S5: SETB P1.7
ACALL HA2S6
CLR P1.7
ACALL HA2S6
DJNZ 20H,HA2S5
CLR P1.7
ACALL HA2S6
JNB P3.2,HA2S4
MOV R2,B
RETI
HA2S6: MOV R2,#06H
ACALL DELAY
RET
HA2S7: MOV R2,#30H
ACALL DELAY
RET
DELAY: PUSH 02H
DELAY1: PUSH 02H
DELAY2: PUSH 02H
DELAY3: DJNZ R2,DELAY3
POP 02H
DJNZ R2,DELAY2
POP 02H
DJNZ R2,DELAY1
POP 02H
DJNZ R2,DELAY
RET
END
四、实验步骤
① P3.4连K1,P3.2连K2,P1.0—P1.6分别连到L1—L7,P1.7连SIN(电子音响输入端)。
②K1开关拨在上面,K2拨在上面。
③用连续方式从起始地址0580H开始运行程序(输入0580后按EXEC键),此时应在等待开工状态。
④K1拨至下面(显低电平),各道工序应正常运行。
⑤K2拨至下面(低电平),应有声音报警(人为设置故障)。
⑥K2拨至上面(高电平),即排除故障,程序应从刚才报警的那道工序继续执行。