工业顺序控制
Document number【AA80KGB-AA98YT-AAT8CB-2A6UT-A18GG】
工业顺序控制
一实验目的
掌握工业顺序控制程序的简单编程:中断的使用。
二实验预备知识
在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律地完成预定的动作,对这类继续生产过程的控制称顺序控制,倒注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最易实现。
三实验内容
MCS-51的P1.0~P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,高电平启动。
P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。
四实验步骤
⑴P3.4连K1,P3.3连K2,P1.0~P1.6分别连到L1~L7,P1.7连SIN(电子音响输入端)。
⑵K1、K2开关拨在高电平“H”位置。
⑶编译、装载,以连续方式运行程序,此时应在等待开工状态。
⑷K1拨至低电平“L”位置,各道工序应正常运行。
⑸K2拨至低电平“L”位置,模拟故障发生,此时应有报警声。
⑹K2拨至高电平“H”位置,即排除故障,程序应从报警的那道工序继续执行。
五思考
1.修改程序,使第n道工序中有n位输出。
ORG 0000H
LJMP PO10
ORG 0013H
LJMP PO16
;----------------------------
ORG 0190H
PO10: MOV P1,#7FH
ORL P3,#00H
PO11: JNB P3.4,PO11 ;开工吗?
ORL IE,#84H
ORL IP,#01H
MOV PSW,#00H ;初始化
MOV SP,#53H
PO12: MOV P1,#7EH ;第一道工序
ACALL PO1B
MOV P1,#7CH ;第二道工序 ACALL PO1B
MOV P1,#78H ;第三道工序 ACALL PO1B
MOV P1,#70H ;第四道工序 ACALL PO1B
MOV P1,#60H ;第五道工序 ACALL PO1B
MOV P1,#40H ;第六道工序 ACALL PO1B
MOV P1,#00H ;第七道工序 ACALL PO1B
SJMP PO12
;----------------------------
PO16: MOV B,R2 ;保护现场PO17: MOV P1,#7FH ;关输出
MOV 20H,#0A0H ;振荡次数PO18: SETB P1.7 ;振荡
ACALL PO1A ;延时
CLR P1.7 ;停振
ACALL PO1A ;延时
DJNZ 20H,PO18 ;不为0转
CLR P1.7
ACALL PO1A ;停振
JNB P3.3,PO17 ;故障消除吗? MOV R2,B ;恢复现场
RETI
PO1A: MOV R2,#06H
ACALL DELY ;延时
RET
PO1B: MOV R2,#30H
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
2.若采用外部中断0模拟故障,软件及连线分别应怎么改?
连线:将P3.3连K2改为P3.2连K2
ORG 0000H
LJMP PO10
ORG 0003H
LJMP PO16
;----------------------------
ORG 0190H
PO10: MOV P1,#7FH
ORL P3,#00H
PO11: JNB P3.4,PO11 ;开工吗?
ORL IE,#81H
ORL IP,#01H
MOV PSW,#00H ;初始化
MOV SP,#53H
PO12: MOV P1,#7EH ;第一道工序
ACALL PO1B
MOV P1,#7DH ;第二道工序
ACALL PO1B
MOV P1,#7BH ;第三道工序
ACALL PO1B
MOV P1,#77H ;第四道工序
ACALL PO1B
MOV P1,#6FH ;第五道工序
ACALL PO1B
MOV P1,#5FH ;第六道工序
ACALL PO1B
MOV P1,#3FH ;第七道工序
ACALL PO1B
SJMP PO12
;----------------------------
PO16: MOV B,R2 ;保护现场
PO17: MOV P1,#7FH ;关输出
MOV 20H,#0A0H ;振荡次数
PO18: SETB P1.7 ;振荡
ACALL PO1A ;延时
CLR P1.7 ;停振
ACALL PO1A ;延时
DJNZ 20H,PO18 ;不为0转
CLR P1.7
ACALL PO1A ;停振
JNB P3.3,PO17 ;故障消除吗?
MOV R2,B ;恢复现场
RETI
PO1A: MOV R2,#06H
ACALL DELY ;延时
RET
PO1B: MOV R2,#30H
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
六实验总结
本次实验主要是学习对中断技术的应用,以及对中断源INT0,INT1,对中断控制的学习和理解。