單片機的模塊化編程


一、編寫單片機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(); 
      }

   }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM