單片機c51語言
A. C51單片機用的是C語言還是匯編語言謝謝
兩種語言都可以,因為最後燒寫到晶元中的是二進制文件,該二進制文件由編輯器(如KEIL)編譯連接C語言源碼,或者匯編語言源碼獲得
B. C51語言的單片機程序由多個函數組成,其中至少要包括幾個函數
C51語言的單片機程序由多個函數組成,其中至少要包括幾個函數並不是固定的,也沒有什麼規定必須包括幾個函數。這很自由,是根據實際需要寫函數就是了,一般都 是把具有一些功能的程序寫成一個獨立的子函數,然後由主程序來調用。
C. c51語言頭文件包括的內容有8051單片機
3章C51編程語言基礎
【內容概要】本章介紹有關C51語言編程的基礎知識,對C51語言與8051匯編語言編程進行比較,了解C51語言與標准C語言的差別,並對C51語言的數據類型與存儲類型,C51語言的基本運算,分支與循環結構,數組、指針、函數等也做以介紹。
隨著單片機應用系統的日趨復雜,對程序的可讀性、升級與維護以及模塊化的要求越來越高,對軟體編程的要求也越來越高,這就要求編程人員在短時間內編寫出執行效率高、運行可靠的程序代碼。同時,也要方便多個編程人員來進行協同開發。
C51語言是目前的8051單片機應用開發中,普遍使用的程序設計語言。C51語言能直接對8051單片機硬體進行操作,它既有高級語言的特點,又有匯編語言的特點,因此在8051單片機程序設計中,C51語言得到非常廣泛的使用。
3.1C51編程語言簡介
C51語言是在標准C語言的基礎上針對8051單片機的硬體特點進行了擴展,並向8051單片機上移植,經過多年努力,C51語言已成為公認的高效、簡潔的8051單片機的實用高級編程語言。與8051匯編語言相比,C51語言在功能上、結構性、可讀性、可維護性上有明顯優勢,且易學易用。
3.1.1C51語言與8051匯編語言的比較
與8051單片機匯編語言相比, C51語言具有如下優點。
(1)可讀性好。C51語言程序比匯編語言程序的可讀性好,編程效率高,程序便於修改、維護以及升級。
(2)模塊化開發與資源共享。用C51語言開發的程序模塊可以不經修改,直接被其他工程所用,使得開發者能夠很好地利用已有的大量標准C程序資源與豐富的庫函數,從而減少重復勞動,同時也有利於多個程序設計者協同開發。
(3)可移植性好。為某種型號單片機開發的C語言程序,只需將與硬體相關的頭文件和編譯鏈接的參數進行適當修改,就可方便地移植到其他型號的單片機上。例如,為8051單片機編寫的程序通過改寫頭文件以及少量的程序行,就可方便地移植到PIC單片機上。
(4)生成的代碼效率高。當前較好的C51語言編譯系統編譯出來的代碼,效率只比直接使用匯編語言低20%左右,如果使用優化編譯選項,最高效率可達到90%。
3.1.2C51語言與標准C語言的比較
C51語言與標准C語言有許多相同之處,但也有其自身的一些特點。不同的嵌入式C語言編譯系統之所以與標准C語言有不同的地方,主要是由於它們所針對的硬體系統不同。對於8051單片機,目前廣泛使用的是C51語言。
C51語言的基本語法與標准C語言相同,只是在標准C語言的基礎上進行了適合於8051內核單片機硬體的擴展。深入理解C51語言對標准C語言的擴展部分以及它們的不同之處,是掌握C51語言的關鍵之一。
C51語言與標准C語言的一些差別如下。
(1)庫函數的不同。標准C語言中的,不適合於嵌入式控制器系統的庫函數,被排除在C51語言之外,如字元屏幕和圖形函數,而有些庫函數必須針對8051單片機的硬體特點來做出相應的開發。例如,庫函數printf和scanf,在標准C語言中,這兩個函數通常用於屏幕列印和接收字元,而在C51語言中,主要用於串列口數據的收發。
(2)數據類型有一定區別。在C51語言中增加了幾種針對8051單片機特有的數據類型,在標准C語言的基礎上又擴展了4種類型。例如,8051單片機包含位操作空間和豐富的位操作指令,因此,C51語言與標准C語言相比增加了位類型。
(3)C51語言的變數存儲模式與標准C語言中的變數存儲模式數據不一樣。標准C語言最初是為通用計算機設計的,在通用計算機中只有一個程序和數據統一定址的內存空間,而C51語言中變數的存儲模式與8051單片機的各種存儲器區緊密相關。
(4)數據存儲類型的不同。8051單片機存儲區可分為內部數據存儲區、外部數據存儲區以及程序存儲區。內部數據存儲區可分為3個不同的C51存儲類型:data、idata和bdata。外部數據存儲區分為2個不同的C51存儲類型:xdata和pdata。程序存儲區只能讀不能寫,可能在8051單片機片內或在片外,C51語言提供的code存儲類型用來訪問程序存儲區。