单片机C语言头文件问题
程序如下(有部分省略)#include<AT89X52.h>#include"DS18B20.h"#defineuintunsignedint#defineucharun...
程序如下(有部分省略)
#include <AT89X52.h>
#include "DS18B20.h"
#define uint unsigned int
#define uchar unsigned char //宏定义
#define SET P3_1 //定义调整键
........
.........
/*****END*****/
DS18B20.h:
#include <AT89X52.h>
#define DQ P3_6 //定义DS18B20总线I/O
........
.........
/*****END*****/
在这里#include "DS18B20.h" 和DS18B20.h:分别是什么意思,如果第二段程序不写DS18B20.h: #include <AT89X52.h>这两句,同时第一段程序中也删除#include "DS18B20.h" 这一句,效果同不改之前的一样吗,谢谢!!!! 展开
#include <AT89X52.h>
#include "DS18B20.h"
#define uint unsigned int
#define uchar unsigned char //宏定义
#define SET P3_1 //定义调整键
........
.........
/*****END*****/
DS18B20.h:
#include <AT89X52.h>
#define DQ P3_6 //定义DS18B20总线I/O
........
.........
/*****END*****/
在这里#include "DS18B20.h" 和DS18B20.h:分别是什么意思,如果第二段程序不写DS18B20.h: #include <AT89X52.h>这两句,同时第一段程序中也删除#include "DS18B20.h" 这一句,效果同不改之前的一样吗,谢谢!!!! 展开
展开全部
#include "DS18B20.h"这个是个。人定义的头文件,便于其他地方使用而已,这个应该定义的是温度传感器的头文件。如果不用这个#include <AT89X52.h>,就得自己定义一些你需要用到的位了,#include "DS18B20.h"。如果不写这个,则没法调用你写的那个温度的程序。
追问
那我在网上看到一些DS18B20的演示程序都没有如此写法,开始写#include(reg52.h),后开始写宏定义,位定义等,接着开始写子函数等,没有自定义温度传感器的头文件,这两者又有什么区别,我如果不自定义温度传感器的头文件.而写一些如初始化子函数,写子函数等,在主程序内调用相关的函数,效果一样吗,谢谢
追答
写头文件是基于模块化编程的思想,当然你也可以把所有的函数等写在一个.c文件中,但是做工程时候,这样会很麻烦,尤其是当程序代码有上千行或者更多时候。模块化的优点就是你只需添加头文件就可以调用了,不用你重新再写这些东西。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询