您好,欢迎访问三七文档
附录1剪板机自动循环加工程序:ORGO12OHZIDONG:MOVDPTR,27FFH;置74LS244地址LOOP1:MOVXA,@DPTR;判断挡料器是否回零JNBACC.2,HUILIN;调用挡料器快速回零程序LOOP2:MOVXA,@DPTR;判断小车装载情况JBACC.4,LOOP2SETBP0,#02H;启动送料小车左行LOOP3:MOVXA,@DPTR;判断送料小车是否到位JNBACC.3,LOOP3CLRP0.1;关闭送料小车LOOP4:CJNER2,#00H,NEXT1;判断限次数为零否LJMPHUILINNEXT1:LJMPBUJIN;调用子程序计算挡料器到下一位置步进电机步数,定剪切尺寸SETBP0.0;启动进料电机LOOP5:MOVXA,@DPTR;判断定长完成否JNBACC.1,LOOP5CLRP0.0;关闭进料电机SETBP0.3SETBP0.5;压块、剪切刀向下运动LOOP6:MOVXA,@DPTR;判断板材是否压紧JNBACC.0,LOOP6DECR0;加工数量减1DECR1;满车数量减1DECR2;限次数减1LJMPRDAO;调用挡料器让刀程序LJMPDELAY;延时等待,主电机带动刀具减料CLRP0.5CLRP0.3;剪切、压料离合器松开SETBP0.6SETBP0.4;剪切,压料制动器制动SETBPO.7;启动卸料机构LOOP7:MOVXA,@DPTRJBACC.7,LOOP7;判断托架卸料情况CLRP0.7;关闭卸料机构CJNER0,#00H,NEXT2AJMPYOUNEXT2:CJNER1,#00H,LOOP4;判断小车是否满载YOU:SETBP0.2;控制送料小车右行LOOP8:MOVXA,@DPTRJNBACC.6,LOOP8;判断小车是否到下一工位CLRP0.2CJNER0,#00H,LOOP2;若未加工完毕,继续剪切下一车板材LJMPHUILIN;挡料器快速回零RET8279芯片的初始化程序:INIT:MOVDPTR,#07FFH;置8279命令/状态口地址MOVA,#0D1H;置清显示命令字MOVX@DPTR,A;送清显示命令WEIT:MOVXA,@DPTR;读状态JBACC.7,WEIT;等待清显示RAM结束MOVA,#34H;置分频系数,晶振12MHZMOVX@DPTR,A;送分频系数MOVA,#00H;置键盘/显示命令MOVX@DPTR,A;送键盘/显示命令MOVIE,#84H;允许8279中断RET显示子程序:DIS:MOVDPTR,#07FFH;置8279命令/状态口地址MOVR0,#30H;字段码首地址MOVR7,#08H;8位显示MOVA,#90H;置显示命令字MOVX@DPTR,A;送显示命令MOVDPTR,#07FEH;置数据口地址LP:MOVA,@R0;取显示数据ADDA,#6;加偏移量MOVCA,@A+PC;查表,取得数据的段码MOVX@DPTR,A;送段码显示INCR0;调整数据指针DJNZR7,LPRETSEG:DB3FH,06H,5BH,4FH,66H;字符0、1、2、3、4的段码6DH,7DH,07H,7EH,6FH;字符5、6、7、8、9的段码键盘中断子程序:KEY:PUSHPSWPUSHDPLPUSHDPHPUSHACCPUSHBSETBPSW.3MOVDPTR,#07FFH;置状态口地址MOVXA,@DPTR;读FIFO状态ANLA,#0FHJZPKYRMOVA,#40H;置读FIFO命令MOVX@DPTR,A;送读FIFO命令MOVDPTR,#07FEH;置数据口地址MOVXA,@DPTR;读数据LJMPKEY1;转键值处理程序PKYR:POPBPOPACCPOPDPHPOPDPLPOPPSWRETIKEY1:……;键值处理程序利用软件形成脉冲序列的程序清单:PULSE_S:MOVR7,#NUM;设定脉冲个数PUSHA;保护现场PUSHPSWLOOP:SETBP1.0;输出高电平ACALLDELAY1;延时CLRP1.0;输出低电平ACALLDELAY2;延时DJNZR7,LOOP;R7≠0,继续输出脉冲POPPSW;恢复现场POPARET步进电机正转程序:CW:INCR3;正转时R3加1JNER3,#08H,ZHEZ;若R3内的值为8则清零,否则继续正转MOVR3,#00HZHEZ:MOVA,R3;R3内的值送进A,暂存已完成的拍数MOVDPTR,#TAB;指向数据存放首地址MOVCA,@A+DPTR;查表法取控制字ANLP1,#0F0H;保护单片机的P1.4~P1.7引脚的状态ORLA,P1MOVP1,A;给步进电机发送控制信号RET反转程序为:CCW:DECR4;反转时R4减1CJNER4,#0FFH,FANZ;若R4内的值为FFH则赋值为07HMOVR4,#07HFANZ:MOVA,R4MOVDPTR,#TAB;指向数据存放首地址MOVCA,@A+DPTR;查表法取控制字ANLP1,#0F0H;保护单片机的P1.0~P1.7引脚的状态ORLA,P1MOVP1,A;给步进电机发送控制信号RETTAB:DB01H,03H,02H,06H,04H0CH,08H,09H;电流脉冲以四相八拍方式施加挡料器回零子程序:HUILIN:MOVA,40H;挡料器回零,从40H单元中取步进电机需正转的步数MOVR7,ALOOP:LJMPCW;调用步进电机正转程序DJNZR7LOOPRET中断子程序;T_CON:PUSHA;保护现场PUSHPSWMOVR7,#N;设定控制步数JNBFLAG,LEFT;判断旋转方向RIGHT:MOVR0,RM;正转模型起始地址AJMPROTATELEFT:MOVR0,LMROTATE:MOVA,@R0;取第一拍控制模型MOVP1,A;输出第一拍控制模型ACALLDELAY1;延时INCR0MOVA,@R0;取第二拍控制模型MOVP1,A;输出第二拍控制模型ACALLDELAY1;延时INCR0MOVA,@R0;取第三拍控制模型MOVP1,A;输出第三拍控制模型ACALLDELAY1;延时DJNZR7,ROTATE;未走完要求的步数,继续POPPSW;恢复现场POPARET;返回
本文标题:自动剪板机程序清单
链接地址:https://www.777doc.com/doc-2050964 .html