作為計算機技術中的一個分支,單片機技術在電子產品領域的應用,豐富了電子產品的功能,也為智能化電子設備的開發和應用提供了新的出路,實現了智能化電子設備的創新與發展。對于初學者來說,很多人一開始經常會被單片機的各種各樣的編程語言搞糊涂。因為單片機的編程有很多,但最常見的有四種,即匯編語言、C語言、PL/M和BASIC語言。那么究竟要學習哪一種編程語言好呢?下面先來了解一下這四種編程語言:
編程語言
1.BASIC編程語言
BASIC是一種高級語言,它的英文含義是“初學者通用符號指令代碼”,是在1965年5月,由美國科學家托馬斯·庫爾茲研制出來的。10多年后,微軟公司把它移植到微型機上。幾十年來,BASIC語言一直被認為是初學者編程的語言,它已經由QBASIC發展到VB#版本,具備了很多結構化思想和編程方式,如函數、模塊、局部變量、全局變量、數據傳遞等.早期的BASIC語言由于生成的代碼不是最終目標機器的代碼,而是經過一個RUNTIME程序解釋后運行的,所以執行效率低,但這種逐行解釋的方法很容易找到程序中的錯誤,而不是當程序執行完才能顯現出來.而單片機的BASIC編譯器是直接將程序代碼編譯成相應芯片的機器碼,不需要在單片機的內存中駐留RUNTIME程序,執行效率與其他編譯器編譯出來的一樣.此外初學者還需要注意,BASIC為簡化使用變量,所有變量都用浮點值。
2.PL/M編程語言
PL/M是一種高級語言,它由美國INTEL公司設計,主要用于Intel 公司生產的單片機和微處理器系統軟件和應用軟件的開發。作為高級語言,它更接近和體現人的設計思想。PL/M語言不僅具有一般高級語言的特點,而且還能象匯編語言那樣直接利用CPU 的硬件特性進行程序設計。因而,與其它高級語言相比,功能多,用途更廣泛,尤其在16位單片機應用領域更受到人們的普遍重視。
但對51系列的單片機來說,PL/M不支持復雜的算術運算、浮點變量而且無豐富的庫函數支持,學習PL/M無異于學習一種新語言,難度相對較大,需要花費較多的時間和精力。
3.匯編語言
匯編語言是一種用助記符來表示機器指令的符號語言,是最接近于機器碼的一種語言.其主要優點是占用資源少,程序執行效率高。由于它一條指令就對應一條機器碼,每一步的執行動作都很清楚,并且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。但是不同的類型的單片機,其匯編語言可能有點差異,所以不易移植。比如你在PICl2CESl8單片機上用匯編語言編了一個程序,到了STC89C51單片機上那可就運行不了,因為它們的指令系統是有區別的。
單片機的匯編語言非常像其他匯編語言,指令系統比第一代微處理器要強一些,但單片機擁有不同存儲區域使得其編程變得復雜一些,可是作為一位電子工程師,懂得匯編語言就可幫助你了解影響任何語言效率的特殊規定。例如,懂得匯編語言指令就可以使用在片內RAM作變量的優勢,因為片外變量需要幾條指令才能設置累加器和數據指針進行存取。同樣的,當要求使用浮點數和啟用函數時也只有具備匯編編程經驗才能避免生成龐大的、效率低的程序,對于這方面的編程,沒有匯編語言是做不到的。
4.C語言
單片機的C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。C語言具有功能豐富的庫函數,運算速度快,編譯效率高,有良好的可移植性,而且可以實現直接對系統硬件的控制.此外,C語言程序具有完整的程序模塊結構,從而為軟件開發中采用模塊化程序設計方法提供了有力的保障。
C語言
5.哪種編程語言好
單片機編程的語言既可以用C,也可以用匯編。用匯編的優勢主要是程序可以被編程者優化,而不是由編譯器優化,這樣就可以絕對可控,程序的安全性和執行速度受編程者水平限制,不過總的執行速度較C語言快,代碼占程序存儲器的容量較C語言小。這樣,匯編程序更適合程序存儲器和數據存儲器較小的老式單片機。但是,匯編程序畢竟是機器語言的匯編助記符,所以存在指令難記,指令功能弱的缺點,造成學習困難。
C語言的優勢與缺點正好與匯編相反。C語言畢竟是一種高級語言,具有較好的學習性,幾乎不必記憶指令,學習容易,而且編譯時的優化由編譯器管理,一般不受編程者水平限制。由于機器優化的局限性,C語言總的執行速度較匯編語言慢,代碼占程序存儲器的容量較匯編語言大。這樣,C程序更適合程序存儲器和數據存儲器較大的新式單片機。
建議初學者先使用C語言快速入門,然后再研究匯編語言,優化程序設計。
以上就是單片機的編程語言介紹了。總而言之,學習的不同階段,適合用不同的語言。如果是剛剛入門學習的,由于需要掌握單片機的基礎知識,適合用匯編語言,這樣有利于加深理解單片機。在熟練之后,用C語言編程,能夠節省不少精力和時間。如果是經驗豐富的或者高手,哪一種編程語言都適合。
〈烜芯微/XXW〉專業制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬家電路電器生產企業選用,專業的工程師幫您穩定好每一批產品,如果您有遇到什么需要幫助解決的,可以直接聯系下方的聯系號碼或加QQ/微信,由我們的銷售經理給您精準的報價以及產品介紹
聯系號碼:18923864027(同微信)
QQ:709211280