51單片機的程序設計中的C語言

在實際工程應用中,51單片機的程序設計一般都是採用C語言編寫,通過相應的編譯器,得到可執行代碼,以提高程序開發效率。但由於單片機的內部資源有限,並結合單片機的特點(如位操作),與標準C語言相比,有所不同,稱爲C51程序。

C語言的特點

  • 語言簡潔、緊湊,使用方便、靈活。
  • 運算符豐富。
  • 數據結構豐富。具有現代化語言的各種數據結構。
  • 可進行結構化程序設計。
  • 可以直接對計算機硬件進行操作。
  • 生成的目標代碼質量高,程序執行效率高。
  • 可移植性好。

 

C語言程序採用函數結構,每個C語言程序由一個或多個函數組成,在這些函數中至少應包含一個主函數main(),也可以包含一個main()函數和若干個其它的功能函數。不管main()函數放於何處,程序總是從main()函數開始執行,執行到main()函數結束則結束。在main()函數中調用其它函數,其它函數也可以相互調用,但main()函數只能調用其它的功能函數,而不能被其它的函數所調用。

功能函數可以是C語言編譯器提供的庫函數,也可以是由用戶定義的自定義函數。在編制C程序時,程序的開始部分一般是預處理命令、函數說明和變量定義等。

用C語言編寫51單片機程序與用匯編語言編寫51單片機程序不同,彙編語言必須要考慮其存儲器結構,尤其必須考慮其片內數據存儲器與特殊功能寄存器的使用以及按實際地址處理端口數據。

    用C語言編寫的51單片機應用程序,則不用像彙編語言那樣須具體組織、分配存儲器資源和處理端口數據,但在C語言編程中,對數據類型與變量的定義,必須要與單片機的存儲結構相關聯,否則編譯器不能正確地映射定位。

用C語言編寫單片機應用程序與標準的C語言程序也有相應的區別:C語言編寫單片機應用程序時,需根據單片機存儲結構及內部資源定義相應的數據類型和變量,而標準的C語言程序不需要考慮這些問題。

 

C51包含的數據類型、變量存儲模式、輸入輸出處理、函數等方面與標準的C語言有一定的區別。其它的語法規則、程序結構及程序設計方法等與標準的C語言程序設計相同。

現在支持51系列單片機的C語言編譯器有很多種,如American  Automation、Avocet、BSO/TASKING、DUNFIELD SHAREWARE、KEIL/Franklin等。各種編譯器的基本情況相同,但具體處理時有一定的區別,其中KEIL/Franklin以它的代碼緊湊和使用方便等特點優於其它編譯器,使用特別廣泛。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章