Keil工程文件的建立、設(shè)置與目標(biāo)文件的獲得
單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。
我們將通過一些實例來學(xué)習(xí)Keil軟件的使用,在這一部份我們將學(xué)習(xí)如何輸入源程序,建立工程、對工程進(jìn)行詳細(xì)的設(shè)置,以及如何將源程序變?yōu)槟繕?biāo)代碼。圖1所示電路圖使用
89C51單片機作為主芯片,這種單片機性屬于MCS-51系列,其內(nèi)部有4K的FLASHROM,可以反復(fù)擦寫,非常適于做實驗。89C51的P1引腳上接8個發(fā)光二極管,P3.2~P3.4引腳上接4個按鈕開關(guān),我們的第一個任務(wù)是讓接在P1引腳上的發(fā)光二極管依次循環(huán)點亮。
圖1 簡單的鍵盤、顯示板
一、Keil 工程的建立
首先啟動Keil 軟件的集成開發(fā)環(huán)境,這里假設(shè)讀者已正確安裝了該軟件,可以從桌面上直接雙擊uVision 的圖標(biāo)以啟動該軟件。
UVison啟動后,程序窗口的左邊有一個工程管理窗口,該窗口有3 個標(biāo)簽,分別是Files、Regs、和Books,這三個標(biāo)簽頁分別顯示當(dāng)前項目的文件結(jié)構(gòu)、CPU 的寄存器及部份特殊功能寄存器的值(調(diào)試時才出現(xiàn))和所選CPU 的附加說明文件,如果是第一次啟動Keil,那么這三個標(biāo)簽頁全是空的。
1、源文件的建立
使用菜單“File->New”或者點擊工具欄的新建文件按鈕,即可在項目窗口的右側(cè)打開一個新的文本編緝窗口,在該窗口中輸入以下匯編語言源程序,例1:
MOVA,#0FEHMAIN:MOVP1,ARLALCALLDELAYAJMPMAINDELAY:MOVR7,#255D1:MOVR6,#255DJNZR6,$ENDDJNZR7,D1RET
保存該文件,注意必須加上擴展名(匯編語言源程序一般用asm 或a51 為擴展名),這里假定將文件保存為exam1.asm。需要說明的是,源文件就是一般的文本文件,不一定使用Keil 軟件編寫,可以使用任意文本編緝器編寫,而且,Keil 的編緝器對漢字的支持不好,建議使用UltraEdit 之類的編緝軟件進(jìn)行源程序的輸入。
2、建立工程文件
在項目開發(fā)中,并不是僅有一個源程序就行了,還要為這個項目選擇CPU(Keil支持?jǐn)?shù)百種CPU,而這些CPU的特性并不完全相同),確定編譯、匯編、連接的參數(shù),指定調(diào)試的方式,有一些項目還會有多個文件組成等,為管理和使用方便,Keil使用工程(Project)這一概念,將這些參數(shù)設(shè)置和所需的所有文件都加在一個工程中,只能對工程而不能對單一的源程序進(jìn)行編譯(匯編)和連接等操作,下面我們就一步一步地來建立工程。
點擊“Project->NewProject…”菜單,出現(xiàn)一個對話框,要求給將要建立的工程起一個名字,你可以在編緝框中輸入一個名字(設(shè)為exam1),不需要擴展名。點擊“保存”按鈕,出現(xiàn)第二個對話框,如圖2所示,這個對話框要求選擇目標(biāo)CPU(即你所用芯片的型號),Keil支持的CPU很多,我們選擇Atmel公司的89C51芯片。點擊ATMEL前面的“+”號,展開該層,點擊其中的89C51,然后再點擊“確定”按鈕,回到主界面,此時,在工程窗口的文件頁中,出現(xiàn)了“Target1”,前面有“+”號,點擊“+”號展開,可以看到下一層的“SourceGroup1”,這時的工程還是一個空的工程,里面什么文件也沒有,需要手動把剛才編寫好的源程序加入,點擊“SourceGroup1”使其反白顯示,然后,點擊鼠標(biāo)右鍵,出現(xiàn)一個下拉菜單,如圖3所示。選中其中的“AddfiletoGroup”SourceGroup1”,出現(xiàn)一個對話框,要求尋找源文件,注意,該對話框下面的“文件類型”默認(rèn)為Csourcefile(*.c),也就是以C為擴展名的文件,而我們的文件是以asm為擴展名的,所以在列表框中找不到exam1.asm,要將文件類型改掉,點擊對話框中“文件類型”后的下拉列表,找到并選中“AsmSourceFile(*.a51,*.asm),這樣,在列表框中就可以找到exam1.asm文件了。
雙擊exam1.asm文件,將文件加入項目,注意,在文件加入項目后,該對話框并不消失,等待繼續(xù)加入其它文件,但初學(xué)時常會誤認(rèn)為操作沒有成功而再次雙擊同一文件,這時會出現(xiàn)如圖4 所示的對話框,提示你所選文件已在列表中,此時應(yīng)點擊“確定”,返回前一對話框,然后點擊“Close”即可返回主界面,返回后,點擊“SourceGroup 1”前的加號,會發(fā)現(xiàn)exam1.asm 文件已在其中。雙擊文件名,即打開該源程序。
圖2 選擇目標(biāo)CPU
圖3 加入文件
圖4 重復(fù)加入文件的錯誤
二、工程的詳細(xì)設(shè)置
工程建立好以后,還要對工程進(jìn)行進(jìn)一步的設(shè)置,以滿足要求。
圖5 對目標(biāo)進(jìn)行設(shè)置
首先點擊左邊Project 窗口的Target 1,然后使用菜單“Project->Option for target ‘target1’”即出現(xiàn)對工程設(shè)置的對話框,這個對話框可謂非常復(fù)雜,共有8 個頁面,要全部搞清可不容易,好在絕大部份設(shè)置項取默認(rèn)值就行了。設(shè)置對話框中的Target 頁面,如圖5 所示,Xtal 后面的數(shù)值是晶振頻率值,默認(rèn)值是所