標(biāo)題: Target not created [打印本頁]

作者: zijian0209    時間: 2022-6-6 09:56
標(biāo)題: Target not created
Target not created怎么解決啊,以下是所有警告和主程序代碼,用的是KEIL4
代碼比較多,勞煩大佬幫忙看看,謝謝。

Build target 'Target 1'
linking...
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  T
    MODULE:  .\Objects\18b20.obj (18B20)
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
    SYMBOL:  TIMER1_INTERRUPT
    MODULE:  .\Objects\timer.obj (TIMER)
*** WARNING L5: CODE SPACE MEMORY OVERLAP
    FROM:    0013H
    TO:      0015H
*** WARNING L5: CODE SPACE MEMORY OVERLAP
    FROM:    001BH
    TO:      001DH
*** WARNING L5: CODE SPACE MEMORY OVERLAP
    FROM:    0043H
    TO:      0045H
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  AS608
    MODULE:  .\Objects\main.obj (MAIN)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  AS608
    MODULE:  .\Objects\main.obj (MAIN)
    ADDRESS: 220AH
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  PRINTFMAIN
    MODULE:  .\Objects\ds1302.obj (DS1302)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  PRINTFMAIN
    MODULE:  .\Objects\ds1302.obj (DS1302)
    ADDRESS: 195CH
Program Size: data=15.3 xdata=643 code=16461
Target not created.
Build Time Elapsed:  00:00:00



#include "main.h"
#include "lcd12864.h"
#include "ADC.h"
#include "delay.h"
#include "dh11.h"
#include "led_key.h"
#include "usart.h"
#include "MFRC522.h"
#include  "ired.h"
#include "ds1302.h"
#include "UART2.h"
#include "AS608.h"


sbit led = P1^0;
sbit Buzzer = P2^1;
sbit hongwai=P2^2;

uint K;
uint x=0,y = 0,a1=0,y1;
ulong b1 = 0;

void dh11();
void MQ135();
void body_hongwai();
void IR();
void ds1302();
void dianliu();
void AS608();
void Add_FR(void);
void press_FR(void);
void Del_FR(void);
void mima(void);

void mian()
{
        lcdinit();
        DGD();
        DelayNms(1500);
        LCD12864_CleanScans();
        while(1)
        {
                 switch (KeyDown(1))
                        {
                                case 0:LCD12864_WriteAscll(7,0,"00");//putchar(0X00);
                                        break;
                                case 1:LCD12864_WriteAscll(7,0,"01");//putchar(0X01);  
                                          dh11();
                                        break;
                                case 2:LCD12864_WriteAscll(7,0,"02");//putchar(0X02);
                                          MQ135();
                                        break;
                                case 3:LCD12864_WriteAscll(7,0,"03");//putchar(0X03);
                                          body_hongwai();
                                        break;
                                case 4:LCD12864_WriteAscll(7,0,"04");//putchar(0X04);
                                          IR();
                                        break;
                                case 5:LCD12864_WriteAscll(7,0,"05");//putchar(0X05);
                                      ds1302();
                                        break;
                                case 6:LCD12864_WriteAscll(7,0,"06");//putchar(0X06);//
                                          dianliu();        
                                        break;
                                case 7:LCD12864_WriteAscll(7,0,"07");//putchar(0X07);//電流檢測
                                      AS608();
                                        break;
                                case 8:LCD12864_WriteAscll(7,0,"08");//putchar(0X08);
                                        //hongwai();
                                        break;
                                case 9:LCD12864_WriteAscll(7,0,"09");//putchar(0X09);                        
                                        break;
                                case 10:LCD12864_WriteAscll(7,0,"10");//putchar(0X10);                        
                                        break;
                                case 11:LCD12864_WriteAscll(7,0,"11");//putchar(0X11);
                                        break;
                                case 12:LCD12864_WriteAscll(7,0,"12");//putchar(0X12);
                                        break;
                                case 13:LCD12864_WriteAscll(7,0,"13");//putchar(0X13);
                                        break;
                                case 14:LCD12864_WriteAscll(7,0,"14");//putchar(0X14);
                                        break;
                                case 15:LCD12864_WriteAscll(7,0,"15");//putchar(0X15);
                                        break;
                                case 16:LCD12864_WriteAscll(7,0,"16");//putchar(0X16);
                                        break;
                        }
        }
}

void dh11()
{
        uchar key1;
        lcdinit();
        while(1)
        {  
                 key1 = KeyDown(0);
                 LCD12864_WriteAscll(0,0,"溫度:");
                 LCD12864_WriteAscll(0,1,"濕度:");
                 Lcd_DH11_xs(0,3,1,3);
                if(key1==16)
                {
                        LCD12864_CleanScans();
                        LCD12864_WriteAscll(0,0,"歡迎來到菜單");
                        LCD12864_WriteAscll(0,1,"按1:溫濕度");
            delay(10000);
            delay(10000);
                        break;
                }
        }
}
void MQ135()
{
        uchar key2;
        uint AD_MQ135;
        lcdinit();
        while(1)
        {
                key2 = KeyDown(0);
                ADC_Init(ADP1_1,CH_P1_1);
                AD_MQ135 = Adc_result(CH_P1_1);
               
                DelayNms(100);
                LCD12864_WriteAscll(0,3,"空氣質(zhì)量:");
                LCD12864_WriteAscll(5,3,AD_Screen(AD_MQ135));
                if(key2==16)
                {
                        LCD12864_CleanScans();
                        LCD12864_WriteAscll(0,0,"歡迎來到菜單");
                        LCD12864_WriteAscll(0,1,"按2:空氣凈度");
            delay(10000);
            delay(10000);
                        break;
                }
        }        
}
void body_hongwai()
{
        uchar key3;
        Usart1_init();
        while(1)
        {
                key3 = KeyDown(0);
                if(hongwai==1)
                {printf("有人靠近");
                        DelayNms(2000);}
                if(key3==16)
                {
                        LCD12864_CleanScans();
                        LCD12864_WriteAscll(0,0,"歡迎來到菜單");
                        LCD12864_WriteAscll(0,1,"按3:人體紅外檢測");
            delay(10000);
            delay(10000);
                        break;
                }
        }
}
void IR()
{
        uchar key4;
        PC838();
        while(1)
        {
                key4 = KeyDown(0);
                if(keynum==0)
                {LED0=0;}
                if(key4==16)
                {
                        LCD12864_CleanScans();
                        LCD12864_WriteAscll(0,0,"歡迎來到菜單");
                        LCD12864_WriteAscll(0,1,"按4:紅外遙控");
            delay(10000);
            delay(10000);
                        break;        
            }
    }
}
void ds1302()
{
        uchar key5;
        while(1)
        {
                key5 = KeyDown(0);
                Lcd_dsShowtime(0,2,0,3);
                if(key5==16)
                {
                        LCD12864_CleanScans();
                        LCD12864_WriteAscll(0,0,"歡迎來到菜單");
                        LCD12864_WriteAscll(0,1,"按5:時間顯示");
            delay(10000);
            delay(10000);
                        break;
                }
        }
}
void dianliu()
{
        uchar key6;
        int adc;
        ADC_Init(ADP1_0,CH_P1_0);
        while(1)
        {
                key6=KeyDown(0);
                adc=Adc_result_N(CH_P1_0);
                LCD_WriteTextNum(5,0,adc,2);
                if(key6== 16)
                {
                        LCD12864_CleanScans();
                        LCD12864_WriteAscll(0,0,"歡迎來到菜單");
                        LCD12864_WriteAscll(0,1,"按6:電流");
                        delay(10000);
                        delay(10000);
                        break;
                }
        }
}
void mima(void)
{               
        uint pass_key;
        b1 = 0;
        y = 0;
        x = 0;
        a1 = 0;
        y1 = 0;
        LCD12864_WriteAscll(0,0,"請輸入密碼:");
        LCD12864_WriteAscll(0,3,"按下14確認(rèn)");
        while(1)
        {
                        pass_key= KeyDown(1);
                        if(pass_key &&pass_key<=9)
                        {
                                y++;
                        if(y==1)
                        {x = pass_key;
                            b1 = x*1000;}
                        if(y==2)
                        {x =pass_key;
                                b1 += x*100;}
                        if(y==3)
                        {x = pass_key;
                                b1 += x*10;}
                        if(y==4)
                        {x = pass_key;
                                b1 += x;}
                        }
                        if(pass_key == 14)
                        {
                                if(b1 == 1234)
                                {
                                        b1 = 0;
                                        y  = 0;
                                        LCD12864_WriteAscll(2,1,"YES!!");
                                        LCD12864_WriteAscll(2,2,"開鎖成功");
                                        DelayNms(3000);
                                }
                                else
                                {        
                                        a1++;
                                        if(a1 == 1)
                                        {
                                                b1 = 0;
                                                y  = 0;        
                                                LCD12864_WriteAscll(2,0,"NO!!");
                                                LCD12864_WriteAscll(2,1,"請重新輸入");
                                                LCD12864_WriteAscll(1,2,"你還有倆機會");
                                                DelayNms(3000);
                                                LCD12864_CleanScans();
                                        }
                                        if(a1 == 2)
                                        {
                                                b1 = 0;
                                                y  = 0;        
                                                LCD12864_WriteAscll(2,0,"NO!!");
                                                LCD12864_WriteAscll(2,1,"請重新輸入");
                                                LCD12864_WriteAscll(1,2,"你還有一次機會");
                                                DelayNms(3000);
                                                LCD12864_CleanScans();
                                        }
                                        if(a1 == 3)
                                        {
                                                b1 = 0;
                                                y  = 0;        
                                                led = 0;
                                                Buzzer = 0;
                                                DelayNms(4000);
                                                Buzzer = 1;
                                                led = 1;
                                                a1 = 0;
                                        }
                                }
                }
                if(pass_key== 10)
                {
                        b1 = 0;
                        y  = 0;
                }
                LCD_WriteTextNum(0,1,b1,9);
                if(pass_key == 16)
                {
                        LCD12864_WriteAscll(0,0,"歡迎來到菜單");
                        LCD12864_WriteAscll(0,1,"按:密碼");
                        delay(10000);
                        delay(10000);
                        break;
                }        
        }
}
//指紋管理
void zhiwen(void)
{  
        uchar key8;
        lcdinit();
        LCD12864_CleanScans();
        LCD12864_WriteAscll(0,0,"指紋模塊測試程序");
        LCD12864_WriteAscll(0,1,"K1鍵添加指紋");
        LCD12864_WriteAscll(0,2,"K3鍵刪除指紋");
        UART2_Init();
        while(1)
        {
                key8=KeyDown(1);
                if(key8==1)
                {
                        key8=0;
                        LCD12864_CleanScans();
                        Add_FR();
                }
                if(key8==3)
                {
                        key8=0;
                        LCD12864_CleanScans();
                        Del_FR();
                }
                if(key8==16)
                {
                        LCD12864_CleanScans();
                        LCD12864_WriteAscll(0,0,"歡迎來到菜單");
                        LCD12864_WriteAscll(0,1,"按8:指紋");
                        delay(10000);
                        delay(10000);
                        break;
                }
                        
        }
}

//添加指紋
void Add_FR(void)
{
        uchar i,ensure,processnum=0;
        uint ID_NUM=0;
        while(1)
        {
                switch(processnum)
                {
                        case 0:
                                i++;
                                LCD12864_WriteAscll(0,1,"請按手指");
                                ensure=PS_GetImage();
                                if(ensure==0x00)
                                {
                                        ensure=PS_GenChar(CharBuffer1);//生成特征
                                        if(ensure==0x00)
                                        {
                                                DelayNms(1);
//                                                LCD12864_WriteAscll(0,1,"        ");
                                                LCD12864_WriteAscll(0,2,"指紋正常");
//                                                LCD12864_WriteAscll(0,2,"        ");
                                                DelayNms(100);
                                                i=0;
                                                processnum=1;//跳到第二步                                                
                                        }else {};                                
                                }else {};                                                
                                break;
                        
                        case 1:
                                i++;
                                LCD12864_WriteAscll(0,2,"請再按一次");
//                                LCD12864_WriteAscll(0,2,"          ");
                                DelayNms(100);
                                ensure=PS_GetImage();
                                if(ensure==0x00)
                                {
                                        ensure=PS_GenChar(CharBuffer2);//生成特征
                                        if(ensure==0x00)
                                        {
                                                DelayNms(1);
                                                LCD12864_WriteAscll(0,2,"指紋正常");
//                                        LCD12864_WriteAscll(0,2,"        ");
                                                DelayNms(100);
                                                i=0;
                                                processnum=2;//跳到第三步
                                        }else {};        
                                }else {};               
                                break;

                        case 2:
                                LCD12864_WriteAscll(0,2,"對比兩次指紋");
//                                LCD12864_WriteAscll(0,2,"            ");
                                ensure=PS_Match();
                                if(ensure==0x00)
                                {
                                        LCD12864_WriteAscll(0,2,"對比成功");
//                                        LCD12864_WriteAscll(0,2,"        ");
                                        processnum=3;//跳到第四步
                                }
                                else
                                {                                       
                                        LCD12864_WriteAscll(0,2,"對比失敗");
//                                        LCD12864_WriteAscll(0,2,"        ");
                                        ShowErrMessage(ensure);
                                        i=0;
                                        processnum=0;//跳回第一步               
                                }
                                DelayNms(500);
                                break;

                        case 3:
                                LCD12864_WriteAscll(0,2,"生成指紋模板");
//                                LCD12864_WriteAscll(0,2,"            ");
                                DelayNms(500);
                                ensure=PS_RegModel();
                                if(ensure==0x00)
                                {
                                        LCD12864_WriteAscll(0,2,"生成指紋模板成功");
//                                        LCD12864_WriteAscll(0,2,"                ");
                                        processnum=4;//跳到第五步
                                }else {processnum=0;}
                                DelayNms(1000);
                                break;
                                
                        case 4:        
                                LCD12864_WriteAscll(0,0,"按K4加,按K2減");
                                LCD12864_WriteAscll(0,1,"按K3保存");
                                LCD12864_WriteAscll(0,2,"0=< ID <=99      ");
                          ID_NUM=0;
                                while(K!=3)
                                {
                                        K=KeyDown(0);
                                        if(K==2)
                                        {
                                                K=0;
                                                if(ID_NUM>0)
                                                        ID_NUM--;
                                        }
                                        if(K==4)
                                        {
                                                K=0;
                                                if(ID_NUM<99)
                                                        ID_NUM++;
                                        }
                                        LCD12864_WriteAscll(0,3,"ID=");
                                        LCD_WriteTextNum(3,3,ID_NUM,2);
                                }
                                K=0;
                                ensure=PS_StoreChar(CharBuffer2,ID_NUM);//儲存模板
                                if(ensure==0x00)
                                {               
                                        LCD12864_CleanScans();
                                        LCD12864_WriteAscll(0,2,"錄入指紋成功");
//                                        LCD12864_WriteAscll(0,3,"            ");
                                        DelayNms(1500);
                                        LCD12864_CleanScans();
                                        LCD12864_WriteAscll(0,0,"指紋模塊測試程序");
                                        LCD12864_WriteAscll(0,1,"K1鍵添加指紋");
                                        LCD12864_WriteAscll(0,2,"K3鍵刪除指紋");
                                        return ;
                                }else {LCD12864_CleanScans();processnum=0;}                                       
                                break;                                
                }
                DelayNms(400);
                if(i==10)//超過5次沒有按手指則退出
                {
                        LCD12864_CleanScans();
                        break;        
                }
        }               
}
SysPara AS608Para;        //指紋模塊AS608參數(shù)
//刷指紋
uint t=0;
void press_FR(void)
{
        SearchResult seach;
        uchar ensure;
        //char str[20];
        LCD12864_WriteAscll(0,0,"請按下指紋");
        LCD12864_WriteAscll(0,3,"按下16退出");
        while(K!=16)
        {
                K=KeyDown(1);
                ensure=PS_GetImage();
                if(ensure==0x00)//獲取圖像成功
                {        
                        ensure=PS_GenChar(CharBuffer1);
                        if(ensure==0x00) //生成特征成功
                        {                        
                                ensure=PS_HighSpeedSearch(CharBuffer1,0,99,&seach);
                                if(ensure==0x00)//搜索成功
                                {                                
                                        t=0;
                                        LCD12864_WriteAscll(0,1,"指紋驗證成功");        
//                                        sprintf(str,"ID:%d 得分:%d ",seach.pageID,seach.mathscore);
//                                        LCD12864_WriteAscll(0,4,str);
                                        DelayNms(3000);               
                                        LCD12864_CleanScans();
                                        LCD12864_WriteAscll(0,0,"歡迎來到菜單");
                                        LCD12864_WriteAscll(0,1,"按8:指紋");
                                        delay(10000);
                                        delay(10000);
                                        break;               
                                }
                                if(ensure==0x09)
                                {
                                        t++;
                                        LCD12864_WriteAscll(0,2,"驗證失敗");
                                        DelayNms(1500);
                                }               
                                if(t==3)
                                {        
                                        Buzzer = 0;
                                        DelayNms(4000);
                                        Buzzer = 1;

                                        t=0;        
                                        LCD12864_CleanScans();
                                        mima();
                                }
                        }
                        else
                        {
                        }
                        LCD12864_CleanScans();
                        LCD12864_WriteAscll(0,2,"請按手指");
                }
        }        
        LCD12864_CleanScans();
        //main();
}

//刪除指紋
void Del_FR(void)
{
        uchar  ensure;
        uint ID_NUM=0;
        LCD12864_WriteAscll(0,0,"K4+ K2- K3 ok");
        LCD12864_WriteAscll(0,2,"K5清空 K1 braek");
        LCD12864_WriteAscll(0,3,"0=<ID<=99");
        while(K!=3)
        {
                K=KeyDown(1);
                if(K==2)
                {
                        K=0;
                        if(ID_NUM>0)
                                ID_NUM--;
                }
                if(K==4)
                {
                        K=0;
                        if(ID_NUM<99)
                                ID_NUM++;
                }
                if(K==1)
                        goto MENU ; //返回主頁面
                if(K==5)
                {
                        K=0;
                        ensure=PS_Empty();//清空指紋庫
                        if(ensure==0)
                        {
                                LCD12864_CleanScans();
                                LCD12864_WriteAscll(0,2," 清空指紋庫成功 ");               
                        }
                        else
                                {};
                        DelayNms(1500);
                        goto MENU ; //返回主頁面
                }               
                LCD12864_WriteAscll(0,3,"ID=");
                LCD_WriteTextNum(3,3,ID_NUM,2);
        }
        ensure=PS_DeletChar(ID_NUM,1);//刪除單個指紋
        if(ensure==0)
        {
                LCD12864_CleanScans();
                LCD12864_WriteAscll(0,2,"  刪除指紋成功  ");               
        }
  else
                {};        
        DelayNms(1500);
MENU:        
        LCD12864_CleanScans();
                                        LCD12864_WriteAscll(0,0,"指紋模塊測試程序");
                                        LCD12864_WriteAscll(0,1,"K1鍵添加指紋");
                                        LCD12864_WriteAscll(0,2,"K3鍵刪除指紋");
        K=0;
}


作者: gqzjl    時間: 2022-6-16 07:06
你程序中的定時器定義和18b20驅(qū)動是不是有問題




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1