現在生產的許多單片機對8051的內核進行了擴展,比如,內部看門狗,ADC轉換、EEPROM、PWM等功能。在編程控制程序時,如需要利用這些擴展模塊,一般程序體積會變大,文本的長度較長。在調試程序時就顯得不太方便了,較好的方法是根據程序段的功能進行模塊化編程。
當然在利用一般的單片機編程時,將實現同一目的的程序段進行封裝,進行模塊化編程,對于程序的維護和調試也是很有幫助的。
1、在運用C語言進行編程時,要養成良好的編程書寫習慣。
在程序的開始一般的格式:
/**********************
File name: 文件名稱
Author: 作者
Version: 版本號
Description: 功能描述
Data: 日期
*************************/
2、{}
按Tab鍵,這樣程序的層次比較清晰。
3、模塊化編程
將完成某一特定功能的程序段進行封裝。比如delay(WOED n),eeprom();等。
具體步驟如下:
1、創建頭文件
在KEIL軟件中兩次點擊“新建”,創建兩個新的文檔。保存成.C文件(源文件)和一個.H文件(頭文件)。.C和.H文件要同名,名稱要有意義,最好可以體現該文件的功能。如建立一個延時程序,delay.c;delay.h。
2、防重復包含處理
在.H文件中加入如下代碼:
#ifndef xxx 如 #ifndef __DELAY_H__
#define xxx 如 #define __DELAY_H__
……
#endif
3、 代碼封裝
將需要模塊化的代碼封裝成函數或宏定義。
函數要在頭文件中聲明一下。
函數體放在.C文件中。
需要被外部調用的宏定義放在.H頭文件中。
盡量少用或不用全局變量,必須要用全局的申明放在.C文件中,當需要調用外部全局變量,需要在.H文件中用extern 重新申明。
4、 使用源文件
在KEIL軟件的工程中,將需要調用的.C文件添加到工程中。若是.C源文件中調用了那個.H文件中的宏定義或者函數,必須在該.C源文件中增加代碼將.H文件包含進去。
5、 所包含的頭文件中的函數,宏定義、全局變量可以在.C文件中自由調用。
具體細節,有時間在整理