你好!欢迎来到深圳市颖特新科技有限公司!
语言
当前位置:首页 >> 技术中心 >> 单片机入门 >> 51单片机的头文件究竟该如何写?

51单片机的头文件究竟该如何写?

关键字:51单片机 作者:admin 来源:不详 发布时间:2018-05-18  浏览:2

众里寻他千百度,默然回首还是看不懂你的代码!

我相信,对于初学单片机编程或其他语言编程的朋友来说,刚开始我们编程时总喜欢把所有的代码都写在一个文件中。

(当然如果你是绝世天才那就另当别论了,哈哈)。其实我也如此,刚开始我就想,将所有的代码都写在一个文件中那该多

方便,打开一个文件都可以看清。当然,起初我们很容易看明白,因为你我都知道,咱写的代码只有那寥寥几行,倒着背都

能背下来。但当后来我们写的代码越来越多时,我们往往苦于阅读自己的代码。

因此,我们可以将一个程序写在多个文件中(即以.c为后缀的文件中)。这时聪明的你就会问了,那么我写了了这么多文

件,最后只通过一个按钮编译,生成HEX这个家伙,那么各文件又是怎样联系一起的呢?(啊,说了这么多,终于说到点子

上了,ZC一下,看来我的语言表达能力的确得练练)这就是头文件存在的价值呀!

好了,说重点。那么头文件中都改装些什么呢?简单来说就是 预处理+引脚定义+函数名。再多的汉字也表达不了我的意

思,还是代码说话吧。/****下面是一个关于GPS模块的程序头文件,文件名:GPS.h****/
 #ifndef  _GPS_H_
  #define  _GPS_H_             //_GPS_H_与文件名一致,只是改为大写
  #define uint  unsigned int
  #define uchar unsigned char
  typedef struct{              //你知道结构体是干啥的吗?装几个变量
 int month;
 int year;
 int data;
 int hour;
 int minute;
 int second;      //这几个变量用来"装"GPS接收到的时间
 }dataTime;
  .....                        //后面仍是一个结构体,类似,所以我想偷一下懒用。。。代替
  /******下面是一系列函数名,再GPS.C中编写函数*******/
  void gpsInit(void);                     //GPS初始化程序,gpsInit为函数名我比较喜欢用匈牙利/驼峰命名法,强  烈推荐
  int gpsRmcParse(char *line, gpsInfo *gps);         //RMC为接收到的数据头
  int gpsGgaParse(char *line, gpsInfo *gps);
  int gpsGsvParse(char *line, gpsInfo *gps);
  void integerToString(int x, char *str);          //整型转字符串
  #endif                //程序结束

上面就是这个头文件,我们可以就看到它的格式就是这样的
#ifndef ......
#define......
...
...
#endif

如果使用的什么模块要接到I/O口,就在头文件中写

#include<reg51.h>
sbit ...
sbit ...
sbit ...
sbit ...
//等这样的代码,至于意思嘛,你当然懂!

现在,头文件写完了,那么接下来的工作就简单多了,将你的头文件加载到所要使用该头文件中内容的C文件中。

编辑:admin  最后修改时间:2018-05-18

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright © 2014-2023 颖特新科技有限公司 All Rights Reserved.  粤ICP备14043402号-4