求大家帮忙看看这个程序要怎么改才不会提示错误
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
/************************宏定义*************************/
sbit LED1=P0^0; //平移气缸左移
sbit LED2=P0^1; //升降气缸下降
sbit LED3=P0^2; //平移气缸右移
sbit LED4=P0^3; //升降气缸下降
sbit LED5=P0^4; //平移气缸复位
sbit LED6=P0^5; //下压气缸下压
sbit LED7=P0^6; //回收电机启动
sbit LED8=P0^7; //吸气头
sbit KEY1=P1^0; //平移气缸左移传感器开关
sbit KEY2=P1^1; //升降气缸下降传感器开关
sbit KEY3=P1^2; //升降气缸上升传感器开关
sbit KEY4=P1^3; //平移气缸右移传感器开关
sbit KEY5=P1^4; //平移气缸复位传感器开关
sbit KEY6=P1^5; //下压气缸下压传感器开关
sbit KEY7=P1^6; //下压气缸上升传感器开关
sbit flag_start=P3^2; //启动按钮
/************************** 中断****************************/
void t0(void) interrupt 0 using 0 //按键按下触发中断服务程序
{
flag_start=1;
}
//================延时1s延时子程序(12MHZ)============
void delay1s(void)
{
char h,i,j,k;
for(h=20;h>0;h--) //延时
for(i=4;i>0;i--) //延时
for(j=116;j>0;j--) //延时
for(k=100;k>0;k--); //延时
}
/******************* 初始化主函数 *********************/
void main()
{
LED1=1; //平移气缸左移
LED2=1; //升降气缸下降
LED3=1; //平移气缸右移
LED4=1; //升降气缸下降
LED5=1; //平移气缸复位
LED6=1; //下压气缸下压
LED7=1; //回收电机启动
LED8=1; //吸气头
/***************** 中断初始化******************/
IT0=1; // 下降沿触发
EX0=1;
EA=1;
if(flag_start==0)
{
while(1)
{
LED7=0; //电机启动
while(1) //运行
{
if(KEY6==0) //上面的传感器开关接通
{
delay1s(); //延时
LED7=1; //电机关闭
LED1=0; //平移气缸左移
while(1) //左移死循环,等待下面的传感器开关
{
if(KEY1==0) //左面的传感器开关接通
{
LED1=1; //停止左移
LED8=0; //吸气头开启
while(1) //开启死循环,等待下面的传感器开关
{
if(KEY3==0) //下面的传感器开关接通
{
LED8=0; //等待
LED2=0; //升降气缸下降
while(1) //下降死循环,等待前面的传感器开关
{
if(KEY3==0) //下面的传感器开关接通
{
LED2=0; //等待
LED2=0; //升降气缸上升
while(1) //上升死循环,等待上面的传感器开关
{
if(KEY2==0) //上面的传感器开关接通
{
LED2=1; //停止上升
LED3=0; //平移气缸右移
while(1) //右移死循环,等待下面的传感器开关
{
if(KEY4==0) //右面的传感器开关接通
{
LED3=1; //停止右移
//delay1s(); //延时
LED4=0; //升降气缸下降
while(1) //下降死循环,等待前面的传感器开关
{
if(KEY2==0) //下面的传感器开关接通
{
LED4=0; //等待
LED8=0; //吸气头关闭
while(1) //开启死循环,等待下面的传感器开关
{
if(KEY3==0) //下面的传感器开关接通
{
LED8=1; //关闭吸气
LED4=1; //停止下降
// delay1s(); //延时
LED4=0; //升降气缸上升
while(1) //上升死循环,等待上面的传感器开关
{
if(KEY2==0) //上面的传感器开关接通
{
LED4=1; //停止上升
//delay1s(); //延时
LED5=0; //平移气缸复位
while(1) //复位死循环,等待下面的传感器开关
{
if(KEY5==0) //中间的传感器开关接通
{
LED5=1; //停止左移
// delay1s(); //延时
LED6=0; //下压气缸
while(1) //下压死循环,等待下面的传感器开关
{
if(KEY6==0) //下面的传感器开关接通
{
LED6=0; //等待
LED6=0; //下压气缸上升
while(1) //上升死循环,等待下面的传感器开关
{
if(KEY7==0) //上面的传感器开关接通
{
LED6=1; //停止上升
// delay1s(); //延时
LED1=0; //平移气缸左移
while(1) //左移死循环,等待下面的传感器开关
{
if(KEY1==0) //左面的传感器开关接通
{
LED1=1; //停止左移
LED2=0; //升降气缸下降
while(1) //下降死循环,等待前面的传感器开关
{
if(KEY3==0) //下面的传感器开关接通
{
LED2=0; //等待
LED4=0; //升降气缸上升
while(1) //上升死循环,等待上面的传感器开关
{
if(KEY2==0) //上面的传感器开关接通
{
LED4=1; //停止上升
//delay1s(); //延时
LED5=0; //平移气缸复位
while(1) //复位死循环,等待下面的传感器开关
{
if(KEY5==0) //中间的传感器开关接通
{
LED5=1; //停止左移
/*IT0=1; //停止上升 */
break; //1
}
}
break; //2
}
}
break; //3
}
}
break; //4
}
}
break; //5
}
}
break; //6
}
}
break; //7
}
}
break; //8
}
}
break; //9
}
}
break; //10
}
}
break; //11
}
}
break; //12
}
}
break; //13
}
}
break; //14
}
}
break; //15
}
}
break; //16
}
}
break; //17
}
}
}
|