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