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