|
第一節(jié) Keil C51編譯器的控制指令 C51編譯器的控制指令分為三類(lèi):源文件控制類(lèi),目標(biāo)文件控制類(lèi)及列表控制類(lèi)。 1. 源文件控制類(lèi) NOEXTEND:C51源文件不允許使用ANSI C擴(kuò)展功能。 DEFINE(DF):定義預(yù)處理(在C51命令行)。 2. 目標(biāo)文件(Object)控制類(lèi): COMPACT LARGE SMALL 選編譯模式 DEBUG(DB) 包含調(diào)試信息,以供仿真器或dSCope51使用。 NOAMAKE(NOAM) 禁止AutoMake信息記錄 NOREGPARMS 禁止用寄存器傳遞參數(shù) OBJECTEXTEND(OE) Object文件包含附加變量類(lèi)型信息 OPTIMIZE(OT) 指定優(yōu)化級(jí)別 REGFILE(RF) 指定一個(gè)寄存器使用的文件以供整體優(yōu)化用 REGISTERBANK(RB) 指定一個(gè)供絕對(duì)寄存器訪(fǎng)問(wèn)的寄存器區(qū)名 SRC 不生成目標(biāo)文件只生成匯編源文件 其它控件不常用。 3. 列表文件(listing)控制類(lèi): CODE(CD):向列表文件加入?yún)R編列表 LISTINCLUDE(LC):顯示indude文件 SYMBOLS(SB):列表文件包括模塊內(nèi)所有符號(hào)的列表 WARNINGLEVEL(WL):選擇“警告”級(jí)別。 第二節(jié) dScope51的使用 1. dScope51 for Dos 總的來(lái)說(shuō)dScope51具有以下特性: * 高級(jí)語(yǔ)言顯示模式 * 集成硬件環(huán)境模擬 * 單步或“GO”執(zhí)行模式 * 存儲(chǔ)器、寄存器及變量訪(fǎng)問(wèn) * Watch表達(dá)式之值 * 函數(shù)與信號(hào)功能 下面,具體說(shuō)明在進(jìn)入dScope51 for Dos之后,如何實(shí)現(xiàn)上述功能,dScope51采用下拉菜單格式和窗口顯示控制,共有l(wèi)anguage、serial、exe、register四個(gè)窗口,其中exe為命令行窗口,language為程序窗口,serial為串口窗,register為寄存器窗。 (1) 高級(jí)語(yǔ)言顯示模式 單擊主菜單中的“View”,第一欄中的三條命令“Highlevel”、“Mixed”、“Assembly”分別對(duì)所裝入的程序按照“高級(jí)”、“混合級(jí)”及“匯編級(jí)”三種方式顯示,以方便調(diào)試使用。 (2) 集成硬件環(huán)境模擬顯示 主菜單中“Peripheral”各條能顯示模擬硬件環(huán)境的狀態(tài),其中: i/o Port:顯示各I/O口之值,對(duì)8031而言SFR中的P1、P2、P3、P0與引腳之值分別列出: Interrupt:顯示5個(gè)中斷源的入口模式是否允許,優(yōu)先級(jí)等中斷狀態(tài)。 Timer:顯示各定時(shí)/計(jì)數(shù)器的模式,初始值狀態(tài)等。 int Message:中斷信息允許,如為允許(“>>”出現(xiàn)),則當(dāng)中斷申請(qǐng)時(shí),顯示中斷源信息。比如當(dāng)中斷發(fā)生時(shí)會(huì)顯示: “interrupt Timer 0 occured”等 A/D converter: 顯示A/D轉(zhuǎn)換器狀態(tài)無(wú)時(shí),則提示“無(wú)”。 Serial:串口信息顯示,包括串口模式、波特產(chǎn)等 Other:其它器件,如為8031則顯示“ 無(wú)” (3) 單步或“Go”執(zhí)行 “F8”單步執(zhí)行,“F5”全速執(zhí)行到斷點(diǎn);蜻x主菜單中Trace單步執(zhí)行CPU中的Go全速執(zhí)行。 (4) 存儲(chǔ)器寄存器及變量訪(fǎng)問(wèn) 外部存儲(chǔ)器管理MAP菜單:設(shè)置(set)、取消(reset)、顯示(Display)處理可用存儲(chǔ)空間。 修改Code代碼:ASM命令 存儲(chǔ)器顯示命令:D 類(lèi)別為(X、D、I、B、C) 修改存儲(chǔ)器命令:E 有以下幾種命令EB、EC、EI、EL、EF、EP 復(fù)雜數(shù)據(jù)類(lèi)型顯示:Object命令;用以顯示結(jié)構(gòu)或數(shù)組的內(nèi)容。欲使此命令有效,C51編譯器必須有DB及OBJECTEXTEND兩條。 反匯編命令:U (5) “Watch”表達(dá)式之值 在View菜單的“Watch”一欄中有四項(xiàng):其中包括定義Watch Point(Define)、刪除Watch Point(reMOVe,kill all),及自動(dòng)更新選項(xiàng)。 也可用WS、WK等命令代替,下面具體看“表達(dá)式”類(lèi)型: dScope51一次最多可設(shè)16個(gè)WtchPoint表達(dá)式,顯示于Watch Window之中,表達(dá)式可以是簡(jiǎn)單變量,也可是復(fù)雜數(shù)據(jù)類(lèi)型如結(jié)構(gòu)、數(shù)組和指向結(jié)構(gòu)的指針等,例如: >WS *ptime >WS ptime→hour >WS some_record[o],analog等等 (6) 關(guān)于.IOF文件 啟動(dòng)DS51后必須裝入.IOF文件才能使CPU及Peripheral各項(xiàng)起作用,這個(gè)函數(shù)的使用是依據(jù)8051系列CPU的不同特點(diǎn),裝入8051各CPU硬件設(shè)備模擬驅(qū)動(dòng)文件,比如8031CPU就必須load DS51目錄下的8051.IOF。 2. dScope for Windows dScope for windows具有dScope for dos的全部功能,此外,它還具有以下明顯的優(yōu)點(diǎn): (1) 標(biāo)準(zhǔn)的Windows界面,操作更容易更簡(jiǎn)單; (2) 常用操作多用對(duì)話(huà)框,而非Dos的行命令方式; (3) 窗口資源更加豐富:存儲(chǔ)器窗口、覆蓋率分析、運(yùn)行狀態(tài)分析窗口,加強(qiáng)了調(diào)試功能; 因?yàn)閐Scope for Windows功能強(qiáng)大,具體操作在第八章詳細(xì)介紹。 第三節(jié) Monitor51及其使用 1. Monitor51對(duì)硬件的要求 (1) 硬件系統(tǒng)為51系列CPU; (2) 帶5K外部程序存儲(chǔ)器(從O地址開(kāi)始),存放Monitor51程序; (3) 256Bytes的外部數(shù)據(jù)存儲(chǔ)器以及5K的跟蹤緩沖區(qū),此外,外部數(shù)據(jù)存儲(chǔ)器必須足夠容納所有應(yīng)用程序代碼及數(shù)據(jù),且所有外部數(shù)據(jù)存儲(chǔ)器必須為馮·諾伊曼存儲(chǔ)器,即能一致訪(fǎng)問(wèn)XDATA與Code空間。 (4) 一個(gè)定時(shí)器作為波特率發(fā)生器供串口使用; (5) 6 Bytes的空余堆棧。 2. Mon51的使用 Mon51的使用途徑有三種方式: (1) Dos行命令方式 即先用install對(duì)MON51進(jìn)行配置,然后用MON51進(jìn)入Monitor狀態(tài),啟用各種命令對(duì)Monitor51進(jìn)行調(diào)試。 (2) tScope51方式 啟動(dòng)tScope51裝入TS51目錄下的MON51.IOT驅(qū)動(dòng)文件,與目標(biāo)板通信。 (3) dScope51 for Windows方式 在選CPU驅(qū)動(dòng)文件時(shí),選“MON51.dll”,則檢查目標(biāo)板并進(jìn)入MON51狀態(tài)。 3. MON51的配置 (1) MON51 for Dos的配置 運(yùn)行install文件(在MON51目錄下),不同的參數(shù)可以配置不同的硬件環(huán)境。INSTALL Serialtype [xdstastart[codestart[bank][PROMCHECK]]],具體說(shuō)明見(jiàn)MON51幫助文件或使用手冊(cè)。 (2) MON51 for Windows的配置 在啟用MON51.dll時(shí),會(huì)使得系統(tǒng)自動(dòng)檢查目標(biāo)板連接,如配置不對(duì),則彈出“Configuration”對(duì)話(huà)框,設(shè)置PC串口,波特率等,完畢單擊“apply”有效。 4. 串口連接圖: 收發(fā)交叉互連,RTS、CTS直連,DSR、DTR直連,具體引腳排列參考串口資料。 5. MON51命令及使用 詳細(xì)的MON51命令可參閱幫助。 第四節(jié) 集成開(kāi)發(fā)環(huán)境(IDE)的使用 1. Ishell for Dos的使用 進(jìn)入Ishell之后看到兩個(gè)窗口:一個(gè)是文件窗口,一個(gè)是Dos命令行窗口,窗口上方是下拉式的命令菜單,其中的Files控制文件窗口的顯隱。 使用Ishell,第一步就是配置系統(tǒng),即要學(xué)習(xí)兩個(gè)文件的修改與創(chuàng)建: (1) Ishell.CFG文件 每一個(gè)project都有一個(gè)Ishell.CFG,其中存放有“Option菜單和Setup菜單下的部分信息;Bell enabled、Monochrome enabled、Editor Selected、CRT Lines、target enviroment、name of user edit、Automatic load for configuration enabled、file window enabled、file specification for file window、translate command line controls、project name等。 對(duì)每個(gè)project都必須設(shè)置以上信息,然后存盤(pán)“setup”的的“save”,這樣才可正式開(kāi)始下面工作。 (2) IShell.col文件 對(duì)IDE顏色設(shè)置,如不改動(dòng),可以缺省為主。 (3) CDF文件 該文件位于BIN目錄下,每一文件定義一組外部函數(shù)工具包,即定義外部環(huán)境如8051.CDF,USER.CDF等,開(kāi)發(fā)者可修改CDF文件,供自己使用,至于CDF文件內(nèi)容可查看一下8051.CDF即可知道。注意.CDF文件是Ishell系統(tǒng)的核心所在,不同的CDF文件可使本IDE適用于不同的編譯、連接系統(tǒng),即本IDE并不僅適于C51。 下面談一談Automake工具: C51的Automake是一個(gè)project管理器,在8051工具包中以O(shè)BJECT文件形式保留了一個(gè)project的信息,AutoMake用這些信息來(lái)進(jìn)行project管理,一旦手工建立一個(gè)project,Automake可生成一個(gè)新的OBJECT,AutoMake利用此文件來(lái)編譯那些修改過(guò)的文件。 Automake支持C51、A51、L51/BL51、C166、A166、L166等編譯連接器。點(diǎn)中主菜單中的Automake即運(yùn)行本工具。 Ishell for Dos使用比較繁瑣,推薦使用uVision for windows。 2. uVision for windows的使用 uVision是一個(gè)標(biāo)準(zhǔn)的windows應(yīng)用程序,其編譯功能、文件處理功能、project處理功能、窗口功能以及工具引用功能(如A51、C51、PL/M41、BL51 dScope等)等都較Ishell for Dos要強(qiáng)得多。 uVision采用BL51作連接器,因?yàn)锽L51兼容L51,所以一切能在Dos下工作的project都可以到uVision中進(jìn)行連接調(diào)試。 uVision采用dScope for windows作調(diào)試器,該調(diào)試器支持MON51及系統(tǒng)模擬兩種方式,功能較for DOS要強(qiáng)大好用,調(diào)試功能強(qiáng)大。 注意: (1) Option菜單下的各項(xiàng)要會(huì)使用,其中A51、C51、PL/M51、BL51定義各文件所使用的編譯、連接控制指令,dScope定義一個(gè)dScope初始化文件。Make則是定義一個(gè)make文件。 (2) 進(jìn)入調(diào)試是在RUN菜單下運(yùn)行dScope。 (3) project中包括新建、打開(kāi)、修改、更新、編譯、連接等poject處理,具體使用可參考后面的例子。
|