keil-c51詳細(xì)使用_第1頁(yè)
keil-c51詳細(xì)使用_第2頁(yè)
keil-c51詳細(xì)使用_第3頁(yè)
keil-c51詳細(xì)使用_第4頁(yè)
keil-c51詳細(xì)使用_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、keil c51開發(fā)系統(tǒng)基本知識(shí)1、 keil c51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)c51工具包的整體結(jié)構(gòu),如圖 1所示,其中uvision與ishell分別是c51 for windows和 for dos的集成開發(fā)環(huán)境(ide),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用ide本身或其它編輯器編輯c或匯編源文件。然后分別由c51及a51編譯器編譯生成目標(biāo)文件(.obj%目標(biāo)文彳可由lib51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)l51連接定位生成絕對(duì)目標(biāo)文件(.abs)o abs文件由oh51轉(zhuǎn)換成標(biāo)準(zhǔn)的hex文件,以供調(diào)試器dscope51或tscope51使用進(jìn)行源代

2、碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試, 也可以直接寫入程序存貯器如eprom中。圖1 c51工具包整體結(jié)構(gòu)圖2、 keil c51工具包的安裝1) c51 for dos在windows下直接運(yùn)行軟件包中 dosc51dos.exe然后選擇安裝目錄即可。完畢后欲使系統(tǒng)正常工作須進(jìn)行以下操作(設(shè)c:c51為安裝目錄):修改 autoexec.bat,加入path=c:c51binset c51lib=c:c51libset c51inc=c:c51inc然后運(yùn)行autoexec.bat2) c51 for windows的安裝及注意事項(xiàng)在 windows下運(yùn)行軟件包中 winsetup

3、.exe ,最好選擇安裝目錄與 c51 for dos相同,這樣設(shè)置最簡(jiǎn)單(設(shè)安裝于c:c51 目錄下 )。然后將軟件包中 crack 目錄中的文件拷入 c:c51bin目錄下。3) 、 keil c51 工具包各部分功能及使用簡(jiǎn)介1) c51 與 a51a. c51c51 是 c 語(yǔ)言編譯器,其使用方法為:c51 sourcefile編譯控制指令或者 c51 commandfile其中 sourcefile 為 c 源文件 (.c)。 大量的編譯控制指令完成 c51 編譯器的全部功能。 包控 c51輸出文件c.lst .obj, .i和.src文件的控制。源文件(.c)的控制等,詳見第五部分

4、的具 體介紹。而commandfile為一個(gè)連接控制文件其內(nèi)容包括:.c源文件及各編譯控制指令,它沒有固定的名字,開發(fā)人員可根據(jù)自己的習(xí)慣指定,它適于用控制指令較多的場(chǎng)合。b. a51a51 是匯編語(yǔ)言編譯器,使用方法為:a51 sourcefile 編譯控制指令或 a51 commandfile其中sourcefile為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如 asm 語(yǔ)言類似,可參考其他匯編語(yǔ)言材料。command 中的 commandfile 類似,它使a51 使用和修改方便。2) l51 和 bl51a. l51l51是keil c51軟件包提供的連接/定位器

5、,其功能是將編譯生成的obj文件與庫(kù)文件連接定位生成絕對(duì)目標(biāo)文件(.abs),其使用方法為:l51 目標(biāo)文件列表庫(kù)文件列表 to outputfile 連接控制指或 l51 commandfile源程序的多個(gè)模塊分別經(jīng) c51與a51編譯后生成多個(gè) obj文件,連接時(shí),這些文件全 列于目標(biāo)文件列表中,作為輸入文件,如果還需與庫(kù)文件(.lib汁目連接,則庫(kù)文件也必須列在其后。outputfile為輸文件名,缺少時(shí)為第一模塊名,后綴為 .abg連接控制指令提供了 連接定位時(shí)的所有控制功能。 commandfile 為連接控制文件,其具體內(nèi)容是包括了目標(biāo)文件 列表, 庫(kù)文件列表及輸出文件、 連接控制

6、命令,以取代第一種繁瑣的格式, 由于目標(biāo)模塊庫(kù) 文件大多不止1 個(gè),因而第2 種方法較多見,這個(gè)文件名字也可由使用者隨意指定。b. bl51bl51 也是 c51 軟件包的連接/定位器,其具有l(wèi)51 的所有功能,此外它還具有以下3 點(diǎn)特別之處:a.可以連接定位大于 64kbytes的程序。b. 具有代碼域及域切換功能(codebanking & bank switching)c. 可用于 rtx51 操作系統(tǒng)rtx51是一個(gè)實(shí)時(shí)多任務(wù)操作系統(tǒng),它改變了傳統(tǒng)的編程模式,甚至不必用main()函數(shù),單片機(jī)系統(tǒng)軟件向 rto弦展是一種趨勢(shì),這種趨勢(shì)對(duì)于186和386及68k系列cpu更為明顯

7、和必須,對(duì)8051因cpu較為簡(jiǎn)單,程序結(jié)構(gòu)等都不太復(fù)雜,rtx51作用顯得不太突出,其專業(yè)版軟件 pk51軟件包甚至不包括 rtx51full而只有一個(gè) rtx51tiny本的rtos rtx51 tin幗用于無(wú)外部 ram的單片機(jī)系統(tǒng),因而可用面很窄,在本文中不作介紹。bank switching 技術(shù)因使用很少也不作介紹。3) dscope51, tscope51 及 monitor51a. dscope51dscope51 是一個(gè)源級(jí)調(diào)試器和模擬器, 它可以調(diào)試由 c51 編譯器、 a51 匯編器、 pl/m-51 編譯器及asm 51 匯編器產(chǎn)生的程序。 它不需目標(biāo)板(for win

8、dows 也可通過 mon51 接目標(biāo)板),只能進(jìn)行軟件模擬,但其功能強(qiáng)大,可模擬cpu及其外圍器件,如內(nèi)部串口,外部i/o及定時(shí)器等,能對(duì)嵌入式軟件功能進(jìn)行有效測(cè)試。 其使用方法為:ds51debugfileinit(initfile)其中 debugfile 是一個(gè) hex 格式的 8051 文件,即待調(diào)試的文件其為可選的,可在進(jìn)入dscope51 后用 load 命令裝入。initfile 為一個(gè)初使化文件,它在啟動(dòng)dscope51 后,在 debugfile 裝入前裝入,裝有一些dscope的初使化參數(shù)及常用調(diào)試函數(shù)等。下面是一個(gè)dscope.ini文件(for dos)的內(nèi)容:loa

9、d .ds518051.iof map 0,0xffffdscope51 for windows 則直接用鼠標(biāo)進(jìn)入,然后用 load 裝入待調(diào)文件。b. tscope51與 dscope51 不同的是 scope51 必須帶目標(biāo)板,目前它可以通過兩種方式訪問目標(biāo)板。(1) 通過 emul51 在線仿真器, tscope51 為該仿真器準(zhǔn)備了一個(gè)動(dòng)態(tài)連接文件emul51.iot,但該方法必須配合該仿真器。 (2) 通過 monitov51 監(jiān)控程序,這種方法是可行的, tscope51 為訪問monitor51 專門帶有 mon51.iot 連接程序,使用時(shí)可通過串口及監(jiān)控程序來(lái)調(diào)試目標(biāo)板。其使

10、用方法為:ts51init()其中為一個(gè)初使化文件。進(jìn)入ts51后,必須裝入iot文件,可用的有 mon51.iot及emul51.iot兩種,如裝入mon51.iot:load.c:c51ts51mon51.iot cputype(80517)可惜的是 tscope51 只有 for dos 的版本。c. monitor 51monitor51是一個(gè)監(jiān)控程序通過pc機(jī)的串口與目標(biāo)板進(jìn)行通信,monitor操作需要mon51 或 dscope51 for windows, 后面部分將對(duì)monitor51 做較為詳細(xì)的介紹4) ishell 及 uvisiona. ishell for dos這

11、是一個(gè)for dos的ide,直接在命令行鍵入ishell,則進(jìn)入該環(huán)境,它使用簡(jiǎn)單方便。其命令行與dos命令行具有同樣的功能,對(duì)單模塊的project直接由菜單進(jìn)行編譯連接,對(duì)多模塊的project 0則通過批處理,bat文件進(jìn)行編譯連接,然后通過菜單控制由dscope51或 tscope51 對(duì)程序進(jìn)行調(diào)試,因?yàn)槭莊or dos 的,不做太詳細(xì)介紹。b. uvision for windowsuvision for windows 是一個(gè)標(biāo)準(zhǔn)的 windows 應(yīng)用程序,它是c51 的一個(gè)集成軟件開發(fā)平臺(tái), 具有源代碼編輯、 project 管理、 集成的 make 等功能, 它的人機(jī)界面

12、友好, 操作方便, 是開發(fā)者的首選,具體配置及使用見第五部分。keil c51 軟件使用詳解1 keil c51 編譯器的控制指令c51 編譯器的控制指令分為三類:源文件控制類,目標(biāo)文件控制類及列表控制類。1 ) 源文件控制類noextend c51源文件不允許使用 ansi c擴(kuò)展功能。define(df)定義預(yù)處理(在c51命令行)。2)目標(biāo)文件(object)控制類:compact large small 編譯模式debug(db泡含調(diào)試信息,以供仿真器或dscope51使用。noamake(noam)禁止automake信息記錄 noregparmstl止用寄存器傳遞參數(shù) object

13、extend(oe) object件包含附加變量類型信息optimize(ot)指定優(yōu)化級(jí)別reg) 指定一個(gè)寄存器使用的文件以供整體優(yōu)化用registerbank(r時(shí)定一個(gè)供絕對(duì)寄存器訪問的寄存器區(qū)名src不生成目標(biāo)文件只生成匯編源文件其它控件不常用。3)列表文件(listing)控制類:code(cd)向列表文件加入?yún)R編列表listinclude(lc)顯示 indude 文件symbols(sr)列表文件包括模塊內(nèi)所有符號(hào)的列表warninglevel(wl)選擇“警告”級(jí)別2 dscope51 的使用1) dscope51 for dos總的來(lái)說 dscope51 具有以下特性:高級(jí)

14、語(yǔ)言顯示模式集成硬件環(huán)境模擬單步或“ go”執(zhí)行模式存儲(chǔ)器寄存器及變量訪問 watch 表達(dá)式之值函數(shù)與信號(hào)功能下面,具體說明在進(jìn)入 dscope51 for dos 之后,如何實(shí)現(xiàn)上述功能, dscope51 采用下拉菜單格式和窗口顯示控制,共有l(wèi)anguage serial exe register 四個(gè)窗口,其中 exe 為命令行窗口, language 為程序窗口, serial 為串口窗, register 為寄存器窗。a. 高級(jí)語(yǔ)言顯示模式單擊主菜單中的"view”,第一欄中的三條命令"highlevel"、"mixed"、&quo

15、t;assembly”分 別對(duì)所裝入的程序按照“高級(jí)” 、 “混合級(jí)”及“匯編級(jí)”三種方式顯示,以方便調(diào)試使用。b. 集成硬件環(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ì)顯示: “ int

16、errupt timer 0 occured ”等 a/d converter :顯示a/d轉(zhuǎn)換器狀態(tài)無(wú)時(shí),則提示“無(wú)"。serial:串口信息顯示,包括串口模式、波特產(chǎn)等other :其它器件,如為8031 則顯示“ 無(wú)”c.單步或“ go”執(zhí)行“f8”單步執(zhí)行,“f5”全速執(zhí)行到斷點(diǎn)?;蜻x主菜單中trace單步執(zhí)行cpu中的go全速執(zhí)行。d. 存儲(chǔ)器寄存器及變量訪問修改存儲(chǔ)器命令: e 有以下幾種命令eb、 ec、 ei、 el、 ef、 ep復(fù)雜數(shù)據(jù)類型顯示: object 命令;用以顯示結(jié)構(gòu)或數(shù)組的內(nèi)容。欲使此命令有效, c51 編譯器必須有db及objectexten兩條。

17、反匯編命令: ue.“watch ”表達(dá)式之值在 view 菜單的“watch ”一欄中有四項(xiàng):其中包括定義watch point(define) 、刪除watch point(remove,kill all) ,及自動(dòng)更新選項(xiàng)。也可用ws、 wk 等命令代替,下面具體看“表達(dá)式”類型:dscope51 一次最多可設(shè)16 個(gè) wtchpoint 表達(dá)式,顯示于 watch window 之中,表達(dá)式可以是簡(jiǎn)單變量,也可是復(fù)雜數(shù)據(jù)類型如結(jié)構(gòu)、數(shù)組和指向結(jié)構(gòu)的指針等,例如:>ws *ptime>ws ptimefhour>ws some_recordo , analog 等等f(wàn). 關(guān)于.iof文件啟動(dòng)ds51后必須裝入.iof文件才能使cpum peripheral各項(xiàng)起作用,這個(gè)函數(shù)的使用是依據(jù)8051系列cpu的不同特點(diǎn),裝入8051各cpu硬件設(shè)備模擬驅(qū)動(dòng)文件,比如8031cpu就必須 load ds51 目錄下的8051.iof。2) ds

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論