我用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
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>