單片機編程語(yǔ)言簡(jiǎn)介
指令個(gè)程序:
欲使單片機工作,必須給它“下命令”,這里的“命令”稱(chēng)作指令,單片機執行不同的指令就可以完成不同的操作。對于一些簡(jiǎn)單的任務(wù),單片機執行一兩條指令就可以完成,但是一些復雜的任務(wù)就需要執行很多條指令才可以完成。我們把單片機執行特定控制任務(wù)的指令的總和叫做程序。我們編寫(xiě)這些指令總和的過(guò)程叫做程序設計。
我們要單片機執行我需要的什么任務(wù)時(shí),我們就對其寫(xiě)出任務(wù)指令,然后傳達(編入)給單片機,讓它執行我們的指令。要設計單片機程序,除了要了解單片機指令的含義和用法外,還要掌握指令組合成程序的規則。就跟我們學(xué)習英語(yǔ)一樣,我們要學(xué)習英語(yǔ)的語(yǔ)法和用法規則,才能說(shuō)好用好流利的英語(yǔ)。
編程語(yǔ)言:
單片機常用的編程語(yǔ)言有:機器語(yǔ)言 匯編語(yǔ)言和高級語(yǔ)言(主要是c語(yǔ)言)
1.機器語(yǔ)言
單片機是一種大規模的數字集成電路,它只能識別 0 和 1 這樣的二進(jìn)制代碼。以前在單片機開(kāi)發(fā)過(guò)程中,人們用二進(jìn)制代碼編寫(xiě)程序,然后再把所編寫(xiě)的二進(jìn)制代碼程序寫(xiě)入單片機,單片機執行這些代碼程序就可以完成相應的程序任務(wù)。
用二進(jìn)制代碼編寫(xiě)的程序稱(chēng)為機器語(yǔ)言程序。在用機器語(yǔ)言編程時(shí),不同的指令用不同的二進(jìn)制代碼代表,這種二進(jìn)制代碼構成的指令就是機器指令。在用機器語(yǔ)言編寫(xiě)程序的時(shí)候,由于需要記住大量的二進(jìn)制代碼指令及這些代碼代表的功能,很不方便且容易出錯,現在基本上很少有人用機器語(yǔ)言對單片機進(jìn)行編程了。
2.匯編語(yǔ)言
由于及其語(yǔ)言編程很不方便,人們便用一些有意義并且容易記憶的符號來(lái)表示不同的二進(jìn)制代碼指令,這些符號稱(chēng)為助記符。用助記符表示的指令稱(chēng)為匯編語(yǔ)言指令,用助記符編寫(xiě)出來(lái)的程序稱(chēng)為匯編語(yǔ)言程序。
01110100 00000010 (機器語(yǔ)言)
MOV A, #02H (匯編語(yǔ)言)
這兩行程序的功能是一樣的,都是將二進(jìn)制數據00000010送到累加器A中??梢钥闯?,機器語(yǔ)言程序要比匯編語(yǔ)言難寫(xiě),并且很容易出錯。
單片機只能識別機器語(yǔ)言,所以匯編語(yǔ)程序言要匯編(翻譯)成機器語(yǔ)言程序,再寫(xiě)入單片機中。一般都是用軟件匯編自動(dòng)將匯編語(yǔ)言翻譯成及其指令。 大家可看看這個(gè)典型的匯編語(yǔ)言單片機教材http://www.51hei.com/mcuteach/252.html
3.高級語(yǔ)言
高級語(yǔ)言是依據數學(xué)語(yǔ)言設計的,在用高級語(yǔ)言編程時(shí)不用過(guò)多的考慮單片機的內部結構。與匯編語(yǔ)言相比,高級語(yǔ)言易學(xué)易懂,而且通用性很強。高級語(yǔ)言的種類(lèi)很多,如:B語(yǔ)言 Pascal語(yǔ)言 C語(yǔ)言和JAVA語(yǔ)言等。單片機常用C語(yǔ)言作為高級編程語(yǔ)言。這里是一個(gè)典型的單片機c語(yǔ)言教程http://www.51hei.com/mcuteach/150.html ,大家可以看看
單片機不能識別高級語(yǔ)言的程序,因此也需要用編譯器對高級語(yǔ)言程序翻譯成機器語(yǔ)言程序后再寫(xiě)入單片機。
在上面三種編程語(yǔ)言中,高級語(yǔ)言編程較為方便,但實(shí)現相同的功能,匯編語(yǔ)言代碼少,運行效率高,另外對于初學(xué)單片機的朋友,學(xué)習匯編語(yǔ)言編程有利于更好的理解單片機的結構與原理,也能為以后學(xué)習高級語(yǔ)言編程打下扎實(shí)的基礎。
評論