上一篇說了單片機就像大腦,既然有大腦,那必須還得有思想,我們要讓大腦正常運轉,還得給他注入思想,這一篇就來說說單片機的軟件
1.機器語言
單片機是一種大規模的數字集成電路,它只能識別 0 和 1 這樣的二進制代碼。以前在單片機開發過程中,人們用二進制代碼編寫程序,然后再把所編寫的二進制代碼程序寫入單片機,單片機執行這些代碼程序就可以完成相應的程序任務。
用二進制代碼編寫的程序稱為機器語言程序。在用機器語言編程時,不同的指令用不同的二進制代碼代表,這種二進制代碼構成的指令就是機器指令。在用機器語言編寫程序的時候,由于需要記住大量的二進制代碼指令及這些代碼代表的功能,很不方便且容易出錯,現在基本上很少有人用機器語言對單片機進行編程了。
2.匯編語言
由于及其語言編程很不方便,人們便用一些有意義并且容易記憶的符號來表示不同的二進制代碼指令,這些符號稱為助記符。用助記符表示的指令稱為匯編語言指令,用助記符編寫出來的程序稱為匯編語言程序。
01110100 00000010 (機器語言)
MOV A, #02H (匯編語言)
這兩行程序的功能是一樣的,都是將二進制數據00000010送到累加器A中??梢钥闯觯瑱C器語言程序要比匯編語言難寫,并且很容易出錯。
單片機只能識別機器語言,所以匯編語程序言要匯編(翻譯)成機器語言程序,再寫入單片機中。一般都是用軟件匯編自動將匯編語言翻譯成及其指令。
3.高級語言
高級語言是依據數學語言設計的,在用高級語言編程時不用過多的考慮單片機的內部結構。與匯編語言相比,高級語言易學易懂,而且通用性很強。高級語言的種類很多,如:B語言 Pascal語言 C語言和JAVA語言等。單片機常用C語言作為高級編程語言。
單片機不能識別高級語言的程序,因此也需要用編譯器對高級語言程序翻譯成機器語言程序后再寫入單片機。
在上面三種編程語言中,高級語言編程較為方便,但實現相同的功能,匯編語言代碼少,運行效率高,另外對于初學單片機的朋友,學習匯編語言編程有利于更好的理解單片機的結構與原理,也能為以后學習高級語言編程打下扎實的基礎。
Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(μVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。
1.首先從官網下載最新版的Keil_C51v954a,打開如下界面
2.選擇C51后進入如下界面,點擊C51V954A.EXE便可以下載最新版的Keil_C51最新軟件。
3.下載完成后,右鍵以管理員身份運行,進入安裝界面。選擇Next
4.勾選同意協議,繼續點擊Next.
5.選擇對應的安裝路徑,一般默認即可,繼續點擊Next。
6.安裝需要注冊,這里隨便填一下便可。繼續點擊Next
7.軟件開始安裝,等待安裝完成。
8.取消勾選,繼續點擊finish.
9.到此全部安裝完成,這就是最新版的Keil_c51
注冊機下載:
關注公眾號回復:keil
激活步驟:
1.以管理員運行軟件,選擇File--->LicenseManagement,復制其中的CID號。
2.打開注冊機,把剛才復制的CID號粘貼到CID框中,點擊Generate,生成一個序列號,復制。
3.把序列號粘貼到下面的框中,點擊ALL LIC.便可看到軟件使用截至日期為2020年。單擊close退出
keil c51 uvision4 漢化補丁:
關注智聯電子DIY公眾號回復:keil
下載后把補丁復制粘貼到對應的安裝目錄,解壓至keil安裝目錄(如:X:\Keil\UV4)下,覆蓋原始文件。這里最好備份一份原文件,方便恢復。
如果還有不懂的可以私聊我,如果你對單片機感興趣請關注我,將更新更多單片機教程
關注智聯電子DIY學習更多電子電路知識
網絡上我們通??梢院苋菀椎恼业紺51開發環境的安裝方法。一般是在Windows下安裝通過安裝KEIL軟件進行開發,用STC官方提供的燒錄程序進行燒錄。但KEIL并不免費,需要付費或破解,而且KEIL和STC官方提供的燒錄程序只能安裝在Windows環境下,對于Linux用戶來說非常的不便。
實際上還可以使用sdcc+ stcgal完成同樣的工作,并且他們即可以在Windows下運行也可以在Linux類系統中使用。其中sdcc完成C代碼的編譯和生成目標文件,sddc用來燒錄。
sdcc官方地址
http://sdcc.sourceforge.net/
stcgal官方地址
https://github.com/grigorig/stcgal
如果希望有一個集成的開發環境, 我們也可以使用VSCode安裝PlatformIO插件。PlatformIO插件中集成了sdcc和stcgal。但目前的PlatformIO插件版本中集成的stcgal版本較低,不支持較新的比如stc8系列芯片的燒錄,但我們可以通過手動替換成新版stcgal的方式解決。
下面的視頻我們來演示一下如何在ArcLInux中安裝此開發環境,并演示如何在platformIO中添加不支持的芯片類型。