在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些继续生产过程,按某种顺序有规律地完成预定的动作,对这类继续生产过程的控制称为称顺序控制,例注塑机工艺过程大致按"合模→注射→延时→开模→产伸→产退"顺序动作,用单片机最易实现。 P1.0~P1.6控制七只发光二极管的点亮,模拟注塑机的七道工序,低电平有效,设定每道工序时间转换为延时。P3.4为开工启动开关,高电平启动;P3.3为外部故障输入模拟信号,低电平报警;P1.7为报警声音输出。设定前6道工序每道工序只有一位输出低电平点亮一位LED,第七道工序三位有输出,点亮三位LED。 注意程序中将P1.7改成了P2.7 把八路拨动开关某两位用两条数据线,分别接P3.3、P3.4,然后把P1 口的P1.0-P1.连接到八路LED指示灯。用P2.7口接蜂鸣器。按图接好连线。 把P3.3 拨到高电平,然后执行程序,把P3.4拨到高电平,开工启动流水线,观察发光二极管点亮情况,确定工序执行是否正常。然后把P3.3置为低电平,看是否有声音报警,然后撤销中断。观察报警是否停止,是否从刚才报警时一道程序执行下去。- ORG 0000H
- AJMP MAIN
- ORG 0013H
- AJMP IX1P
- ORG 0500H
- MAIN: MOV SP,#60H
- ORL IE,#84H;10000001B EA = 1; EX1 = 1
- ;开外部中断1
- PO11: JB P3.4,PO12
- JNB P3.4,PO11
- IX1P: MOV B, R2 ;保护现场
- PO17: MOV P1,#0FFH;报警,停止所有工序
- MOV 20H, #0A0H ;振荡次数
- PO18: SETB P2.7 ;振荡
- ACALL PO1A ;延时
- CLR P2.7 ;停振
- ACALL PO1A ;延时
- DJNZ 20H, PO18 ;不为0转
- CLR P2.7 ;停振
- ACALL PO1A
- JNB P3.3, PO17 ;故障消除吗?
- MOV R2, B ;恢复现场
- RETI
- PO12: MOV P1, #0FEH ;第一道工序
- ACALL PO1B
- MOV P1, #0FDH ;第二道工序
- ACALL PO1B
- MOV P1, #0FBH ;第三道工序
- ACALL PO1B
- MOV P1, #0F7H ;第四道工序
- ACALL PO1B
- MOV P1, #0EFH ;第五道工序
- ACALL PO1B
- MOV P1, #0DFH ;第六道工序
- ACALL PO1B
- MOV P1, #8FH ;第七道工序
- ACALL PO1B
- SJMP PO11
- PO19: MOV R2, #10H
- ACALL DELY ;延时1
- RET
- PO1A: MOV R2, #06H
- ACALL DELY ;延时2
- RET
- PO1B: MOV R2, #30H
- ACALL DELY ;延时3
- RET
- ORG 0200H
- DELY: PUSH 02H ;R2设置延时时间
- 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
复制代码
|