- 零基礎學單片機C語言程序設計
- 趙建領 薛園園等編著
- 938字
- 2018-12-31 21:41:33
3.1 C51程序的基本結構
單片機C51語言繼承了C語言的特點,其程序結構與一般C語言的程序結構沒有差別。C51源程序文件的擴展名為“.c”,如Test.c、Function.c等。每個C51源程序中包含一個名為“main()”的主函數,C51程序的執行總是從main()函數開始的。當主函數中所有語句執行完畢,則程序執行結束。下面是一個典型的C51源程序的例子。
#include <reg52.h> //預處理命令,reg52.h是一個頭文件 void Function1(void); //自定義函數Function1聲明 void main(void) //主函數 { Function1(); //調用自定義函數Function1 unsigned char ch; //主函數中變量聲明 while(1) { printf("ch=%c\n",ch); //程序語句 ch++; //程序語句 } } void Function1(void) //自定義函數Function1 { unsighed char ps; //自定義函數內部變量聲明 ps=12; //程序語句 printf("ps=%d\n",ps); //程序語句 }
從上面的例子可以看出,一個典型的C51源程序包含預處理命令、自定義函數聲明、main主函數和自定義函數。這幾部分完全類似于C語言的程序結構,各個部分的功能如下。
?預處理命令部分常用#include命令來包含一些程序中用到的頭文件。這些頭文件中包含了一些庫函數以及其他函數的聲明及定義。
?自定義函數聲明部分用來聲明源程序中自定義的函數。
?main主函數是整個C51程序的入口。不論main()函數位于程序代碼中的哪個位置,C51程序總是從首先main()函數開始執行的。
?自定義函數部分是C51源程序中用到的自定義函數的函數體,其中實現了用戶自定義的功能。
除了擴展名為“.c”的源程序文件外,C51程序還支持擴展名為“.h”的頭文件以及擴展名為“.lib”的庫文件等。在一般的編譯系統中,通常以項目結構來管理復雜的C51程序文件。例如在Keil μ Vision3編譯環境中,整個項目結構如圖3.1所示。

圖3.1 Keil μ Vision3項目結構示意圖
在這里,整個項目由項目文件來管理,項目文件的擴展名為“.Uv2”。整個工程項目中可以包含如下幾類文件。
?頭文件用來包含一些庫函數、系統變量聲明以及將不同的C文件連接起來。
?C源文件是C51程序的主要部分,用來實現特定的功能。C源文件可以有一個,也可以按照不同的功能分成多個,但所有這些C源文件中有且僅有一個可以包含一個main()主函數。
?庫文件是實現特定功能的函數庫,供C源文件中進行調用。
?編譯中間文件是源程序在編譯鏈接過程中生成的中間文件,其中包含了文件編譯調試的信息。
?可燒錄文件是編譯系統生成的可以燒錄到單片機內部供執行的文件,類似于“.exe”可執行文件。在C51語言中,一般擴展名為“.hex”或者“.bin”等。
在這些文件中,C源文件是必須的,其他的可以根據用戶實際的需要而使用。
- Mastering NetBeans
- ServiceNow Application Development
- .NET 4.0面向對象編程漫談:基礎篇
- AIRAndroid應用開發實戰
- Python高級編程
- Learning Python by Building Games
- Mastering ServiceNow(Second Edition)
- Serverless架構
- Java Web程序設計任務教程
- Python機器學習算法: 原理、實現與案例
- Python編程:從入門到實踐(第3版)
- Visual Basic程序設計(第三版)
- 軟件工程與UML案例解析(第三版)
- Python Machine Learning Cookbook
- Mastering Embedded Linux Programming