标题:
warning C318: can't open file 'delay.h' Keil编译出错
[打印本页]
作者:
二九儿
时间:
2019-4-29 22:05
标题:
warning C318: can't open file 'delay.h' Keil编译出错
LCD1602显示环境温度程序运行出错怎么解决LCD1602显示环境温度程序运行出错怎么解决
compiling text.c...
text.c(3): warning C318: can't open file '18B20.h'
text.c(4): warning C318: can't open file 'delay.h'
text.c(5): warning C318: can't open file 'LCD1602.h'
text.c(109): warning C206: 'write_com': missing function-prototype
text.c(109): error C267: 'write_com': requires ANSI-style prototype
text.c - 1 Error(s), 4 Warning(s).
单片机源程序如下:
#include <reg51.h>
#include<intrins.h>
#include "18B20.h"
#include "delay.h"
#include "LCD1602.h"
float TM;
int tvalue;
unsigned char tflag;
unsigned char data disdata[5];
sbit DQ = P3^4;
sbit LcdRs = P2^0;
sbit LcdRw = P2^1;
sbit LcdEn = P2^2;
sfr DBPort = 0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.
void delay_18B20(unsigned int i)
{
while(i--);
}
void Init_DS18B20(void)
{
unsigned char x=0;
DQ = 1;
delay_18B20(8);
DQ = 0;
delay_18B20(80);
DQ = 1;
delay_18B20(14);
x=DQ;
delay_18B20(20);
}
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0;
dat>>=1;
DQ = 1;
if(DQ)
dat|=0x80;
delay_18B20(4);
}
return(dat);
}
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay_18B20(5);
DQ = 1;
dat>>=1;
}
}
unsigned char *ReadTemperature(char TH,char TL,unsigned char RS)
{ unsigned char tt[2];
Init_DS18B20();
WriteOneChar(0xCC);
WriteOneChar(0x4E);
WriteOneChar(TH);
WriteOneChar(TL);
WriteOneChar(RS);
delay_18B20(80); // this message is wery important
Init_DS18B20();
WriteOneChar(0xCC);
WriteOneChar(0x44);
delay_18B20(80); // this message is wery important
Init_DS18B20();
WriteOneChar(0xCC);
WriteOneChar(0xBE);
delay_18B20(80);
tt[0]=ReadOneChar();
tt[1]=ReadOneChar();
return(tt);
}
void ds1820disp()
{
unsigned char flagdat;
disdata[0]=tvalue/1000+0x30;
disdata[1]=tvalue%1000/100+0x30;
disdata[2]=tvalue%100/10+0x30;
disdata[3]=tvalue%10+0x30;
if(tflag==0)
flagdat=0x20;
else
flagdat=0x2d;
if(disdata[0]==0x30)
{disdata[0]=0x20;
if(disdata[1]==0x30)
{disdata[1]=0x20;
}
}
write_com(0x80+0x40);
write_date(flagdat);
write_com(0x80+0x41);
write_date(disdata[0]);
write_com(0x80+0x42);
write_date(disdata[1]);
write_com(0x80+0x43);
write_date(disdata[2]);
write_com(0x80+0x44);
write_date(0x2e);
write_com(0x80+0x45);
write_date(disdata[3]);
write_com(0x80+0x46);
write_date('C');
}
复制代码
作者:
wc86110
时间:
2019-4-29 23:09
软件提示缺少这些文件必要的文件
作者:
二九儿
时间:
2019-4-30 10:24
wc86110 发表于 2019-4-29 23:09
软件提示缺少这些文件必要的文件
是.h文件里面的嘛?
作者:
青龙书生
时间:
2019-4-30 16:34
是你编译所在的文件夹下,缺少那几个文件,
#include "18B20.h"
#include "delay.h"
#include "LCD1602.h"
的意思是去调用这三个文件,但是你的文件夹下面没有这三个文件,就会报错
作者:
yzwzfyz
时间:
2019-4-30 17:02
你在程序中引用了它,编译平台就去找了,但平台在你指定或默认的路径中未找到它。
所以请你补一下。
作者:
二九儿
时间:
2019-5-1 21:31
好的,谢谢你们
作者:
菜用鸡
时间:
2019-5-7 15:25
可能是#include" "改为这个#include<>
作者:
tigerlyt
时间:
2019-5-7 23:52
把那三个文件放在这个工程的target还是source里面,就是跟main.c放在一个文件夹下,一定要一个文件夹下,就可以了,就能找到了,现在是同目录下找不到这三个文件。
作者:
ahld
时间:
2019-5-8 13:52
看看有没有这种文件
作者:
wuyacao
时间:
2019-5-8 14:39
#include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int
作者:
superbear
时间:
2019-5-8 16:22
同一工程文件里 你是不是没有加那些.h文件
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1