之前的书写方式都是这样——
//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 <STC15F2K60S2.h>
#include <intrins.h>
#define FOSC 11059200L
extern uchar sec = 0;
extern uchar min = 0;
extern uchar hour = 0;
extern uchar Led_dat;
void Nixie_Scan(void);
void Nixie_Show(void);
void Deal_time(void);
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——独立按键与流水灯。
|