誰說51單片機不能用C++編程了????推薦用IAR for 8051,可以用C/C++編譯51程序,並且支持類的繼承, 面向對象編程可以大幅度增加編程效率, 在不追求效率以及晶元容量充足的情況下,用C++編程會大幅度提高編程效率, 舉個例子來說吧,Arino是用C++編程的,好多庫函數都是封裝成類的,因此編程起來十分高效,移植也容易,而STM32的庫函數是C語言的,因此,STM32的初始化寫法十分的繞.
『貳』 單片機編程語言一般有哪幾種
單片機的編程語言有三種種:機器語言、匯編語言與高級語言。
機器語言是計算機能夠看懂的語言。(形式為一段二進制代碼)
5.由於計算機只能看懂機器語言所以無論是匯編語言還是高級語言都需要經過編譯成為機器語言才能夠執行。
拓展資料
單片機的高級語言
51單片機支持三種高級語言,即PL/M,C和BASIC。C語言是一種通用的程序設計語言,其代碼率高,數據類型及運算符豐富,並具有良好的程序結構,適用於各種應用的程序設計,是目前使用較廣的單片機編程語言。
單片機的C語言採用C51編譯器(簡稱C51)。有C51產生的目標代碼短,運行速度高,所需存儲空間小,符合C語言的ANSI標准,生成的代碼遵循Intel目標文件格式,而且可與A51匯編語言或PL/M51語言目標代碼混合使用
『叄』 主流C51單片機編譯器比對
int short 的大小是因機器而異嘛(准確點應該是編譯器)。你都說了人家規定的是「最小」為16位,又不是只能是16位,也沒有說兩者應該相等(事實上是short不超過int就OK啦)。所以當然可以short類型為半個機器字長,而int類型則為一個機器字長的啦。
「C++標准規定了每個算術類型的最小存儲空間,但他並不自知編譯器使用更大的存儲空間 」
說簡單點就是C++規定了個最小的值,但是將你的代碼編譯成機器碼的編譯器則確定了你這個長度值為多少。因為C++是一種語言,一個規范,或者說只是一種規定,然後要將你按這種規范寫的代碼編譯成能在機器上運行的代碼的是編譯器。而在不同的機器上運行的程序的實際結構是不一樣的,比如單片機與PC相差就很大。要將按相同規范寫的程序在各種各樣亂七八糟的機器上運行,就需要相應的編譯器了。所以實際的大小是由你編譯代碼的編譯器確定的。
PS:當然當前一般的PC上int都是32位,short16位的。因為現在32位的機子是主流嘛。如果你不寫什麼單片機的程序可以不用太在意這個問題。但是寫單片機程序時就要注意了,因為一般一個單片機的編譯器可以編譯很多種型號晶元的代碼,而這些型號有可能從8位到32位都有……
『肆』 往51單片機里寫程序,用C語言寫,寫好後用什麼軟體編譯並且寫進去
用keil軟體寫程序,編輯、編譯、運行。程序沒有問題後,用STC_ISP_V479下載程序
『伍』 如何使用keil 5 編寫 51單片機 工程
1.先安裝Keil C51並破解,再安裝MDK5並破解。
2.分別打開Keil C51和MDK5的安裝目錄。將Keil C51安裝目錄下的C51文件夾復制到MDK5的安裝目錄文件夾下。
3.分別打開TOOLS.INI文件;將Keil C51下TOOLS.INI文件的內容復制,粘貼到MDK5下TOOLS.INI文件內容的最低端。
4.注意查看並找到粘貼到MDK5下TOOLS.INI文件中如下行代碼:
[C51]
PATH="D:KeilC51"(Keil C51安裝目錄下TOOLS.INI文件中的內容)
將Keil處的內容改成與MDK5下TOOLS.INI文件中如下行代碼:
RTEPATH="D:Keil_v5ARMPACK"
Keil_v5處的內容一樣。
目的是讓軟體在MDK5安裝目錄內找到C51文件。
5.完成以上操作,就可以將安裝的Keil C51軟體卸載,在MDK5軟體上就可以編譯C51單片機程序了。親自測試可行。
來自:網頁鏈接
『陸』 51單片機用什麼軟體編程
開源軟體mcu8051ide 功能不是一般的強,用c語言編程,界面不輸給商業軟體,而且提供多種模擬器件如:led 數碼管,矩陣數碼管(8×8)按鍵,矩陣按鍵,甚至溫度感測器。開源的沒有任何限制,完全免費,自動生成多種燒錄文件(我們一般就用.HEX的)感覺keil c弱爆了。
安裝方法,下載sdcc(mcu8051ide是基於sdcc的)和mcu 8051 ide都安裝好就可以啦,頭文件在sdcc的安裝文件夾內(include)有些關鍵字要加兩個連在一起的下劃線比如 __interrup, __code.
頭文件與keil的不通用,比如定義P0口
在keil下是: sfr P0=0x80; 在sdcc下是: __sfr __at P0 0x80; 這個P0^1的不行,但sdcc裡面有很多頭文件8051.h 80c51.h 80c52.h等等 基本滿足要求,給stc單片機編程不用改,加一點特殊的就可以。這樣優秀的開源軟體不用真的是白不用啊。
『柒』 給51單片機編程序,用basic語言好還是c語言好
兄台你搞錯了,basic是操作系統上用的編程。即Visual Basic是一種可視化的面向對象的編程語言,以其編程簡單、快捷等特點,深受廣大WINDOWS程序員的青睞。而51系列單片機只有用c語言匯編語言。另外單片機的c語言又跟標准c語語言有點差別。主要是IO口、中斷及寄存器,不太一樣。
單片機c語言增加了一些基本的指令 變數的賦值是16進制,當然單片機c語言只牽涉到普通c語言的基礎部分。
但是在單片機上的C語言多了一些特定的指令,如SFR定義寄存器指令,在標准C上是沒有的; 在標准C上的有些庫,在單片機上是不支持的, 可以這么說,單片機C是標准C的子集,在這基礎上,加上了一些單片機特定的指令構成。
『捌』 51單片機只能用c語言編程嗎
編程的目的是讓51單片機運行,在記憶中我只記得51單片機可以運行C語言和匯編,其實C語言編譯後也就是匯編,在單片機上運行的只是一個個指令,簡單的用51,復雜的用arm處理器。網路試試
『玖』 單片機編程語言一般有哪幾種
單片機的編程語言有三種種:機器語言、匯編語言與高級語言。
機器語言是計算機能夠看懂的語言。(形式為一段二進制代碼)
5.由於計算機只能看懂機器語言所以無論是匯編語言還是高級語言都需要經過編譯成為機器語言才能夠執行。
拓展資料
單片機的高級語言
51單片機支持三種高級語言,即PL/M,C和BASIC。C語言是一種通用的程序設計語言,其代碼率高,數據類型及運算符豐富,並具有良好的程序結構,適用於各種應用的程序設計,是目前使用較廣的單片機編程語言。
單片機的C語言採用C51編譯器(簡稱C51)。有C51產生的目標代碼短,運行速度高,所需存儲空間小,符合C語言的ANSI標准,生成的代碼遵循Intel目標文件格式,而且可與A51匯編語言或PL/M51語言目標代碼混合使用