制作自己的专属【头文件】
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
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 }
3.在以上的基础写一下流水灯:

1 #ifndef __WATERLED_H__ 2 #define __WATERLED_H__ 3 4 5 6 7 #endif
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 }
[检测开关电路]
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
一个二次元的生物

浙公网安备 33010602011771号