找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1461|回复: 1
收起左侧

Target not created

[复制链接]
ID:1011411 发表于 2022-6-6 09:56 | 显示全部楼层 |阅读模式
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,"空气质量:");
                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确认");
        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参数
//刷指纹
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;
}

回复

使用道具 举报

ID:639106 发表于 2022-6-16 07:06 | 显示全部楼层
你程序中的定时器定义和18b20驱动是不是有问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表