keil

KeilSoftware研發的開發系統

Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟體開發系統,與彙編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏彙編、鏈接器、庫管理和一個功能強大的模擬調試器等在內的完整開發方案,通過一個集成開發環境(μVision)將這些部分組合在一起。運行Keil軟體需要WIN98、NTWIN2000、WINXP等操作系統。如果你使用C語言編程,那麼Keil幾乎就是你的不二之選,即使不使用C語言而僅用彙編語言編程,其方便易用的集成環境、強大的軟體模擬調試工具也會令你事半功倍。

公司簡介


Keil公司是一家業界領先的微控制器(MCU)軟體開發工具的獨立供應商。Keil公司由兩家私人公司聯合運營,分別是德國慕尼黑的Keil Elektronik GmbH和美國德克薩斯的Keil Software Inc。Keil公司製造和銷售種類廣泛的開發工具,包括ANSI C編譯器、宏彙編程序、調試器、連接器、庫管理器、固件和實時操作系統核心(real-time kernel)。有超過10萬名微控制器開發人員在使用這種得到業界認可的解決方案。其Keil C51編譯器自1988年引入市場以來成為事實上的行業標準,並支持超過500種8051變種。
Keil公司在2005年被ARM公司收購。

與ARM


Keil公司2005年由ARM公司收購。其兩家公司分別更名為ARM Germany GmbH和ARM Inc。Keil公司首席執行官Reinhard Keil表示:“作為ARM Connected Community中的一員,Keil和ARM保持著長期的良好關係。通過這次收購,我們將能更好地向高速發展的32位微控制器市場提供完整的解決方案,同時繼續在μVision環境下支持我們的8051和C16x編譯器。”
而後ARM Keil推出基於μVision界面,用於調試ARM7ARM9Cortex-M內核的MDK-ARM開發工具,用於為控制領域的開發。

界面


Keil μVision2
KeilμVision2是美國Keil Software公司出品的51系列兼容單片機C語言軟體開發系統,使用接近於傳統C語言的語法來開發,與彙編相比,C語言易學易用,而且大大的提高了工作效率和項目開發周期,他還能嵌入彙編,您可以在關鍵的位置嵌入,使程序達到接近於彙編的工作效率。Keil C51標準C編譯器為8051微控制器的軟體開發提供了C語言環境,同時保留了彙編代碼高效,快速的特點。C51編譯器的功能不斷增強,使你可以更加貼近CPU本身,及其它的衍生產品C51已被完全集成到μVision2的集成開發環境中,這個集成開發環境包含:編譯器,彙編器,實時操作系統,項目管理器,調試器。μVision2 IDE可為它們提供單一而靈活的開發環境
Keil μVision3
2006年1月30日ARM推出全新的針對各種嵌入式處理器的軟體開發工具,集成Keil μVision3的RealView MDK開發環境。RealView MDK開發工具Keil μVision3源自Keil公司。RealView MDK集成了業內領先的技術,包括Keil μVision3集成開發環境與RealView編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強大的Simulation設備模擬,性能分析等功能,與ARM之前的工具包ADS等相比,RealView編譯器的最新版本可將性能改善超過20%。
Keil μVision4
2009年2月發布Keil μVision4,Keil μVision4引入靈活的窗口管理系統,使開發人員能夠使用多台監視器,並提供了視覺上的表面對窗口位置的完全控制的任何地方。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個窗口,提供一個整潔,高效的環境來開發應用程序。新版本支持更多最新的ARM晶元,還添加了一些其他新功能。
2011年3月ARM公司發布最新集成開發環境RealView MDK開發工具中集成了最新版本的Keil μVision4,其編譯器、調試工具實現與ARM器件的最完美匹配。
Keil μVision5
2013年10月,Keil正式發布了Keil μVision5 IDE。

Keil中國


Keil 官網雖然沒有發布中文版本,但是Keil 系列軟體卻被中國80%以上的軟硬體工程師使用,但凡與電子相關的專業,都會開始從單片機和計算機編程開始學習,而學習單片機自然會用到Keil 軟體。國內由 米爾科技、億道電子、英倍特提供Keil 的銷售和技術支持服務,他們是ARM公司合作夥伴,也是國內領先的嵌入式解決方案提供商。

基礎


Keil C51開發系統基本知識
⒈系統概述
Keil C51軟體提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯後生成的彙編代碼,就能體會到Keil的優勢。下面詳細介紹Keil C51開發系統各部分功能和使用。
⒉Keil C51單片機軟體開發系統的整體結構
C51工具包的整體結構,μVision與Ishell分別是C51 for Windows 和for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、模擬等整個開發流程。開發人員可用IDE本身或其它編輯器編輯C或彙編源文件。然後分別由C51及C51編譯器編譯生成目標文件(.obj)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.abs)。abs文件由OH51 轉換成標準的hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由模擬器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。
使用獨立的Keil模擬器時,注意事項
*模擬器標配11.0592MHz的晶振,但用戶可以在模擬器上的晶振插孔中換插其他頻率的晶振。
*模擬器上的複位按鈕只複位模擬晶元,不複位目標系統。
* 模擬晶元的31腳(/EA)已接至高電平,所以模擬時只能使用片內ROM,不能使用片外ROM;但模擬器外引插針中的31腳並不與模擬晶元的31腳相連,故該模擬器仍可插入到擴展有外部ROM(其CPU的/EA引腳接至低電平)的目標系統中使用。

優點


⒈Keil C51生成的目標代碼效率非常之高,多數語句生成的彙編代碼很緊湊,容易理解。在開發大型軟體時更能體現高級語言的優勢。
⒉與彙編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過彙編語言后再使用C來開發,體會更加深刻。

教程


圖1 鍵盤、LED 顯示實驗模擬板
圖1 鍵盤、LED 顯示實驗模擬板
為了讓初學者更好地入門,筆者利用Keil 提供的AGSI 介面開發了兩塊模擬實驗板。這兩塊模擬板將枯燥無味的數字用形象的圖形表達出來,可以使初學者在沒有硬體時就能感受到真實的學習環境,降低單片機的入門門檻。圖1 是鍵盤、LED 顯示實驗模擬板的圖,從圖中可以看出,該板比較簡單,有在P1 口接有8 個發光二管,在P3 口接有4 個按鈕,圖1 的右邊給出了原理圖。
圖 2 是另一個較為複雜的實驗模擬板。在該板上有8 個數碼管,16 個按鍵(接成4×4 的矩陣式),另外還有P1 口接的8 個發光管,兩個外部中斷按鈕,一個帶有計數器脈衝發生器等資源,顯然,這塊板可以完成更多的實驗。
圖2 單片機實驗模擬板
圖2 單片機實驗模擬板
一、實驗模擬板的安裝
這兩塊模擬實驗板實際上是兩個dll 文件,名稱分別是ledkey.dll 和simboard.dll,安裝時只要根據需要將這兩個或某一個文件拷貝到Keil 軟體的C51\bin 文件夾中即可。
二、實驗模擬板的使用
圖3 實驗模擬板的設置
圖3 實驗模擬板的設置
要使用模擬板,必須對工程進行設置,設置的方法是點擊Project->Option for Target ‘Target1’打開對話框,然後選中Debug 標籤頁,在Dialog :Parameter:后的編緝框中輸入-d 文件名。例如要用ledkey.dll(即第一塊模擬板)進行調試,就輸入-dledkey,如圖3所示,輸入完畢後點擊確定退出。編譯、連接完成後按CTRL+F5 進入調試,此時,點擊菜單Peripherals,即會多出一項“鍵盤LED 模擬板(K)”,選中該項,即會出現如圖1 的界面,同樣,在設置時如果輸入-dsimboard 則能夠調出如圖2 的界面。
第一塊模擬板的硬體電路很簡單,電路圖已在板上,第二塊板實現的功能稍複雜,其鍵盤和數碼顯示管部分的電路原理圖如圖4 所示。下表給出了常用字形碼,讀者也可以根據圖中的接線自行寫出其它如A、B、C、D、E、F 等的字形碼。除了鍵盤和數碼管以外,P1 口同樣也接有8 個發光二極體,連接方式與圖1 相同;鍵盤旁的兩個按鈕INT0和INT1分別接到P3口的INT0和INT1即P3.2和P3.3引腳,脈衝發生器是接入T0即P3.4引腳。
0c0h0f9h0a4h0b0h99h92h82h0f8h80h90h0FFH
123456789消隱
三、實例調試
以下以一個稍複雜的程序為例,說明鍵盤、LED 顯示實驗模擬板的使用。該程序實現的是可控流水燈,接P3.2 的鍵為開始鍵,按此鍵則燈開始流動(由上而下),接P3.3 的鍵為停止鍵,按此鍵則停止流動,所有燈暗,接P3.4 的鍵為向上鍵,按此鍵則燈由上向下流動,接P3.6的鍵為向下鍵,按此鍵則燈由下向上流動。