📄 stepmotor.c
字号:
direct_B=0;//后脚前移,电机反转
start_B();
while(sw2==1);
stop_B();
Delays(20);
direct_B=1;
//启动结束
/*
flag_over=1;
while(flag_over)
{
direct_A=1;//正转主轴上升
power_A=1;
while(sw6==1);
power_A=0;
direct_B=1;//前脚前移,电机正转
start_B();
while((sw1==1)&&(sw4==1));
if(sw4==0)
flag_over=0;
direct_B=0;
Delays(15);
stop_B();
if(flag_over==0)
break;
direct_A=0;//反转下降
power_A=1;
while(sw7==1);
power_A=0;
direct_B=0;//后脚前移,电机反转
start_B();
while(sw2==1);
direct_B=1;
Delays(15);
stop_B();
}
*/
flag_over=CS[0]-1;
while(flag_over)
{
direct_A=1;//正转主轴上升
power_A=1;
while(sw6==1);
power_A=0;
direct_B=1;//前脚前移,电机正转
start_B();
while(sw1==1);
stop_B();
Delays(20);
direct_B=0;
direct_A=0;//反转下降
power_A=1;
while(sw7==1);
power_A=0;
direct_B=0;//后脚前移,电机反转
start_B();
while(sw2==1);
stop_B();
Delays(20);
direct_B=1;
flag_over--;
row++;
}
direct_A=1;//正转主轴上升
power_A=1;
while(sw5==1);
power_A=0;
while(wait==1);//等待按键
direct_B=1;//前脚前移,电机正转
start_B();
while(sw4==1);
stop_B();
Delays(20);
direct_B=0;
direct_A=0;//反转下降
power_A=1;
while(sw7==1);
power_A=0;
direct_B=0;//后脚前移,电机反转
start_B();
while(sw3==1);
stop_B();
Delays(20);
direct_B=1;
}
else if(wait_down==0)
{
direct_B=1;//前脚前移,电机正转
start_B();
while(sw4==1);
stop_B();
Delays(20);
direct_B=0;
direct_A=1;//正转主轴上升
power_A=1;
while(sw5==1);
power_A=0;
// while(wait_down==1);//等待按键
/*
direct_A=0;//反转下降
power_A=1;
while(sw6==0);
power_A=0;
*/
direct_B=0;//后脚前移,电机反转
start_B();
while(sw3==1);
stop_B();
Delays(20);
direct_B=1;
while(wait_down==1);//等待按键
direct_A=0;//反转下降
power_A=1;
while(sw6==1); //原文件中是sw6==0
power_A=0;
flag_over=CS[1]-1; //循环次数
row=CS[1];
while(flag_over)
{
direct_A=0;//反转下降
power_A=1;
Delays(6000); //原文件中是4200
power_A=0;
direct_B=1;//前脚前移,电机正转
start_B();
while(sw1==1);
stop_B();
Delays(20);
direct_B=0;
direct_A=0;//反转下降
power_A=1;
while(sw7==1);
power_A=0;
direct_B=1;//前脚前移,电机正转
start_B();
// if(flag_over==1)
// {
// Delays(150); //原程序中是while(150)
// }
// else
// {
while(sw4==1);
// }
stop_B();
Delays(20);
direct_B=0;
direct_A=1;//正转主轴上升
power_A=1;
while(sw6==1);
power_A=0;
direct_B=0;//后脚前移,电机反转
start_B();
while(sw3==1);
stop_B();
Delays(20);
direct_B=1;
row--;
flag_over--;
}
direct_A=0;//反转下降 最后一次循环开始
power_A=1;
Delays(6000); //原文件中是4200
power_A=0;
direct_B=1;//前脚前移,电机正转
start_B();
while(sw1==1);
stop_B();
Delays(20);
direct_B=0;
direct_A=0;//反转下降
power_A=1;
while(sw7==1);
power_A=0;
direct_B=1;//前脚前移,电机正转
start_B();
Delays(600); //原程序中是while(150)
stop_B();
Delays(20);
direct_B=0;
direct_A=1;//正转主轴上升
power_A=1;
while(sw6==1);
power_A=0;
direct_B=0;//后脚前移,电机反转
start_B();
while(sw3==1);
stop_B();
Delays(20);
direct_B=1; //最后一次循环结束
while(wait_down==1);//等待按键
direct_A=0;//反转下降
power_A=1;
while(sw7==1);
power_A=0;
}
else;
}
}
/*********************************************************
定时器0中服程序
用于键盘参数设计与数码显示
如果有键按下,先记下来,下次扫描才执行
**********************************************************/
void timer0_int(void) interrupt 1
{
TR0=0;
TH0=TH0_DATA; // 0xd4cc<-->2mS (0xa999<-->4mS)
TL0=TL0_DATA;
while(w==80) //中断80次刷新显示一次
{
if(M==0)
{
CONVBIT0(floor,0);//floor显示到了第几层
CONVBIT0(row,4); //row显示上了多少格
CONVBIT1(0,0);
CONVBIT1(0,4);
}
else
{};
w=0;
SF=~SF;
}; // end while(w==80)
// 是否进入修改状态
if(M==0)
{
x=DATA0[k];
y=DATA1[k];
}
else
{
y=10; //y=10对应的段码是黑码
if(k==R)
{
if(SF==0)
{
x=10;
}
else
{
x=DATA0[k];
}
}
else
x=DATA0[k];
}
w++;
SEND();
//键盘扫描
if(KEY==1)
{
if(k==TK)
{
switch(TK)
{
case 7:
{
if(M==CSM)
{
M=1;
}
else
M++;
CONVBIT0(M,0);
CONVBIT0(CS[M-1],4);
}
break;
case 1:
{
if(R==7)
R=4;
else
R++;
}
break;
case 2:
{
if(DATA0[R]==9)
DATA0[R]=0;
else
DATA0[R]++;
}
break;
case 3:
{
if(DATA0[R]==0)
DATA0[R]=9;
else
DATA0[R]--;
}
break;
case 4:
{
while(!M==0)
{
CS[M-1]=(DATA0[4]*1000+DATA0[5]*100+DATA0[6]*10+DATA0[7]);
j=(2*M-2);
EDATA[j]=(CS[M-1]/0x100);
EDATA[j+1]=(CS[M-1]%0x100);
EA=0; //写EEPROM,关中断
DEECON=0x00;
DEEDAT=EDATA[j];
DEEADR=j;
while((DEECON&0x80)==0);
DEECON=DEECON&0x7F;
DEEDAT=EDATA[j+1];
DEEADR=(j+1);
while((DEECON&0x80)==0);
EA=1; //完成写操作,开中断
R=4;
M=0;
};
}
break;
}; //end switch(TK)
TK=0x09;
}
else
{}; //end if(k==TK)
}
else
{
TK=k;
}; //end if(KEY==1)
if(k==7)
k=0;
else
k++;
TR0=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -