- 基于Proteus和Keil C51的單片機設(shè)計與仿真
- 杜樹春編著
- 1693字
- 2018-12-27 10:36:20
第1章 單片機開發(fā)軟件Keil C51的使用
1.1 Keil C51簡介
常用的單片機及嵌入式系統(tǒng)編程語言有兩種,即匯編語言和C語言。匯編語言的機器代碼生成效率很高,但其可讀性卻并不強,復雜一點的程序就更是很難讀懂。C語言在大多數(shù)情況下,其機器代碼生成效率和匯編語言相當,但可讀性和可移植性卻遠遠超過匯編語言,而且C語言還可以嵌入?yún)R編語言來解決高時效性的代碼編寫問題。就開發(fā)周期來說,用C語言編寫中大型軟件的開發(fā)周期通常要比用匯編語言編寫的短很多。與匯編語言相比, C語言在功能性、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。由此可見,使用C語言編寫程序是一種非常好的選擇。
使用C語言肯定要用到C編譯器,以便把寫好的C程序編譯為機器碼,這樣單片機才能執(zhí)行編寫好的程序。用過匯編語言后再使用C語言來開發(fā),體會更加深刻。Keil μVision3是眾多單片機應(yīng)用開發(fā)軟件中最優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51架構(gòu)的芯片,它集編輯、編譯、仿真等功能于一體,同時還支持PLM、匯編和C語言的程序設(shè)計,它的界面與常用的微軟VC++的界面相似,界面友好,易學易用。
Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng)。Keil C51軟件提供了豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。
另外,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成目標代碼的效率非常高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時,更能體現(xiàn)采用高級語言的優(yōu)勢。
Keil C51標準C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編代碼高效、快速的特點。C51編譯器的功能不斷增強,使用戶可以更加“貼近”CPU本身及其他的衍生產(chǎn)品。C51已被完全集成到μVision3的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包括編譯器、匯編器、實時操作系統(tǒng)、項目管理器和調(diào)試器,μVision3 IDE可以為它們提供單一而靈活的開發(fā)環(huán)境。C51V808A版本是目前版本較高的8051開發(fā)平臺,它可以支持所有8051的衍生產(chǎn)品,也可以支持所有兼容的仿真器,同時也支持其他第三方開發(fā)工具。
C51是一種專門為8051單片機設(shè)計的高級語言C編譯器,支持符合ANSI標準的C語言程序設(shè)計,同時針對8051單片機的自身特點做了一些特殊擴展。
C51默認值不支持函數(shù)遞歸調(diào)用,需要進行遞歸調(diào)用的函數(shù)必須聲明為再入函數(shù)。再入函數(shù)的局部數(shù)據(jù)和參數(shù)被放入再入棧中,從而允許進行遞歸調(diào)用。
μVision3支持所有的Keil 80C51的工具軟件,包括C51編譯器、宏匯編器、鏈接器/定位器和目標文件至Hex格式轉(zhuǎn)換器,μVision3可以自動完成編譯、匯編、鏈接程序等操作。μVision3的特點如下。
1)C51編譯器和A51匯編器 由 μVision3 IDE創(chuàng)建的源文件可以被C51編譯器或A51匯編器處理,生成可重定位的object文件。Keil C51編譯器支持ANSIC語言標準,也支持C語言的所有標準特性。另外,還增加了幾個可以直接支持80C51結(jié)構(gòu)的特性。Keil A51宏匯編器支持80C51及其派生系列的所有指令集。
2)LIB51庫管理器 LIB51庫管理器可以把由匯編器和編譯器創(chuàng)建的目標文件建立目標庫。這些庫是按規(guī)定格式排列的目標模塊,可被鏈接器使用。當鏈接器處理一個庫時,僅使用庫中程序使用的目標模塊,而不是全部加以引用。
3)BL51鏈接器/定位器 BL51鏈接器/定位器使用從庫中提取出來的目標模塊,以及由編譯器、匯編器生成的目標模塊,創(chuàng)建一個絕對地址目標模塊。絕對地址目標文件或模塊包括不可重定位的代碼和數(shù)據(jù)。所有的代碼和數(shù)據(jù)都被固定在具體的存儲器單元中。
4)μVision3軟件調(diào)試器 μVision3軟件調(diào)試器能十分理想地進行快速、可靠的程序調(diào)試。調(diào)試器包括一個高速模擬器,用戶可以使用它來模擬整個80C51系統(tǒng),包括片上外圍器件和外部硬件。當用戶從器件數(shù)據(jù)庫選擇器件時,這個器件的屬性會被自動配置。
5)μVision3硬件調(diào)試器 μVision3硬件調(diào)試器向用戶提供了幾種在實際目標硬件上測試程序的方法。
6)RTX51實時操作系統(tǒng) RTX51實時操作系統(tǒng)是針對80C51微控制器系列的一個多任務(wù)內(nèi)核。RTX51實時內(nèi)核簡化了需要對實時事件進行反應(yīng)的復雜應(yīng)用的系統(tǒng)設(shè)計、編程和調(diào)試。這個內(nèi)核完全集成在C51編譯器中,使用非常簡單。任務(wù)描述表和操作系統(tǒng)的一致性由BL51鏈接器/定位器自動進行控制。
此外,μVision3還具有極其強大的軟件環(huán)境、友好的操作界面和簡單快捷的操作方法,主要表現(xiàn)在以下幾點:
豐富的菜單欄。
可以快速選擇命令按鈕的工具條。
一些源代碼文件窗口。
對話框窗口。
直觀明了的信息顯示窗口。
- 用Proteus可視化設(shè)計玩轉(zhuǎn)Arduino
- 輕松學會單片機
- FPGA嵌入式項目開發(fā)三位一體實戰(zhàn)精講
- DSP技術(shù)與應(yīng)用實例
- 單片機原理與應(yīng)用:基于Keil+Proteus
- 嵌入式虛擬化技術(shù)與應(yīng)用:ACRN開源項目實踐
- PIC單片機常用模塊與綜合系統(tǒng)設(shè)計實例精講
- 嵌入式系統(tǒng)Linux內(nèi)核開發(fā)實戰(zhàn)指南(ARM平臺)
- 嵌入式系統(tǒng)與Qt程序開發(fā)
- STC 32位 8051單片機原理與應(yīng)用
- 我和PIC單片機:基于PIC18
- 單片機技術(shù)及應(yīng)用(C語言版)
- 深度學習實踐教程
- 基于ARM Cortex-M0+的CW32嵌入式開發(fā)實戰(zhàn)
- 零基礎(chǔ)學西門子S7- 200 SMART PLC編程及應(yīng)用