① 單片機用什麼語言編寫程序
一般是C語言或者匯編語言。
1、大多數情況下,單片機運行的程序,都是C語言編寫的。不過並不是純粹的傳統C語言,而是變種後的C51語言。
單片機C51語言是由C語言繼承而來的。和C語言不同的是,C51語言運行於單片機平台,而C語言則運行於普通的桌面平台。C51語言具有C語言結構清晰的優點,便於學習,同時具有匯編語言的硬體操作能力。對於具有C語言編程基礎的工程師,能夠輕松地掌握單片機C51語言的程序設計。
2、匯編語言:
匯編語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符(Mnemonics)代替機器指令的操作碼,用地址符號(Symbol)或標號(Label)代替指令或操作數的地址。在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。普遍地說,特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。
匯編語言不像其他大多數的程序設計語言一樣被廣泛用於程序設計。在今天的實際應用中,它通常被應用在底層,硬體操作和高要求的程序優化的場合。驅動程序、嵌入式操作系統和實時運行程序都需要匯編語言。
在一些情況下,C51並不能完美的實現功能,所以匯編語言是對C51的一個重要補充。一般來說,啟動部分(基礎硬體的初始化),往往是由匯編語言完成的。除此以外,一些要求時效性特別強,效率要求特別高時,也需要使用匯編語言完成。
② C51語言的主要特點
單片機C51語言兼備高級語言與低級語言的優點。
語法結構和標准C語言基本一致,語言簡潔,便於學習。
運行於單片機平台,支持的微處理器種類繁多,可移植性好。對於兼容的8051系列單片機,只要將一個硬體型號下的程序稍加修改,甚至不加改變,就可移植到另一個不同型號的單片機中運行。
具有高級語言的特點,盡量減少底層硬體寄存器的操作。
單片機C51語言提供了完備的數據類型、運算符及函數供使用。
C51語言是一種結構化程序設計語言,可以使用一對花括弧「{}」將一系列語句組合成一個復合語句,程序結構清晰明了。
C51語言代碼執行的效率方面十分接近匯編語言,且比匯編語言的程序易於理解,便於代碼共享。
「Hello world」程序
③ 給51單片機編程用的C51與C語言有什麼區別
其實區別不是太多。C語言中的所有運算符,在C51中都可以用。但是C51也有特有運算符,如sbit,還有特殊的寄存器名等可以直接寫。C語言中沒有相關的內容。
④ 單片機C語言編程,要使用C語言自帶的庫函數,使用哪個宏包含命令
使用#include調用庫函數。
C51語言的編譯器中包含有豐富的庫函數,使用庫函數可以大大簡化用戶程序設計的工作量,提高編程效率。每個庫函數都在相應的頭文件中給出了函數原型聲明,在使用時,必須在源程序的開始處使用預處理命令#include將有關的頭文件包含進來。
C51庫函數中類型的選擇考慮到了8051單片機的結構特性,用戶在自己的應用程序中應盡可能地使用最小的數據類型,以最大限度地發揮8051單片機的性能,同時可減少應用程序的代碼長度。
單片機c語言編程是基於C語言的單片機編程。單片機的C語言採用C51編譯器(簡稱C51)。由C51產生的目標代碼短,運行速度高,存儲空間小,符合C語言的ANSI標准,生成的代碼遵循Intel目標文件格式,而且可與A51匯編語言PL/M51語言目標代碼混合使用。51單片機支持三種高級語言,即PL/M,C和BASIC。C語言是一種通用的程序設計語言,其代碼率高,數據類型及運算符豐富,並具有良好的程序結構,適用於各種應用的程序設計,是使用較廣的單片機編程語言。
⑤ 請問單片機C語言編程與單片機C51編程的區別是什麼
c51是基於c語言的,兩者的區別就是c語言和匯編語言的區別,所以c51更易學,只要有對應單片機的頭文件,兼容性沒問題的,建議你學c51吧,現在學匯編的已經不多了,學好了c51前途很光明的。你可以去下載keil3
c51編程開發環境,裡面有大部分單片機的頭文件,很不錯.
⑥ 用什麼語言可以給單片機編程
一般是C語言或者匯編語言。
1、大多數情況下,單片機運行的程序,都是C語言編寫的。不過並不是純粹的傳統C語言,而是變種後的C51語言。
單片機C51語言是由C語言繼承而來的。和C語言不同的是,C51語言運行於單片機平台,而C語言則運行於普通的桌面平台。C51語言具有C語言結構清晰的優點,便於學習,同時具有匯編語言的硬體操作能力。對於具有C語言編程基礎的工程師,能夠輕松地掌握單片機C51語言的程序設計。
2、匯編語言:
匯編語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符(Mnemonics)代替機器指令的操作碼,用地址符號(Symbol)或標號(Label)代替指令或操作數的地址。在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。普遍地說,特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。
匯編語言不像其他大多數的程序設計語言一樣被廣泛用於程序設計。在今天的實際應用中,它通常被應用在底層,硬體操作和高要求的程序優化的場合。驅動程序、嵌入式操作系統和實時運行程序都需要匯編語言。
在一些情況下,C51並不能完美的實現功能,所以匯編語言是對C51的一個重要補充。一般來說,啟動部分(基礎硬體的初始化),往往是由匯編語言完成的。除此以外,一些要求時效性特別強,效率要求特別高時,也需要使用匯編語言完成。
⑦ C51單片機用的是C語言還是匯編語言謝謝
兩種語言都可以,因為最後燒寫到晶元中的是二進制文件,該二進制文件由編輯器(如KEIL)編譯連接C語言源碼,或者匯編語言源碼獲得
⑧ C51編程時,可以使用標准C語言的所有數據類型。為什麼「編程時常用unsigned c
這體現了嵌農和碼農的價值觀區別。
嵌農會精心計算一個變數的范圍,而碼農很少這么做,因為碼農默認的數值類型一般是int32,可以滿足日常范圍需求,甚至像Python那樣的語言自帶大整數特性,根本不用考慮范圍。然而嵌農呢,尤其是你說的c51,是個Intel祖傳8位機,本來ram就很少,當然要精心考慮變數的大小了。像int32這樣的東西太奢侈了,只能精打細算,根據現實情況精選一個范圍合適的類型。鑒於大部分情況並不需要負數,所以用unsigned類型能提高0以上的數值范圍。另外需要指出的是很多c51編譯器里int類型是16位的。所以嵌農的悲傷就在這里,別人已經開始寫演算法了,你還在研究這個變數存不存得下的問題。
C51語言,由C語言繼承而來的單片機編程語言。
和C語言不同的是,C51語言運行於單片機平台,而C語言則運行於普通的桌面平台。C51語言具有C語言結構清晰的優點,便於學習,同時具有匯編語言的硬體操作能力。對於具有C語言編程基礎的讀者,能夠輕松地掌握單片機C51語言的程序設計。
⑨ C51語言的介紹
單片機C51語言是由C語言繼承而來的。和C語言不同的是,C51語言運行於單片機平台,而C語言則運行於普通的桌面平台。C51語言具有C語言結構清晰的優點,便於學習,同時具有匯編語言的硬體操作能力。對於具有C語言編程基礎的讀者,能夠輕松地掌握單片機C51語言的程序設計。
⑩ 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存儲類型用來訪問程序存儲區。