keil c51 编译XX.C文件时,自动将其位于同一个文件夹得WW.H等个人设计的头文件添加了进来。但是编译警告
keilc51编译XX.C文件时,自动将其位于同一个文件夹得WW.H/EE.H/RR.H....等个人设计的头文件自动添加了下来,编译时有好多警告,我无法修改。这种编成方...
keil c51 编译XX.C文件时,自动将其位于同一个文件夹得WW.H/EE.H/RR.H....等个人设计的头文件自动添加了下来,编译时有好多警告,我无法修改。这种编成方法好吗,与一般的我们常用的在一个.c文件中把所有函数都包括,仅仅添加几个单片机或KEIL自带的头文件。又和设计方法的不同,哪种更好?
另外文件夹里也有同.h文件对应的.c文件,请问我要修改其中的某.h是不是就只要改相对应的.c就可以了?例如:同文件夹中的WW.H我需要修改,我只要改WW.C就可以了?还是都要改?它们俩中的东西如何对应的?
这是部分c文件:
/***********************************
; 程序功能: 采集AD
;***********************************/
#include "STC12C5620AD.H"
#include "intrins.h"
#include "a00_define.h"
#include "a03_MSYSredline.h"
#include "a04_MSYSgetAD.H"
#include "a05_MSYS1628.H"
#include "a06_MSYSfunction.h"
unsigned char v=0;//AD值缓存
unsigned char d04setup_templ;//ad值低位存储
unsigned char d04setup_temph;//ad值高位存储
unsigned char d04room_temp_bufl;//室温ad值低位存储
unsigned char d04room_temp_bufh;//室温ad值高位存储
unsigned char d04guan_temp_bufl;//管温ad值低位存储
unsigned char d04guan_temp_bufh;//管温ad值高位存储
unsigned char d04room_temp;//ad值室温存储
unsigned char d04guan_temp;//ad值管温存储
unsigned char d04room_adshow;//室温温度值
unsigned char d04guan_adshow;//管温温度值
unsigned char d04_buz_num=0;
bit f04_breakalarm_sign=0;
bit f04_overtemperature_sign=0;
code unsigned char temperature_data[]={1,2,3,39,40}; //温度值CONST
code unsigned char temperatureAD_data[]={65,68,,160}; //AD值
void M04_SYSgetAD(void)
{
ADC_CONTR = 0xce; //select p1.6
_nop_();
while((ADC_CONTR & 0x10) == 0) ;
v = ADC_DATA;
if(v < d04guan_temp)
{
d04guan_temp_bufh = d04guan_temp;
if(v < d04guan_temp_bufl)
{
d04guan_temp = d04guan_temp_bufl;
d04guan_temp_bufl = v;
}
else
d04guan_temp = v;
}
else
{
d04guan_temp_bufl = d04guan_temp;
if(v > d04guan_temp_bufh)
{
d04guan_temp = d04guan_temp_bufh;
d04guan_temp_bufh = v;
}
else
d04guan_temp = v;
}
ADC_CONTR = 0xcf; //select p1.7
_nop_();
while((ADC_CONTR & 0x10) == 0) ;
v = ADC_DATA;
if(v < d04room_temp)
{
d04room_temp_bufh = d04room_temp;
if(v < d04room_temp_bufl)
{
d04room_temp = d04room_temp_bufl;
d04room_temp_bufl = v;
}
else
d04room_temp = v;
}
else
{
d04room_temp_bufl = d04room_temp;
if(v > d04room_temp_bufh)
{
d04room_temp = d04room_temp_bufh;
d04room_temp_bufh = v;
}
else
d04room_temp = v;
}
}
这是对应的H文件。/******************
采集AD函数声明
*******************/
void M04_SYSgetAD();
void show_AD_data();
void M04_SYSAD_datadeal();
extern bit f04_breakalarm_sign;
extern bit f04_overtemperature_sign;
extern unsigned char d04_buz_num;
我怎么将其中的东西对上号,解释一下.H是怎样生成的,还是人编写的?怎么设置成自动添加进main函数所在的.c
真心求教!!!不懂的请别掺和!!谢谢 展开
另外文件夹里也有同.h文件对应的.c文件,请问我要修改其中的某.h是不是就只要改相对应的.c就可以了?例如:同文件夹中的WW.H我需要修改,我只要改WW.C就可以了?还是都要改?它们俩中的东西如何对应的?
这是部分c文件:
/***********************************
; 程序功能: 采集AD
;***********************************/
#include "STC12C5620AD.H"
#include "intrins.h"
#include "a00_define.h"
#include "a03_MSYSredline.h"
#include "a04_MSYSgetAD.H"
#include "a05_MSYS1628.H"
#include "a06_MSYSfunction.h"
unsigned char v=0;//AD值缓存
unsigned char d04setup_templ;//ad值低位存储
unsigned char d04setup_temph;//ad值高位存储
unsigned char d04room_temp_bufl;//室温ad值低位存储
unsigned char d04room_temp_bufh;//室温ad值高位存储
unsigned char d04guan_temp_bufl;//管温ad值低位存储
unsigned char d04guan_temp_bufh;//管温ad值高位存储
unsigned char d04room_temp;//ad值室温存储
unsigned char d04guan_temp;//ad值管温存储
unsigned char d04room_adshow;//室温温度值
unsigned char d04guan_adshow;//管温温度值
unsigned char d04_buz_num=0;
bit f04_breakalarm_sign=0;
bit f04_overtemperature_sign=0;
code unsigned char temperature_data[]={1,2,3,39,40}; //温度值CONST
code unsigned char temperatureAD_data[]={65,68,,160}; //AD值
void M04_SYSgetAD(void)
{
ADC_CONTR = 0xce; //select p1.6
_nop_();
while((ADC_CONTR & 0x10) == 0) ;
v = ADC_DATA;
if(v < d04guan_temp)
{
d04guan_temp_bufh = d04guan_temp;
if(v < d04guan_temp_bufl)
{
d04guan_temp = d04guan_temp_bufl;
d04guan_temp_bufl = v;
}
else
d04guan_temp = v;
}
else
{
d04guan_temp_bufl = d04guan_temp;
if(v > d04guan_temp_bufh)
{
d04guan_temp = d04guan_temp_bufh;
d04guan_temp_bufh = v;
}
else
d04guan_temp = v;
}
ADC_CONTR = 0xcf; //select p1.7
_nop_();
while((ADC_CONTR & 0x10) == 0) ;
v = ADC_DATA;
if(v < d04room_temp)
{
d04room_temp_bufh = d04room_temp;
if(v < d04room_temp_bufl)
{
d04room_temp = d04room_temp_bufl;
d04room_temp_bufl = v;
}
else
d04room_temp = v;
}
else
{
d04room_temp_bufl = d04room_temp;
if(v > d04room_temp_bufh)
{
d04room_temp = d04room_temp_bufh;
d04room_temp_bufh = v;
}
else
d04room_temp = v;
}
}
这是对应的H文件。/******************
采集AD函数声明
*******************/
void M04_SYSgetAD();
void show_AD_data();
void M04_SYSAD_datadeal();
extern bit f04_breakalarm_sign;
extern bit f04_overtemperature_sign;
extern unsigned char d04_buz_num;
我怎么将其中的东西对上号,解释一下.H是怎样生成的,还是人编写的?怎么设置成自动添加进main函数所在的.c
真心求教!!!不懂的请别掺和!!谢谢 展开
1个回答
展开全部
#include "STC12C5620AD.H"
#include "intrins.h"
#include "a00_define.h"
#include "尘宏塌a03_MSYSredline.h"
#include "a04_MSYSgetAD.H"
#include "绝旅a05_MSYS1628.H"
#include "a06_MSYSfunction.h"
因为你写了上面这些头文件啊,如果不需要就注释掉,然后再编译就不会自动添加那么多派圆头文件了!!!关键看你需不需要那么多头文件。
#include "intrins.h"
#include "a00_define.h"
#include "尘宏塌a03_MSYSredline.h"
#include "a04_MSYSgetAD.H"
#include "绝旅a05_MSYS1628.H"
#include "a06_MSYSfunction.h"
因为你写了上面这些头文件啊,如果不需要就注释掉,然后再编译就不会自动添加那么多派圆头文件了!!!关键看你需不需要那么多头文件。
追问
程序是人家写的,他写写了这么多而且是必须的不能少,我以前没见过这么写的!!这样写好吗?.h文件也是自己写的吗?还是编译时产生的?
追答
那肯定是必须得,.H文件除了51.H,math.h等自带的头文件,其他基本上都是自己写的。
这样写有很多优点,如果不怎么理解可以暂时不用管,用到里面的东西再进去看就好了,和.C没什么区别的~
采纳我的答案吧~~多谢!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询