專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

單片機(jī)的模塊化編程

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年03月16日   【字體:

現(xiàn)在生產(chǎn)的許多單片機(jī)對8051的內(nèi)核進(jìn)行了擴(kuò)展,比如,內(nèi)部看門狗,ADC轉(zhuǎn)換、EEPROM、PWM等功能。在編程控制程序時,如需要利用這些擴(kuò)展模塊,一般程序體積會變大,文本的長度較長。在調(diào)試程序時就顯得不太方便了,較好的方法是根據(jù)程序段的功能進(jìn)行模塊化編程。

當(dāng)然在利用一般的單片機(jī)編程時,將實現(xiàn)同一目的的程序段進(jìn)行封裝,進(jìn)行模塊化編程,對于程序的維護(hù)和調(diào)試也是很有幫助的。

1、在運用C語言進(jìn)行編程時,要養(yǎng)成良好的編程書寫習(xí)慣。

在程序的開始一般的格式:

/**********************

File name:  文件名稱

Author:      作者

Version:     版本號

Description: 功能描述

Data:           日期

*************************/

2、{}

   按Tab鍵,這樣程序的層次比較清晰。

3、模塊化編程

     將完成某一特定功能的程序段進(jìn)行封裝。比如delay(WOED n),eeprom();等。

具體步驟如下:

 1、創(chuàng)建頭文件

在KEIL軟件中兩次點擊“新建”,創(chuàng)建兩個新的文檔。保存成.C文件(源文件)和一個.H文件(頭文件)。.C和.H文件要同名,名稱要有意義,最好可以體現(xiàn)該文件的功能。如建立一個延時程序,delay.c;delay.h。

2、防重復(fù)包含處理

在.H文件中加入如下代碼:

#ifndef  xxx    如      #ifndef __DELAY_H__

#define  xxx    如     #define __DELAY_H__

……

#endif

3、              代碼封裝

將需要模塊化的代碼封裝成函數(shù)或宏定義。

函數(shù)要在頭文件中聲明一下。

函數(shù)體放在.C文件中。

需要被外部調(diào)用的宏定義放在.H頭文件中。

盡量少用或不用全局變量,必須要用全局的申明放在.C文件中,當(dāng)需要調(diào)用外部全局變量,需要在.H文件中用extern 重新申明。

4、              使用源文件

在KEIL軟件的工程中,將需要調(diào)用的.C文件添加到工程中。若是.C源文件中調(diào)用了那個.H文件中的宏定義或者函數(shù),必須在該.C源文件中增加代碼將.H文件包含進(jìn)去。

5、              所包含的頭文件中的函數(shù),宏定義、全局變量可以在.C文件中自由調(diào)用。


具體細(xì)節(jié),有時間在整理

關(guān)閉窗口

相關(guān)文章