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