单片机的模块化编程

一、编写单片机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(); 
      }

   }

 

原文地址:https://www.cnblogs.com/AChenWeiqiangA/p/13468202.html