标题: 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).


单片机源程序如下:
  1. #include <reg51.h>
  2. #include<intrins.h>
  3. #include "18B20.h"
  4. #include "delay.h"
  5. #include "LCD1602.h"
  6. float TM;  
  7. int tvalue;
  8. unsigned char tflag;
  9. unsigned char data disdata[5];  

  10. sbit DQ = P3^4;
  11. sbit LcdRs                = P2^0;
  12. sbit LcdRw                = P2^1;
  13. sbit LcdEn          = P2^2;
  14. sfr  DBPort         = 0x80;                //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.
  15. void delay_18B20(unsigned int i)
  16. {
  17.          while(i--);
  18. }

  19. void Init_DS18B20(void)   
  20. {
  21.          unsigned char x=0;
  22.          DQ = 1;   
  23.          delay_18B20(8);  
  24.          DQ = 0;   
  25.          delay_18B20(80);
  26.          DQ = 1;
  27.          delay_18B20(14);
  28.          x=DQ;
  29.          delay_18B20(20);
  30. }  

  31. unsigned char ReadOneChar(void)  
  32. {
  33.         unsigned char i=0;
  34.         unsigned char dat = 0;
  35.         for (i=8;i>0;i--)
  36.          {
  37.                   DQ = 0;
  38.                   dat>>=1;
  39.                   DQ = 1;
  40.                   if(DQ)
  41.                   dat|=0x80;
  42.                   delay_18B20(4);
  43.          }
  44.          return(dat);
  45. }
  46. void WriteOneChar(unsigned char dat)   
  47. {
  48.          unsigned char i=0;
  49.          for (i=8; i>0; i--)
  50.          {
  51.                   DQ = 0;
  52.                  DQ = dat&0x01;
  53.             delay_18B20(5);
  54.                  DQ = 1;
  55.             dat>>=1;
  56. }
  57. }
  58.         
  59. unsigned char *ReadTemperature(char TH,char TL,unsigned char RS)
  60. {        unsigned char tt[2];
  61.         Init_DS18B20();
  62.         WriteOneChar(0xCC);   
  63.         WriteOneChar(0x4E);   
  64.    
  65.         WriteOneChar(TH);   
  66.         WriteOneChar(TL);   
  67.         WriteOneChar(RS);   
  68.                                                 

  69.         delay_18B20(80);       // this message is wery important
  70.         Init_DS18B20();
  71.         WriteOneChar(0xCC);   
  72.         WriteOneChar(0x44);   

  73.         delay_18B20(80);       // this message is wery important
  74.         Init_DS18B20();
  75.         WriteOneChar(0xCC);   
  76.         WriteOneChar(0xBE);   
  77.         delay_18B20(80);

  78.         tt[0]=ReadOneChar();   
  79.         tt[1]=ReadOneChar();   
  80.         return(tt);
  81. }

  82. void ds1820disp()
  83.         {
  84.                 unsigned char flagdat;
  85.           disdata[0]=tvalue/1000+0x30;
  86.     disdata[1]=tvalue%1000/100+0x30;
  87.     disdata[2]=tvalue%100/10+0x30;
  88.     disdata[3]=tvalue%10+0x30;
  89.    
  90.     if(tflag==0)
  91.             flagdat=0x20;
  92.     else
  93.        flagdat=0x2d;

  94.     if(disdata[0]==0x30)
  95.           {disdata[0]=0x20;
  96.                 if(disdata[1]==0x30)
  97.                 {disdata[1]=0x20;
  98.                 }
  99.                 }

  100.            write_com(0x80+0x40);
  101.            write_date(flagdat);
  102.            write_com(0x80+0x41);
  103.            write_date(disdata[0]);
  104.            write_com(0x80+0x42);
  105.            write_date(disdata[1]);      
  106.            write_com(0x80+0x43);
  107.            write_date(disdata[2]);         
  108.            write_com(0x80+0x44);
  109.            write_date(0x2e);        
  110.            write_com(0x80+0x45);
  111.            write_date(disdata[3]);
  112.            write_com(0x80+0x46);
  113.            write_date('C');
  114.    }
复制代码



作者: 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