制作自己的专属【头文件】

1.大家知道关于C语言的头文件,经常用的就是:

#include<stdio.h>

那么你知道头文件是可以自己编写的么?

 

1 #ifndef  __DELAY_H__
2 #define __DELAY_H__
3 
4 //代码部分
5 
6 #endif

 

在这之前先说明一件事,引用头文件的时候会出现两个版本:

#include<stdio.h>

 

#include "stdio.h"

后一个是首先搜索工程文件所在目录,然后再搜索编译器头文件所在目录;

前一个是刚刚相反

2.编写延迟函数

 (1)在keil里新建一个文件delay.h

在delay.h中编写:

1 #ifndef _DELAY_H__
2 #define _DELAY_H__
3 //变量和预编译
4 #define uchar unsigned char
5 #define uint unsigned int
6 void delay(uint z);
7 
8 
9 #endif
delay.h
 1 #include "delay.h"  //引用预先设定的变量在delay.h的头文件
 2 
 3 void delay(uint z)
 4 {
 5   uint x,y;
 6   for(x=z;x>0x--)
 7   {
 8     for(y=114;y>0;y--);  //1ms延时
 9   }
10 
11 }
delay.c

3.在以上的基础写一下流水灯:

 

1 #ifndef __WATERLED_H__
2 #define __WATERLED_H__
3 
4 
5 
6 
7 #endif
waterLed.h
 1 #include <reg52.h>
 2 #include <intrins.h>  //左右移位函数 
 3 #include "waterLed.h"
 4 #include "delay.h"
 5 
 6 void main()
 7 {
 8   P1=0xfe;  //共阳极数码管 1111 1110  
 9   while(1)
10   {
11     delay(500);         //延时函数,在delay.h头文件
12     P1 = _crol_(P1,1);  //左移函数,在intrins.h的头文件
13   }
14 
15 }
waterLed.c

 

 

[检测开关电路]

 

 1 #include <reg52.h>
 2 #include "delay.h"
 3 
 4 void main()
 5 {
 6   while(1)
 7   {
 8     uchar temp;
 9     P1 = 0xff;  //1111 1111
10     temp = P1&0xf0;  //P1 & 1111 0000去掉低四位
11     temp = temp>>4;
12     P1 = temp;
13     delay(40);
14   
15   }
16 
17 
18 }

 

 1.这里再说说其他的形式

1 #ifndef x
2 #define x
3 
4 //程序块1
5 
6 #endif

如果没有引用头文件x,加载程序块1

 

#ifndef x
#define x

//代码块1

#else

//代码块2

#endif

如果没有引用x,引用代码块1,否则执行代码块2

 

#if x

//代码块1

#else 

//代码块2

#endif

如果x的条件为1,则执行代码块1,否则执行代码块2

 

posted @ 2018-10-22 19:17  Justice-V  阅读(194)  评论(0)    收藏  举报