实验三单片机工业顺序控制.docx
《实验三单片机工业顺序控制.docx》由会员分享,可在线阅读,更多相关《实验三单片机工业顺序控制.docx(7页珍藏版)》请在冰豆网上搜索。
实验三单片机工业顺序控制
实验三-单片机工业顺序控制
实验三单片机工业顺序控制(设计型)
一、实验目的与要求
1.学习和掌握单片机工业顺序控制程序的应用编程;
2.熟悉和掌握单片机中断功能的使用。
二、实验仪器
1、DJ-598KC单片机开发系统1台
2、仿真器(EASYPROBE)1只
3、PC机1台
三、实验内容(2学时)
在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些连续生产过程,按某种顺序有规律地完成预定的动作,对这类连续生产过程的控制称顺序控制,象注塑机工艺过程大致按“合模→注射→延时→开模→产伸→产退”顺序动作,用单片机最易实现。
设由单片机P1.0~1.6控制注塑机的七道工序,模拟控制七只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时时间,P3.4为开工启动开关,高电平启动。
P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定前6道工序只有一位输出,第七道工序三位有输出。
(1)实验电路及接线图
(2)实验程序框图
四、实验步骤:
按图接好连线。
执行程序,把K1接到高电平,观察发光二极管点亮情况,确定工序执行是否正常,然后把K2置为低电平,看是否有声音报警,恢复中断1.报警停,又从刚才报警时一道程序执行下去。
可用单步、单步跟踪,非全速断点、全速断点,连续执行功能调试软件,直到符合自己程序设计要求为止。
五、实验参考程序
1汇编代码程序:
(E:
\DJ51\598KASM\HW04.ASM)
ORG0000H
LJMPPO10
ORG0013H
LJMPPO16
ORG0190H
PO10:
MOVP1,#7FH
ORLP3,#00H
PO11:
JNBP3.4,PO11;开工吗?
ORLIE,#84H
ORLIP,#04H
MOVPSW,#00H;初始化
MOVSP,#53H
PO12:
MOVP1,#7EH;第一道工序
ACALLPO1B
MOVP1,#7DH;第二道工序
ACALLPO1B
MOVP1,#7BH;第三道工序
ACALLPO1B
MOVP1,#77H;第四道工序
ACALLPO1B
MOVP1,#6FH;第五道工序
ACALLPO1B
MOVP1,#5FH;第六道工序
ACALLPO1B
MOVP1,#0FH;第七道工序
ACALLPO1B
SJMPPO12
PO16:
MOVB,R2;保护现场
PO17:
MOVP1,#7FH;关输出
MOV20H,#0A0H;振荡次数
PO18:
SETBP1.7;振荡
ACALLPO1A;延时
CLRP1.7;停振
ACALLPO1A;延时
DJNZ20H,PO18;不为0转
CLRP1.7
ACALLPO1A;停振
JNBP3.3,PO17;故障消除吗?
MOVR2,B;恢复现场
RETI
PO19:
MOVR2,#10H
ACALLDELY;延时1
RET
PO1A:
MOVR2,#06H
ACALLDELY;延时2
RET
PO1B:
MOVR2,#30H
ACALLDELY;延时3
RET
DELY:
PUSH02H
DEL2:
PUSH02H
DEL3:
PUSH02H;延时
DEL4:
DJNZR2,DEL4
POP02H
DJNZR2,DEL3
POP02H
DJNZR2,DEL2
POP02H
DJNZR2,DELY
RET
END
2C代码程序:
(E:
\DJ51\51C\HW04.C)
#include
sbitP1_7=P1^7;
sbitP3_3=P3^3;
sbitP3_4=P3^4;
voiddelay(unsignedinti)
{
unsignedintj,k;
for(k=0;k
for(j=0;j<100;j++);
}
voidint1_int(void)interrupt2
{
EX1=0;
图;
2.整理实验程序清单,并给程序加详细注释;
3.总结实验中出现的问题并进行解决的方法;
4.给出实验结果及对实验的改进意见。