之前的书写方式都是这样——
//seg.h
#ifndef __SEG_H #define __SEG_H #include "STC15F2K60S2.H" void Nixie_Scan(void); void Nixie_Show(void); void Deal_time(int* sec,int* min,int* hour); #endif
定义头文件名,
加上单片机型号文件名,
加上函数声明,
最后结束#endif
但是这样,每次都要定义好多好多头文件,比如到后面写一个程序,就要定义一个tim.h(定时器函数,关闭外设函数),led.h(led函数),seg.h(数码管函数),key.h(按键函数)等等等等。
而且在这些不同的头文件里的不同函数,有时候会牵扯到一些有关联的变量,比如在按键函数中,假设我按下S4,LED灯会亮几个,这样又要写一个LED灯的变量。
我之前一直都是用指针来写,虽然很有用,但是很麻烦。
最近看到别人的写法(下面代码是我自己写的)——
#ifndef __SYS_H #define __SYS_H #ifndef uchar #define uchar unsigned char #endif #ifndef uint #define uint unsigned int #endif #include#include //全局变量定义 #define FOSC 11059200L //系统时钟 //外部变量 extern uchar sec = 0; extern uchar min = 0; extern uchar hour = 0; extern uchar Led_dat; //Nixie.c void Nixie_Scan(void); void Nixie_Show(void); void Deal_time(void); //tim.c void All_Init(void); void Time0_Init(void); void led_disp(unsigned char led); void Int_Init(void); sbit beep = P0^6; void BEEP(); #endif
直接把函数放在同一个头文件里,然后设定全局变量,这样就可以共同调用了。非常方便!!!
参考博客——小默haa——独立按键与流水灯。



