单片机程序模块化格式

我们有时经常会发现代码太多,分块的方法会清晰很多,要么直接在xxx.h中写完,要么在xxx.c调用xxx.h,并把多有的c文件加到功能中。以LCD1602显示为例子
1.新建xxx.h进行申明

例如定义ds1302.h
#ifndef __DS1302_H_ (这里小写改大写)
#define __DS1302_H_

//---包含头文件---//
#include
#include

//---重定义关键词---//
#ifndef uchar
#define uchar unsigned char
#endif

#ifndef uint
#define uint unsigned int
#endif

//---定义ds1302使用的IO口---//
sbit DSIO=P3^4;
sbit RST=P3^5;
sbit SCLK=P3^6;

//---定义全局函数---//
void Ds1302Write(uchar addr, uchar dat);
uchar Ds1302Read(uchar addr);
void Ds1302Init();
void Ds1302ReadTime();

//---加入全局变量--//
extern uchar TIME[7]; //加入全局变量

#endif

2.xxx.c中调用

#include "ds1302.h"
或者
#include

3.main函数中直接调用

#include
#include
并把ds1302.c和main.c一起添加到工程

4.若我们把模块直接写到xxx.h中,没有相同的xxx.c去调用,就直接在main.c中调用即可。

#ifndef _xxx_H__
#define _xxx_H__
写所有函数
#endif

标签: 单片机