单片机的模块化编程
一、编写单片机C语言程序开头格式
File name:文件名称
Author:作者
Version:版本号
Description:功能描述
Data:日期
二、单片机C语言程序模块化步骤
1、在同一文件夹下新建一个Main.C文件(或主文件或运行文件)和xxx.C文件(或功能文件)和xxx.h文件(头文件),其中xxx.C文件(或功能文件)和xxx.h文件(头文件)的文件名“xxx”要有意义,最好可以体现该文件的功能。
2、编写xxx.C文件(或功能文件)内容
(1)、包含xxx.h文件(或头文件)
include"led.h"
(2)、声明变量或定义变量 //视具体情况,这步骤可省略。
uchar temp;//调用xxx.h文件(或头文件)中声明的变量temp
(3)、编写功能函数
void Delay(uint time)
{
uchar i,j,k;
for(i=0;i<time;i++)
{
for(j=0;j<110;j++);
}
}
void LedDisplay()
{
led=0x7f;
for(k=0;k<8;k++)
{
led=_cror_(led,1);
Delay(500);
}
}
3、编写xxx.h文件(或头文件)内容
(1)、#ifndef xxx //表示if not define xxx.h
#ifndef __LED_H__
(2)、#define xxx //表示如果没有定义 xxx.h ,这里就定义一个 xxx.h。
#define __LED_H__
(3)、单片机头文件或宏定义或声明变量或定义变量或声明功能函数
#include "reg52.h" //由于xxx.C文件(或功能文件)的内容里面要用到51单片机寄存器P1
#include "intrins.h" //循环移位用到
#define uchar unsigned char//这些宏定义都可以在xxx.h 文件(或头文件)里定义
#define uint unsigned int //这些宏定义都可以在xxx.h 文件(或头文件)里定义
#define led P1
extern uchar temp;//在xxx.h文件(或头文件)声明变量temp供其他xxx.C文件(或功能文件)调用,extern只声明变量,不定义变量,注意区分。
void Delay(uint time);//将xxx.C文件(或功能文件)里编写的功能函数在xxx.h文件(或头文件)里面声明
void LedDisplay(); // 将xxx.C文件(或功能文件)里编写的功能函数在xxx.h文件(或头文件)里面声明
(4)、#endif // 定义结束
说明:xxx.h文件(或头文件)内容中的xxx不能相同,且按格式“__大写英文名称_H__”定义。
4、编写Main.C文件(或主文件或运行文件)内容
(1)、包含单片机头文件
#include "reg52.h"
(2)、包含xxx.h文件(或头文件)
include"led.h"
(3)、主函数
void main()
{
while(1)
{
LedDisplay();
}
}