keil 编译出现“target not created”

2019-03-24 17:01发布

我用keil4编的51 编译如下程序时出现Target not created,keil已破解,自带的“Hello”工程也可以成功编译,紧急求助解决方法!                                                                                                                    #include<reg52.h>#include<intrins.h>#include<string.h>#define uint unsigned int #define uchar unsigned char//*******LCD*******sbit LCDRS=P2^0;//LCD数据/命令选择端sbit LCDRW=P2^1;sbit LCDEN=P2^2;//LCD使能信号端//******DS1302******sbit IO=P1^0;//1302数据线sbit SCLK=P1^1;    //1302时钟线  sbit RST=P1^2;      //复位    uint num=0;  //uchar *week[]={"SUN","***","MON","TUS","WEN","THU","FRI","SAT"}; uchar Date[]={"Date: 2000-00-00 "}; uchar Time[]={"Time: *00:00-00* "}; uchar date_time[7];      //从ds1302读取的当前日期时间  //=======延时=======void delay(uint z) {    uint x,y;    for(x=z;x>0;x--)      for(y=110;y>0;y--);  }  //********向1302写数据********* void write_ds1302(uchar dat) {     uchar i;     for(i=0;i<8;i++)     {   IO=dat & 0x01;      //保持最后一位为1,读状态       SCLK=1;              delay(1);              SCLK=0;              dat >>= 1;           }  }  //*********从1302读数据********* uchar read_ds1302() {     uchar i,b=0x00;     for(i=0;i<8;i++)     {            b |= _crol_((uchar)IO,i);               SCLK=1;              delay(1);              SCLK=0;      }      return b/16*10+b%16;      //与BCD码转换  }  //*********从指定位置读数据********uchar read_data(uchar addr) {     uchar dat;     RST=0;     SCLK=0;     RST=1;      write_ds1302(addr);     dat=read_ds1302();     SCLK=1;     RST=0;     return dat;   }  //*********读取当前日期时间********* void read_date_time() {     uchar i,addr=0x81;     for(i=0;i<7;i++)    {        date_time=read_data(addr);            addr+=2;           }  }  //----------LCD写指令---------- void lcd_write_com(uchar com) {     LCDRS=0;  //RS为0时,写指令,RS为1时,写数据      P0=com;      delay(5);    LCDEN=1;     delay(5);     LCDEN=0;  }  //----------LCD写数据---------- void lcd_write_data(uchar dat){    LCDRS=1;     P0=dat;     delay(5);     LCDEN=1;     delay(5);     LCDEN=0;  }  //-------LCD初始化------- void lcd_init() {     LCDEN=0;      lcd_write_com(0x38);   //LCD显示模式设置     lcd_write_com(0x0c);   //LCD显示开/关及光标设置      lcd_write_com(0x06);   //当写一个字符后地址指针加1,且光标加1      lcd_write_com(0x01);   //显示清屏  }  //---------设置液晶显示位置----------- void set_lcd_pos(uchar p) {    lcd_write_com(p | 0x80); }  //---------液晶显示程序---------- void lcd_print(uchar p,uchar *s) {     set_lcd_pos(p);      for(num=0;num<16;num++)         {                   lcd_write_data(s[num]);            delay(10);             }  }  //----------日期时间转换----------- void format_datetime(uchar d,uchar *p) {     p[0]=d/10+'0';     p[1]=d%10+'0';  }//---------主程序---------- void main() {     LCDRW=0;     lcd_init();     while(1)     {        read_date_time();             format_datetime(date_time[6],Date+8);     //年月日         format_datetime(date_time[4],Date+11);            format_datetime(date_time[3],Date+14);          //   strcpy(Date+13,week[date_time[5]]);            format_datetime(date_time[2],Time+7);     //时间转换             format_datetime(date_time[1],Time+10);            format_datetime(date_time[0],Time+13);            lcd_print(0x00,Date);            lcd_print(0x40,Time);         }}编译结果:
Build target 'Target 1'
compiling show time.c...
Target not created

无标题.png











此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
郑小气聋子
1楼-- · 2019-03-25 00:44
你还是一步一步的来吧,组建编译,先看看有没有语法错误或者配置上有没有错。
一般没有目标文件生成不都是因为有语法上面的错误吗
dcexpert
2楼-- · 2019-03-25 05:08
用代码工具贴程序,不要直接复制粘贴,这样就没法看。
小弘帽
3楼-- · 2019-03-25 05:44
 精彩回答 2  元偷偷看……
我的学号
4楼-- · 2019-03-25 05:57
语法上有错误应该有相应提示,觉得配置错误的可能性比较大
小弘帽
5楼-- · 2019-03-25 09:28
郑小气聋子 发表于 2015-11-25 09:41
你还是一步一步的来吧,组建编译,先看看有没有语法错误或者配置上有没有错。
一般没有目标文件生成不都是 ...

可是语法错误一般都会有提示的
小弘帽
6楼-- · 2019-03-25 10:48
 精彩回答 2  元偷偷看……

一周热门 更多>