第一節 系統概述 Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C來開發,體會更加深刻。Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。 第二節 Keil C51單片機軟件開發系統的整體結構 圖(1)為C51工具包的整體結構, uVision2是keil c的Windows集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE本身或其它編輯器編輯C或匯編源文件;然后分別由C51或A51編譯器編譯生成目標文件(.OBJ);目標文件可由LIB51創建生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS);ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。 第三節 Keil C51工具包各部分功能及使用簡介 1 )C51與A51 1.1 C51 C51是C語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令或者C51 @ commandfile其中sourcefile為C源文件(.C)編譯控制指令完成C51編譯器的全部功能,包控C51輸出文件C.LST,.OBJ,.I和.SRC文件的控制。源文件(.C)的控制等。而Commandfile為一個連接控制文件其內容包括:.C源文件及各編譯控制指令,它沒有固定的名字,開發人員可根據自己的習慣指定,它適于用控制指令較多的場合。 1.2 A51 A51是匯編語言編譯器,使用方法為:A51 sourcefile[編譯控制指令或A51 @ commandfile其中sourcefile為匯編源文件(.asm或.a51)編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile同C51中的Commandfile類似,它使A51使用和修改方便。 2) L51和BL51 2.1 L51 L51是Keil C51軟件包提供的連接/定位器,其功能是將編譯生成的OBJ文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令或 L51 @Commandfile源程序的多個模塊分別經C51與A51編譯后生成多個OBJ文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LIB)相連接,則庫文件也必須列在其后。outputfile為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile為連接控制文件,其具體內容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第 一種繁瑣的格式,由于目標模塊庫文件大多不止1個,因而第2種方法較多見,這個文件名字也可由使用者隨意指定。 2. 2 BL51 BL51也是C51軟件包的連接/定位器,其具有L51的所有功能,此外它還具有以下3點特別之處:a. 可以連接定位大于64kBytes的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)。c. 可用于RTX51操作系統RTX51是一個實時多任務操作系統,它改變了傳統的編程模式,甚至不必用main( )函數,單片機系統軟件向RTOS發展是一種趨勢,這種趨勢對于186和386及68000系列CPU更為明顯和必須,對8051因CPU較為簡單,程序結構等都不太復雜,RTX51作用顯得不太突出,其專業版軟件PK51軟件包甚至不包括RTX51Full,而只有一個RTX51TINY版本的RTOS。RTX51TINY適用于無外部RAM的單片機系統,因而可用面很窄,在本文中不作介紹。Bank switching技術因使用很少也不作介 紹。 3) dScope51及Monitor51 3.1 dScope51 dScope51是一個源級調試器和模擬器,它可以調試由C51編譯器、A51匯編器、PL/M-51編譯器及ASM51匯編器產生的程序。它不需目標板(對于windows操作系統也可通過mon51連接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU及其外圍器件,如內部串口,外部I/O及定時器等,能對嵌入式軟件功能進行有效測試。其使用方法為:DS51[debugfile][INIT(initfile)]其中debugfile是一個Hex格式的8051文件,即待調試的文件其為可選的,可在進入dScope51后用load命令裝入。Initfile為一個初使化文件,它在啟動dScope51后,在debugfile裝入前裝入,裝有一些dScope的初使化參數及常用調試函數等。在Windows版本的dScope51中可直接用load裝入待調文件。 3. 2 Monitor 51 Monitor51是一個監控程序通過PC機的串口與目標板進行通信,Monitor操作需要MON51或dScope51 for Windows。 |