📄 main.c
字号:
check_busy();
filter_sel();
DELAY();
check_busy();
wr_cmd(LTRJ);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x0a);
DELAY();
//v
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0X00);
DELAY();
check_busy();
wr_data(0Xde);
DELAY();
check_busy();
wr_data(0Xff);
DELAY();
//position
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(ps2);
DELAY();
if(dec_ps3==1)
{
dec_ps3=0;
check_busy();
wr_data(ps3);
}
else
{
check_busy();
wr_data(ps3-g);
}
DELAY();
if(dec_ps4==1)
{
dec_ps4=0;
check_busy();
wr_data(ps4);
}
else
{
check_busy();
wr_data(ps4-h);
}
DELAY();
P5OUT|=BIT3;//CS=1
DELAY();
P5OUT&=~BIT2;//CS=0
P5OUT&=~BIT3;//CS=0
check_busy();
wr_cmd(STT);
DELAY();
check_busy();
P5OUT|=BIT2;
P5OUT|=BIT3;
P5OUT&=~BIT2;//CS=0
do
{state_right=rd_st();}
while((state_right&0x04)==0);
P5OUT|=BIT2;
access_sign_right_two++;
sign_anticlockwise=1;
}
void turn_position_left_single(unsigned char a,unsigned char b)
{
unsigned char ps1,ps2,ps3,ps4,state_left;
P5OUT&=~BIT3;//CS=0
check_busy();
wr_cmd(RDRP);
DELAY();
check_busy();
ps1=rd_data();
DELAY();
check_busy();
ps2=rd_data();
DELAY();
check_busy();
ps3=rd_data();
DELAY();
check_busy();
ps4=rd_data();
if((ps4+b)>0xff)
{ps3++;}
if((ps3+a)>0xff)
{ps2++;}
check_busy();
wr_cmd(RSTI);
DELAY();
check_busy();
filter_sel();
DELAY();
check_busy();
wr_cmd(LTRJ);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x0a);
DELAY();
//v
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0X00);
DELAY();
check_busy();
wr_data(0Xde);
DELAY();
check_busy();
wr_data(0Xff);
DELAY();
//position
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(ps2);
DELAY();
check_busy();
wr_data(ps3+a);
DELAY();
check_busy();
wr_data(ps4+b);
DELAY();
check_busy();
wr_cmd(STT);
DELAY();
check_busy();
do
{state_left=rd_st();}
while((state_left&0x04)==0);
P5OUT|=BIT3;//CS=1
access_sign_left_single++;
}
void turn_position_right_single(unsigned char c,unsigned char d)
{
unsigned char ps1,ps2,ps3,ps4,state_right;
P5OUT&=~BIT2;//CS=0
check_busy();
wr_cmd(RDRP);
DELAY();
check_busy();
ps1=rd_data();
DELAY();
check_busy();
ps2=rd_data();
DELAY();
check_busy();
ps3=rd_data();
DELAY();
check_busy();
ps4=rd_data();
if((ps4+d)>0xff)
{ps3++;}
if((ps3+c)>0xff)
{ps2++;}
check_busy();
wr_cmd(RSTI);
DELAY();
check_busy();
filter_sel();
DELAY();
check_busy();
wr_cmd(LTRJ);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x0a);
DELAY();
//v
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0X00);
DELAY();
check_busy();
wr_data(0Xde);
DELAY();
check_busy();
wr_data(0Xff);
DELAY();
//position
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(ps2);
DELAY();
check_busy();
wr_data(ps3+c);
DELAY();
check_busy();
wr_data(ps4+d);
DELAY();
check_busy();
wr_cmd(STT);
DELAY();
check_busy();
do
{state_right=rd_st();}
while((state_right&0x04)==0);
P5OUT|=BIT2;//CS=1
access_sign_right_single++;
}
void run_position_back_two(unsigned char a,unsigned char b,unsigned char c,unsigned char d )
{
unsigned char ps1,ps2,ps3,ps4, ps5,ps6,ps7,ps8,dec_ps3,dec_ps4,dec_ps7,dec_ps8,state_left;
unsigned int ps9,psa,psb,psc;
P5OUT&=~BIT2;//CS=0
check_busy();
wr_cmd(RDRP);
DELAY();
check_busy();
ps1=rd_data();
DELAY();
check_busy();
ps2=rd_data();
DELAY();
check_busy();
ps3=rd_data();
DELAY();
check_busy();
ps4=rd_data();
if(ps4<b)
{
dec_ps4=1;
ps9=(int)ps4+0xff;
ps9=ps9-(int)b;
ps4=(unsigned char)ps9;
ps3-=0x01;
}
if(ps3<a)
{
dec_ps3=1;
psa=(int)ps3+0xff;
psa=psa-(int)a;
ps3=(unsigned char)psa;
ps2-=0x01;
}
check_busy();
wr_cmd(RSTI);
DELAY();
check_busy();
filter_sel();
DELAY();
check_busy();
wr_cmd(LTRJ);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x0a);
DELAY();
//v
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0X00);
DELAY();
check_busy();
wr_data(0Xa0);
DELAY();
check_busy();
wr_data(0Xff);
DELAY();
//position
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(ps2);
DELAY();
if(dec_ps3==1)
{
dec_ps3=0;
check_busy();
wr_data(ps3);
}
else
{
check_busy();
wr_data(ps3-a);
}
DELAY();
if(dec_ps4==1)
{
dec_ps4=0;
check_busy();
wr_data(ps4);
}
else
{
check_busy();
wr_data(ps4-b);
}
DELAY();
P5OUT|=BIT2;//CS=1
P5OUT&=~BIT3;//CS=0
check_busy();
wr_cmd(RDRP);
DELAY();
check_busy();
ps5=rd_data();
DELAY();
check_busy();
ps6=rd_data();
DELAY();
check_busy();
ps7=rd_data();
DELAY();
check_busy();
ps8=rd_data();
if(ps8<d)
{
dec_ps8=1;
psb=(int)ps8+0xff;
psb=psb-(int)d;
ps8=(unsigned char)psb;
ps7-=0x01;
}
if(ps7<c)
{
dec_ps7=1;
psc=(int)ps7+0xff;
psc=psc-(int)c;
ps7=(unsigned char)psc;
ps6-=0x01;
}
check_busy();
wr_cmd(RSTI);
DELAY();
check_busy();
filter_sel();
DELAY();
check_busy();
wr_cmd(LTRJ);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x0a);
DELAY();
//v
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0X00);
DELAY();
check_busy();
wr_data(0Xa0);
DELAY();
check_busy();
wr_data(0Xff);
DELAY();
//position
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(ps6);
DELAY();
if(dec_ps7==1)
{
dec_ps7=0;
check_busy();
wr_data(ps7);
}
else
{
check_busy();
wr_data(ps7-c);
}
DELAY();
if(dec_ps8==1)
{
dec_ps8=0;
check_busy();
wr_data(ps8);
}
else
{
check_busy();
wr_data(ps8-d);
}
DELAY();
P5OUT|=BIT3;//CS=1
P5OUT&=~BIT2;//CS=0
P5OUT&=~BIT3;//CS=0
check_busy();
wr_cmd(STT);
DELAY();
check_busy();
P5OUT|=BIT2;
P5OUT|=BIT3;
P5OUT&=~BIT2;
do
{state_left= rd_st();}
while((state_left&0x04)==0);
P5OUT|=BIT2;
access_sign_back_two++;
}
void reset_run_stright(unsigned char a,unsigned char b,unsigned char c,unsigned char d,unsigned char e,unsigned char f,unsigned char g,unsigned char h)
{
reset_right();
reset_left();
P5OUT&=~BIT2;//CS=0
check_busy();
wr_cmd(RSTI);
DELAY();
check_busy();
filter_sel();
DELAY();
check_busy();
wr_cmd(LTRJ);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x2a);
DELAY();
//acc
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x1f);
DELAY();
//v
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0X00);
DELAY();
check_busy();
wr_data(0Xa5);
DELAY();
check_busy();
wr_data(0Xff);
DELAY();
//position
check_busy();
wr_data(a);
DELAY();
check_busy();
wr_data(b);
DELAY();
check_busy();
wr_data(c);
DELAY();
check_busy();
wr_data(d);
DELAY();
P5OUT|=BIT2;//CS=1
P5OUT&=~BIT3;//CS=0
check_busy();
wr_cmd(RSTI);
DELAY();
check_busy();
filter_sel();
DELAY();
check_busy();
wr_cmd(LTRJ);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x2a);
DELAY();
//acc
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0x1f);
DELAY();
//v
check_busy();
wr_data(0x00);
DELAY();
check_busy();
wr_data(0X00);
DELAY();
check_busy();
wr_data(0Xa5);
DELAY();
check_busy();
wr_data(0Xff);
DELAY();
//position
check_busy();
wr_data(e);
DELAY();
check_busy();
wr_data(f);
DELAY();
check_busy();
wr_data(g);
DELAY();
check_busy();
wr_data(h);
DELAY();
P5OUT|=BIT3;//CS=1
P5OUT&=~BIT2;//CS=0
P5OUT&=~BIT3;//CS=0
check_busy();
wr_cmd(STT);
DELAY();
check_busy();
P5OUT|=BIT2;
P5OUT|=BIT3;
P5OUT&=~BIT2;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -