请大家帮我看看问题出在哪里?编译的时候

Build started: Project: Project
Build target '目标 1'
assembling STARTUP.A51...
--- Error: failed to execute 'D:\Program Files (x86)\keil\C51\BIN\A51.EXE'
Target not created.
Build Time Elapsed: 00:00:00


#include 
#include 

 /*====================================
 自定义类型名
====================================*/
//typedef unsigned char uchar;
typedef unsigned int uint;

//IO口(控制电磁阀)
sbit dc = P0^0;

//IO口(控制喂食电机)
sbit ws = P0^1;

//IO口(控制水泵电机)
sbit sb = P0^2;

//IO口(回传水位传感器)
sbit sw1 = P0^3;
sbit sw2 = P0^4;
sbit sw3 = P0^5;
sbit sw4 = P0^6;
sbit sw5 = P0^7;

//全局变量
uint sj=0;


//延时n秒//@12.000MHz
void delay_m(unsigned int n)
{
    unsigned int i=0,j=0;
    for(i=0;i
        for(j=0;j<21738;j++);
}

void swbc()//水位保持程序
{
    if((sw5==1) && (sw4==1) && (sw3==1) &&(sw2==1) && (sw1==1))//如果高于水位5/4/3/2/1
    {
        dc=0;//关闭电磁阀继电器
    }
    else if((sw5==0) && (sw4==0))//如果低于水位5/4
    {
        dc=1;//开启电磁阀继电器
    }
}





void main()
{
    while(1)
    {
        if(sj>=43200)
        {
            sj=0;//重新开始计时
            
        }
        else if(sj==1)//开始放水
        {
            sb=1;
        }
        else if(sj==3)
        {
            sb=0;
        }
        else if(sj==4)
        {
            sb=1;
        }
        else if(sj==6)
        {
            sb=0;
        }
        else if(sj==7)
        {
            sb=1;
        }
        else if(sj==9)
        {
            sb=0;
        }
        else if(sj==10)
        {
            sb=1;
        }
        else if(sj==70)//放水程序结束,喂食开始
        {
            sb=0;
            ws=1;
        }
        else if(sj==71)//喂食程序结束
        {
            ws=0;
        }
        
        else if((sj>=80) && (sj<40000))//水位保持
        {
            swbc();
        }
        sj=sj+1;
        delay_m(1);
    }
}

keil里面是不是有一个中文的目录,修改下!改成英文的!

1,建议项目里的target不要用中文“目标1”之类的,项目的文件名和路径尽量也不要用,这个软件对中文支持向来不好
2,确认一下D:\Program Files (x86)\keil\C51\BIN\A51.EXE是否存在。

https://www.stcai.com/newsinfo/4342753.html