1、实验三 单片机工业顺序控制(设计型)一、实验目的与要求1学习和掌握单片机工业顺序控制程序的应用编程;2熟悉和掌握单片机中断功能的使用。二、实验仪器1、DJ-598KC单片机开发系统 1台2、仿真器(EASYPROBE) 1只3、PC 机 1台三、实验内容 (2学时)在工业控制中,象冲压、注塑、轻纺、制瓶等生产过程,都是一些连续生产过程,按某种顺序有规律地完成预定的动作,对这类连续生产过程的控制称顺序控制,象注塑机工艺过程大致按“合模注射延时开模产伸产退”顺序动作,用单片机最易实现。设由单片机P1.01.6控制注塑机的七道工序,模拟控制七只发光二极管的点亮,低电平有效,设定每道工序时间转换为延时
2、时间,P3.4为开工启动开关,高电平启动。P3.3为外部故障输入模拟开关,低电平报警,P1.7为报警声音输出,设定前6道工序只有一位输出,第七道工序三位有输出。(1) 实验电路及接线图(2) 实验程序框图四、实验步骤:按图接好连线。执行程序,把K1接到高电平,观察发光二极管点亮情况,确定工序执行是否正常,然后把K2置为低电平,看是否有声音报警,恢复中断1.报警停,又从刚才报警时一道程序执行下去。可用单步、单步跟踪,非全速断点、全速断点,连续执行功能调试软件,直到符合自己程序设计要求为止。五、实验参考程序 汇编代码程序:(E:DJ51598KASMHW04.ASM)ORG 0000HLJMP P
3、O10ORG 0013HLJMP PO16ORG 0190HPO10:MOV P1,#7FHORL P3,#00HPO11:JNB P3.4,PO11 ;开工吗?ORL IE,#84HORL IP,#04HMOV PSW,#00H ;初始化MOV SP,#53HPO12:MOV P1,#7EH ;第一道工序ACALL PO1BMOV P1,#7DH ;第二道工序ACALL PO1BMOV P1,#7BH ;第三道工序ACALL PO1BMOV P1,#77H ;第四道工序ACALL PO1BMOV P1,#6FH ;第五道工序ACALL PO1BMOV P1,#5FH ;第六道工序ACALL
4、PO1BMOV P1,#0FH ;第七道工序ACALL PO1BSJMP PO12PO16: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.7ACALL PO1A ;停振JNB P3.3,PO17 ;故障消除吗?MOV R2,B ;恢复现场RETIPO19:MOV R2,#10HACALL DELY ;延时1RETPO1A:MOV R2,#06HACALL DELY ;
5、延时2RETPO1B:MOV R2,#30HACALL DELY ;延时3RETDELY:PUSH 02HDEL2:PUSH 02HDEL3:PUSH 02H ;延时DEL4:DJNZ R2,DEL4POP 02HDJNZ R2,DEL3POP 02HDJNZ R2,DEL2POP 02HDJNZ R2,DELYRETEND C代码程序:(E:DJ5151CHW04.C)#includesbit P1_7=P17;sbit P3_3=P33;sbit P3_4=P34; void delay(unsigned int i) unsigned int j,k; for(k=0;ki;k+) fo
6、r(j=0;j100;j+); void int1_int(void) interrupt 2 EX1=0; while(P3_3=0) P1_7=1; delay(1); P1_7=0; delay(1); EX1=1; void main(void) EA=1; EX1=1; PX1=1; P1=0x7f; while(1) while(P3_4=1) 1) P1=0x7e; delay(500); P1=0x7d; delay(500); P1=0x7b; delay(500); P1=0x77; delay(500); P1=0x6f; delay(500); P1=0x5f; delay(500); P1=0x0f; delay(500); 六思考:修改程序,使每道工序中有多位输出。七实验报告要求1画出实验的硬件电路图及设计程序流程图;2整理实验程序清单,并给程序加详细注释;3总结实验中出现的问题并进行解决的方法;4给出实验结果及对实验的改进意见。Welcome ToDownload !欢迎您的下载,资料仅供参考!