📄 auto_halfauto.c
字号:
#include <p30f4011.h>
#include "adr_port_define.h"
#include "extern_define.h"
void X_LEFTANDRIGHT()
{
Nop();
LED_num.bits.LED8=0;
if(X_END)
{
if(!KR0)//KR0 //GOTO right left limit
{
LR_num.bits.LR5=1;
LR_num.bits.LR6=0;
X_DIRECTION=1; //GOTO right flag
}
else if(!KR1)//KR1 //goto left right limit
{
LR_num.bits.LR6=1;
LR_num.bits.LR5=0;
X_DIRECTION=0; //GOTO left flag
}
else //GOTO right
{
LR_num.bits.LR5=1;
LR_num.bits.LR6=0;
X_DIRECTION=1; //GOTO right flag
}
}
else
{
if(!KR0)X_DIRECTION=1; //GOTO right
if(!KR1)X_DIRECTION=0; //go to left
if(X_DIRECTION) //GOTO right
{
LR_num.bits.LR5=1;
LR_num.bits.LR6=0;
}
else if(!X_DIRECTION) //goto left
{
LR_num.bits.LR6=1;
LR_num.bits.LR5=0;
}
}
X_END=0; //NOT stop
Nop();
}
void halfauto() //KR0,KR1常断开时KR0,KR1=1;
{ //感应到时KR0,KR1=0;,感应开关
Nop();
HALFAUTO=1;
if(XY_END)
{
if(!KR0)//KR0 //MOTOR on left KR0
{
LR_num.bits.LR5=1;
LR_num.bits.LR6=0; //motor go to right
XY_DIRECTION=1; //goto right
}
if(!KR1)//KR1 //motor on right
{
LR_num.bits.LR6=1;
LR_num.bits.LR5=0; //goto left
XY_DIRECTION=0; //goto left
}
else
{
LR_num.bits.LR5=1;
LR_num.bits.LR6=0; //motor go to right
XY_DIRECTION=1; //goto right
}
XY_END=0;
}
else
{
if(!KR6)XY_DIRECTION=1; //goto right
if(!KR7)XY_DIRECTION=0; //goto left
if(XY_DIRECTION) //MOTOR on left
{
LR_num.bits.LR5=1;
LR_num.bits.LR6=0; //motor go to right
if(!KR1) //right limit
{
LR_num.bits.LR6=1;
if(!Y_DIRECTION) //motor on first postion
{
if(y_postion==y_endpos)
{
Y_DIRECTION=1;
while(operator_mode==2)break;
}
else
{
LR_num.bits.LR3=1;
LR_num.bits.LR4=0;
}
}
else
{
if(y_postion==y_firstpos)Y_DIRECTION=0;
else
{
LR_num.bits.LR4=1;
LR_num.bits.LR3=0;
}
}
}
}
if(!XY_DIRECTION) //motor on right
{
LR_num.bits.LR6=1;
LR_num.bits.LR5=0; //goto left
if(!KR0) //left limit
{
LR_num.bits.LR5=1;
if(!Y_DIRECTION) //motor on first postion
{
if(y_postion==y_endpos)
{
Y_DIRECTION=1;
while(operator_mode==2)break;
}
else
{
LR_num.bits.LR3=1;
LR_num.bits.LR4=0;
}
}
else
{
if(y_postion==y_firstpos)Y_DIRECTION=0;
else
{
LR_num.bits.LR4=1;
LR_num.bits.LR3=0;
}
}
}
}
}
Nop();
}
//*****************************************************************//autorun
void autorun()
{
// Nop();
// staus[6]=1;
// if(staus[6]==1)START=1;
// if(staus[7]==1)START=0;
// if(START)
// {
// jingei_count=jingei_count+1;
// TRISE=0X00;
// pluse_counter=0;
// RE5=0;
//
// motor_jingei_encoder=20; //unit :encoder
// z_encoder=motor_jingei_encoder;
//
// total_pluse=z_encoder;
// PWM_ON=1; //enable pwm
// T2_ON=1; //enable timer2
//
// while(KR10); //Wait pluse attend flag , server end flag
// z_postion=z_postion+motor_jingei; //unit:mm
// halfauto();
// HALFAUTO=0; //half auto flag
// if(jingei_count==jingei_times)
// {
// halfauto();
// halfauto();
// START=0;
// jingei_count=0;
// }
//
//
//
// }
// else //stop
// {
// Lrnum.bits.LR3=1; //close y head
// Lrnum.bits.LR4=1; //clode y backwards
// Lrnum.bits.LR5=1; //close x left
// Lrnum.bits.LR6=1; //close x right
// Lrnum.bits.LR7=1; //close z upwards
// Lrnum.bits.LR8=1; //close z downwards
//
// }
//
// Nop();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -