版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Keil C51開發(fā)系統(tǒng)基本知識(shí)1. 第一節(jié) 系統(tǒng)概述 Keil C551是美國KKeil SSoftwaare公司出出品的51系系列兼容單片片機(jī)C語言軟軟件開發(fā)系統(tǒng)統(tǒng),與匯編相相比,C語言言在功能上、結(jié)結(jié)構(gòu)性、可讀讀性、可維護(hù)護(hù)性上有明顯顯的優(yōu)勢(shì),因因而易學(xué)易用用。用過匯編編語言后再使使用C來開發(fā)發(fā),體會(huì)更加加深刻。 Keil C551軟件提供供豐富的庫函函數(shù)和功能強(qiáng)強(qiáng)大的集成開開發(fā)調(diào)試工具具,全Winndows界界面。另外重重要的一點(diǎn),只只要看一下編編譯后生成的的匯編代碼,就就能體會(huì)到KKeil CC51生成的的目標(biāo)代碼效效率非常之高高,多數(shù)語句句生成的匯編編代碼很緊湊湊,容易理解解。在開
2、發(fā)大大型軟件時(shí)更更能體現(xiàn)高級(jí)級(jí)語言的優(yōu)勢(shì)勢(shì)。 下面詳細(xì)介紹KKeil CC51開發(fā)系系統(tǒng)各部分功功能和使用。 2. 第二節(jié) Keil C51單片片機(jī)軟件開發(fā)發(fā)系統(tǒng)的整體體結(jié)構(gòu) C51工具包的的整體結(jié)構(gòu),如如圖(1)所所示,其中uuVisioon與Ishhell分別別是C51 for WWindowws和forr Dos的的集成開發(fā)環(huán)環(huán)境(IDEE),可以完完成編輯、編編譯、連接、調(diào)調(diào)試、仿真等等整個(gè)開發(fā)流流程。開發(fā)人人員可用IDDE本身或其其它編輯器編編輯C或匯編編源文件。然然后分別由CC51及A551編譯器編編譯生成目標(biāo)標(biāo)文件(.OOBJ)。目目標(biāo)文件可由由LIB511創(chuàng)建生成庫庫文件,也可
3、可以與庫文件件一起經(jīng)L551連接定位位生成絕對(duì)目目標(biāo)文件(.ABS)。AABS文件由由OH51轉(zhuǎn)轉(zhuǎn)換成標(biāo)準(zhǔn)的的Hex文件件,以供調(diào)試試器dScoope51或或tScoppe51使用用進(jìn)行源代碼碼級(jí)調(diào)試,也也可由仿真器器使用直接對(duì)對(duì)目標(biāo)板進(jìn)行行調(diào)試,也可可以直接寫入入程序存貯器器如EPROOM中。 圖(1) C551工具包整整體結(jié)構(gòu)圖 3. 第三節(jié) Keil C51工具具包的安裝 1. 1. CC51 foor Doss 在Windowws下直接運(yùn)運(yùn)行軟件包中中DOSCC51DOSS.exe然然后選擇安裝裝目錄即可。完完畢后欲使系系統(tǒng)正常工作作須進(jìn)行以下下操作(設(shè)CC:C511為安裝目錄錄):
4、修改Autoeexec.bbat,加入入 path=C:C51Bin Set C511LIB=CC:C511LIB Set C511INC=CC:C511INC 然后運(yùn)行Auttoexecc.bat 2. 2. CC51 foor Winndows的的安裝及注意意事項(xiàng): 在Windowws下運(yùn)行軟軟件包中WIINSettup.exxe,最好選選擇安裝目錄錄與C51 for DDos相同,這這樣設(shè)置最簡簡單(設(shè)安裝裝于C:CC51目錄下下)。然后將將軟件包中ccrack目目錄中的文件件拷入C:C51BBin目錄下下。 4. 第四節(jié) Keil C51工具具包各部分功功能及使用簡簡介 1. 1. C
5、C51與A551 1. (1) C51 C51是C語言言編譯器,其其使用方法為為: C51 souurcefiile編譯譯控制指令 或者 C51 ccommanndfilee 其中sourccefilee為C源文件件(.C)。大大量的編譯控控制指令完成成C51編譯譯器的全部功功能。包控CC51輸出文文件C.LSST,.OBBJ,.I和和.SRC文文件的控制。源源文件(.CC)的控制等等,詳見第五五部分的具體體介紹。 而Commanndfilee為一個(gè)連接接控制文件其其內(nèi)容包括:.C源文件件及各編譯控控制指令,它它沒有固定的的名字,開發(fā)發(fā)人員可根據(jù)據(jù)自己的習(xí)慣慣指定,它適適于用控制指指令較多的場(chǎng)
6、場(chǎng)合。 2. (2) A51 A51是匯編語語言編譯器,使使用方法為: A51 souurcefiile編譯譯控制指令 或A51 commaandfille 其中sourccefilee為匯編源文文件(.assm或.a551),而編編譯控制指令令的使用與其其它匯編如AASM語言類類似,可參考考其他匯編語語言材料。 Commanddfile同同C51中的的Commaandfille類似,它它使A51使使用和修改方方便。 2. 2. LL51和BLL51 1. (1) L51 L51是Keiil C511軟件包提供供的連接/定定位器,其功功能是將編譯譯生成的OBBJ文件與庫庫文件連接定定位生成絕對(duì)
7、對(duì)目標(biāo)文件(.ABS),其使用方方法為: L51 目標(biāo)文文件列表庫庫文件列表 to outpuutfilee 連接接控制指令 或 L51 Commaandfille 源程序的多個(gè)模模塊分別經(jīng)CC51與A551編譯后生生成多個(gè)OBBJ文件,連連接時(shí),這些些文件全列于于目標(biāo)文件列列表中,作為為輸入文件,如如果還需與庫庫文件(.LLiB)相連連接,則庫文文件也必須列列在其后。ooutputtfile為為輸文件名,缺缺少時(shí)為第一一模塊名,后后綴為.ABBS。連接控控制指令提供供了連接定位位時(shí)的所有控控制功能。CCommanndfilee為連接控制制文件,其具具體內(nèi)容是包包括了目標(biāo)文文件列表,庫庫文件列
8、表及及輸出文件、連連接控制命令令,以取代第第一種繁瑣的的格式,由于于目標(biāo)模塊庫庫文件大多不不止1個(gè),因因而第2種方方法較多見,這這個(gè)文件名字字也可由使用用者隨意指定定。 2. (2) Bl51 BL51也是CC51軟件包包的連接/定定位器,其具具有L51的的所有功能,此此外它還具有有以下3點(diǎn)特特別之處: a. 可以連接接定位大于664kByttes的程序序。 b. 具有代碼碼域及域切換換功能(CoodeBannking & Bannk Swiitchinng) c. 可用于RRTX51操操作系統(tǒng) RTX51是一一個(gè)實(shí)時(shí)多任任務(wù)操作系統(tǒng)統(tǒng),它改變了了傳統(tǒng)的編程程模式,甚至至不必用maain( )
9、函數(shù),單片片機(jī)系統(tǒng)軟件件向RTOSS發(fā)展是一種種趨勢(shì),這種種趨勢(shì)對(duì)于1186和3886及68KK系列CPUU更為明顯和和必須,對(duì)88051因CCPU較為簡簡單,程序結(jié)結(jié)構(gòu)等都不太太復(fù)雜,RTTX51作用用顯得不太突突出,其專業(yè)業(yè)版軟件PKK51軟件包包甚至不包括括RTX511Full,而而只有一個(gè)RRTX51TTINY版本本的RTOSS。RTX551 TINNY適用于無無外部RAMM的單片機(jī)系系統(tǒng),因而可可用面很窄,在在本文中不作作介紹。Baank swwitchiing技術(shù)因因使用很少也也不作介紹。 3. 3. DDScopee51,Tsscope551及Monnitor551 1. (1)
10、 dScoppe51 dScope551是一個(gè)源源級(jí)調(diào)試器和和模擬器,它它可以調(diào)試由由C51編譯譯器、A511匯編器、PPL/M-551編譯器及及ASM551匯編器產(chǎn)產(chǎn)生的程序。它它不需目標(biāo)板板(for windoows也可通通過mon551接目標(biāo)板板),只能進(jìn)進(jìn)行軟件模擬擬,但其功能能強(qiáng)大,可模模擬CPU及及其外圍器件件,如內(nèi)部串串口,外部II/O及定時(shí)時(shí)器等,能對(duì)對(duì)嵌入式軟件件功能進(jìn)行有有效測(cè)試。 其使用方法為: DS51deebugfiileIINIT(iinitfiile) 其中debuggfile是是一個(gè)Hexx格式的80051文件,即即待調(diào)試的文文件其為可選選的,可在進(jìn)進(jìn)入dSco
11、ope51后后用loadd命令裝入。 Initfille為一個(gè)初初使化文件,它它在啟動(dòng)dSScope551后,在ddebugffile裝入入前裝入,裝裝有一些dSScope的的初使化參數(shù)數(shù)及常用調(diào)試試函數(shù)等。下下面是一個(gè)ddScopee.ini文文件(forr dos)的內(nèi)容: Load .dds5188051.iiof Map 0,00 xfffff dScope551 forr Winddows則直直接用鼠標(biāo)進(jìn)進(jìn)入,然后用用load裝裝入待調(diào)文件件。 2. (2) tScoppe51 與dScopee51不同的的是Scoppe51必須須帶目標(biāo)板,目目前它可以通通過兩種方式式訪問目標(biāo)板板。(
12、1) 通過EMuul51在線線仿真器,ttScopee51為該仿仿真器準(zhǔn)備了了一個(gè)動(dòng)態(tài)連連接文件EMMUL51.IOT,但但該方法必須須配合該仿真真器。(2) 通過Moonitovv51監(jiān)控程程序,這種方方法是可行的的,tScoope51為為訪問Monnitor551專門帶有有MON511.IOT連連接程序,使使用時(shí)可通過過串口及監(jiān)控控程序來調(diào)試試目標(biāo)板。 其使用方法為: TS51INNIT(fiile_naame.inni) 其中file_name.ini為一一個(gè)初使化文文件。 進(jìn)入TS51后后,必須裝入入IOT文件件,可用的有有MON511.IOT及及EMUL551.IOTT兩種,如裝裝入
13、MON551.IOTT: Load.C:C51TS51MON511.IOT CPUTYYPE(800517) 可惜的是tSccope511只有forr Dos的的版本。 3. (3) Monittor 511 Monitorr51是一個(gè)個(gè)監(jiān)控程序通通過PC機(jī)的的串口與目標(biāo)標(biāo)板進(jìn)行通信信,Moniitor操作作需要MONN51或dSScope551 forr Winddows,后后面部分將對(duì)對(duì)Monittor51做做較為詳細(xì)的的介紹。 4. 4. IIshelll及uVission 1. (1) Ishelll forr Dos 這是一個(gè)forr Dos的的IDE,直直接在命令行行鍵入Ishhe
14、ll,則則進(jìn)入該環(huán)境境,它使用簡簡單方便。其其命令行與DDOS命令行行具有同樣的的功能,對(duì)單單模塊的Prrojectt直接由菜單單進(jìn)行編譯連連接,對(duì)多模模塊的prooject。則則通過批處理理,BAT文文件進(jìn)行編譯譯連接,然后后通過菜單控控制由dSccope511或tScoope51對(duì)對(duì)程序進(jìn)行調(diào)調(diào)試,因?yàn)槭鞘莊or ddos的,不不做太詳細(xì)介介紹。 2. (2) uVisiion foor Winndows uVisionn for Windoows是一個(gè)個(gè)標(biāo)準(zhǔn)的Wiindowss應(yīng)用程序,它它是C51的的一個(gè)集成軟軟件開發(fā)平臺(tái)臺(tái),具有源代代碼編輯、pprojecct管理、集集成的makke
15、等功能,它它的人機(jī)界面面友好,操作作方便,是開開發(fā)者的首選選,具體配置置及使用見第第五部分。 2. 第二章 Keil C51軟件件使用詳解 1. 第一節(jié) Keil C51編譯譯器的控制指指令 C51編譯器的的控制指令分分為三類:源源文件控制類類,目標(biāo)文件件控制類及列列表控制類。 1. 1. 源源文件控制類類 NOEXTENND:C511源文件不允允許使用ANNSI C擴(kuò)擴(kuò)展功能。 DEFINE(DF):定定義預(yù)處理(在C51命命令行)。 2. 2. 目目標(biāo)文件(OObjectt)控制類: COMPACTT LARGGE SMAALL 選編編譯模式 DEBUG(DDB) 包含含調(diào)試信息,以以供仿
16、真器或或dSCoppe51使用用。 NOAMAKEE(NOAMM) 禁止AAutoMaake信息記記錄 NOREGPAARMS 禁禁止用寄存器器傳遞參數(shù) OBJECTEEXTENDD(OE) Objecct文件包含含附加變量類類型信息 OPTIMIZZE(OT) 指定優(yōu)化化級(jí)別 REGFILEE(RF) 指定一個(gè)寄寄存器使用的的文件以供整整體優(yōu)化用 REGISTEERBANKK(RB) 指定一個(gè)供供絕對(duì)寄存器器訪問的寄存存器區(qū)名 SRC 不生成成目標(biāo)文件只只生成匯編源源文件 其它控件不常用用。 3. 3. 列列表文件(llistinng)控制類類: CODE(CDD):向列表表文件加入?yún)R匯編列
17、表 LISTINCCLUDE(LC):顯顯示induude文件 SYMBOLSS(SB):列表文件包包括模塊內(nèi)所所有符號(hào)的列列表 WARNINGGLEVELL(WL):選擇“警告告”級(jí)別 2. 第二節(jié) dScoppe51的使使用 1. 1. ddScopee51 foor Doss 總的來說dSccope511具有以下特特性: l 高級(jí)語言顯顯示模式 l 集成硬件環(huán)環(huán)境模擬 l 單步或“GGO”執(zhí)行模模式 l 存儲(chǔ)器、寄寄存器及變量量訪問 l Watchh表達(dá)式之值值 l 函數(shù)與信號(hào)號(hào)功能 下面,具體說明明在進(jìn)入dSScope551 forr Dos之之后,如何實(shí)實(shí)現(xiàn)上述功能能,dScoope
18、51采采用下拉菜單單格式和窗口口顯示控制,共共有l(wèi)angguage、sseriall、exe、rregistter四個(gè)窗窗口,其中eexe為命令令行窗口,llanguaage為程序序窗口,seerial為為串口窗,rregistter為寄存存器窗。 1. (1) 高級(jí)語言顯顯示模式 單擊主菜單中的的“Vieww”,第一欄欄中的三條命命令“Higghleveel”、“MMixed”、“AAssembbly”分別別對(duì)所裝入的的程序按照“高高級(jí)”、“混混合級(jí)”及“匯匯編級(jí)”三種種方式顯示,以以方便調(diào)試使使用。 2. (2) 集成硬件環(huán)環(huán)境模擬顯示示 主菜單中“Peeripheeral”各各條能顯示模
19、模擬硬件環(huán)境境的狀態(tài),其其中: i/o Porrt:顯示各各I/O口之之值,對(duì)80031而言SSFR中的PP1、P2、PP3、P0與與引腳之值分分別列出: Interruupt:顯示示5個(gè)中斷源源的入口模式式是否允許,優(yōu)優(yōu)先級(jí)等中斷斷狀態(tài)。 Timer:顯顯示各定時(shí)/計(jì)數(shù)器的模模式,初始值值狀態(tài)等。 int Messsage:中斷信息允允許,如為允允許(“”出現(xiàn)),則則當(dāng)中斷申請(qǐng)請(qǐng)時(shí),顯示中中斷源信息。比比如當(dāng)中斷發(fā)發(fā)生時(shí)會(huì)顯示示: “interrrupt TTimer 0 occcured”等等 A/D connverteer: 顯示A/D轉(zhuǎn)換換器狀態(tài)無時(shí)時(shí),則提示“無無”。 Serial:
20、串口信息顯顯示,包括串串口模式、波波特產(chǎn)等 Other:其其它器件,如如為80311則顯示“ 無” 3. (3) 單步或“GGo”執(zhí)行 “F8”單步執(zhí)執(zhí)行,“F55”全速執(zhí)行行到斷點(diǎn)?;蚧蜻x主菜單中中Tracee單步執(zhí)行CCPU中的GGo全速執(zhí)行行。 4. (4) 存儲(chǔ)器寄存存器及變量訪訪問 外部存儲(chǔ)器管理理MAP菜單單:設(shè)置(sset)、取取消(resset)、顯顯示(Dissplay)處理可用存存儲(chǔ)空間。 修改Code代代碼:ASMM命令 存儲(chǔ)器顯示命令令:D 類別別為(X、DD、I、B、CC) 修改存儲(chǔ)器命令令:E 有以以下幾種命令令EB、ECC、EI、EEL、EF、EEP 復(fù)雜數(shù)據(jù)類型
21、顯顯示:Objject命令令;用以顯示示結(jié)構(gòu)或數(shù)組組的內(nèi)容。欲欲使此命令有有效,C511編譯器必須須有DB及OOBJECTTEXTENND兩條。 反匯編命令:UU 5. (5) “Watcch”表達(dá)式式之值 在View菜單單的“Wattch”一欄欄中有四項(xiàng):其中包括定定義Watcch Poiint(Deefine)、刪除Waatch PPoint(removve,killl alll),及自動(dòng)動(dòng)更新選項(xiàng)。 也可用WS、WWK等命令代代替,下面具具體看“表達(dá)達(dá)式”類型: dScope551一次最多多可設(shè)16個(gè)個(gè)WtchPPoint表表達(dá)式,顯示示于Watcch Winndow之中中,表達(dá)式可可以
22、是簡單變變量,也可是是復(fù)雜數(shù)據(jù)類類型如結(jié)構(gòu)、數(shù)數(shù)組和指向結(jié)結(jié)構(gòu)的指針等等,例如: WS *pttime WS ptiimehoour WS somme_reccordoo,anaalog等等等 6. (6) 關(guān)于.IOOF文件 啟動(dòng)DS51后后必須裝入.IOF文件件才能使CPPU及Perripherral各項(xiàng)起起作用,這個(gè)個(gè)函數(shù)的使用用是依據(jù)80051系列CCPU的不同同特點(diǎn),裝入入8051各各CPU硬件件設(shè)備模擬驅(qū)驅(qū)動(dòng)文件,比比如80311CPU就必必須loadd DS511目錄下的88051.IIOF。 2. 2. ddScopee for Windoows dScope for wwin
23、dowws具有dSScope for ddos的全部部功能,此外外,它還具有有以下明顯的的優(yōu)點(diǎn): (1) 標(biāo)準(zhǔn)的的Windoows界面,操操作更容易更更簡單; (2) 常用操操作多用對(duì)話話框,而非DDos的行命命令方式; (3) 窗口資資源更加豐富富:存儲(chǔ)器窗窗口、覆蓋率率分析、運(yùn)行行狀態(tài)分析窗窗口,加強(qiáng)了了調(diào)試功能; 因?yàn)閐Scoppe forr Winddows功能能強(qiáng)大,具體體操作在第八八章詳細(xì)介紹紹。 3. 第三節(jié) Monittor51及及其使用 1. 1. MMonitoor51對(duì)硬硬件的要求 (1) 硬件系系統(tǒng)為51系系列CPU; (2) 帶5KK外部程序存存儲(chǔ)器(從OO地址開始)
24、,存放Moonitorr51程序; (3) 2566Bytess的外部數(shù)據(jù)據(jù)存儲(chǔ)器以及及5K的跟蹤蹤緩沖區(qū),此此外,外部數(shù)數(shù)據(jù)存儲(chǔ)器必必須足夠容納納所有應(yīng)用程程序代碼及數(shù)數(shù)據(jù),且所有有外部數(shù)據(jù)存存儲(chǔ)器必須為為馮諾伊曼曼存儲(chǔ)器,即即能一致訪問問XDATAA與Codee空間。 (4) 一個(gè)定定時(shí)器作為波波特率發(fā)生器器供串口使用用; (5) 6 BBytes的的空余堆棧。 2. 2. MMon51的的使用 Mon51的使使用途徑有三三種方式: (1) Doss行命令方式式 即先用insttall對(duì)MMON51進(jìn)進(jìn)行配置,然然后用MONN51進(jìn)入MMonitoor狀態(tài),啟啟用各種命令令對(duì)Moniito
25、r511進(jìn)行調(diào)試。 (2) tSccope511方式 啟動(dòng)tScoppe51裝入入TS51目目錄下的MOON51.IIOT驅(qū)動(dòng)文文件,與目標(biāo)標(biāo)板通信。 (3) dSccope511 for Windoows方式 在選CPU驅(qū)動(dòng)動(dòng)文件時(shí),選選“MON551.dlll”,則檢查查目標(biāo)板并進(jìn)進(jìn)入MON551狀態(tài)。 3. 3. MMON51的的配置 (1) MONN51 foor Doss的配置 運(yùn)行instaall文件(在MON551目錄下),不同的參參數(shù)可以配置置不同的硬件件環(huán)境。INNSTALLL Seriialtyppe xddstasttartccodesttartbbankPROMCCHE
26、CK,具體體說明見MOON51幫助助文件或使用用手冊(cè)。 (2) MONN51 foor Winndows的的配置 在啟用MON551.dlll時(shí),會(huì)使得得系統(tǒng)自動(dòng)檢檢查目標(biāo)板連連接,如配置置不對(duì),則彈彈出“Connfigurrationn”對(duì)話框,設(shè)設(shè)置PC串口口,波特率等等,完畢單擊擊“applly”有效。 4. 4. 串串口連接圖: 收發(fā)交叉互連,RRTS、CTTS直連,DDSR、DTTR直連,具具體引腳排列列參考串口資資料。 5. 5. MMON51命命令及使用 詳細(xì)的MON551命令可參參閱幫助。 4. 第四節(jié) 集成開發(fā)環(huán)環(huán)境(IDEE)的使用 1. 1. IIshelll for D
27、os的使使用 進(jìn)入Ishelll之后看到到兩個(gè)窗口:一個(gè)是文件件窗口,一個(gè)個(gè)是Dos命命令行窗口,窗窗口上方是下下拉式的命令令菜單,其中中的Filees控制文件件窗口的顯隱隱。 使用Ishelll,第一步步就是配置系系統(tǒng),即要學(xué)學(xué)習(xí)兩個(gè)文件件的修改與創(chuàng)創(chuàng)建: 1. (1) Ishelll.CFGG文件 每一個(gè)projject都有有一個(gè)Ishhell.CCFG,其中中存放有“OOptionn菜單和Seetup菜單單下的部分信信息;Belll enaabled、MMonochhrome enablled、Edditor Seleccted、CCRT Liines、ttargett enviirom
28、ennt、namme of user edit、AAutomaatic lload ffor coonfiguuratioon enaabled、ffile wwindoww enabbled、ffile sspecifficatiion foor fille winndow、ttransllate ccommannd linne conntrolss、projject nname等。 對(duì)每個(gè)projject都必必須設(shè)置以上上信息,然后后存盤“seetup”的的的“savve”,這樣樣才可正式開開始下面工作作。 2. (2) IShelll.coll文件 對(duì)IDE顏色設(shè)設(shè)置,如不改改動(dòng),可以缺
29、缺省為主。 3. (3) CDF文件件 該文件位于BIIN目錄下,每每一文件定義義一組外部函函數(shù)工具包,即即定義外部環(huán)環(huán)境如80551.CDFF,USERR.CDF等等,開發(fā)者可可修改CDFF文件,供自自己使用,至至于CDF文文件內(nèi)容可查查看一下80051.CDDF即可知道道。注意.CCDF文件是是Ishelll系統(tǒng)的核核心所在,不不同的CDFF文件可使本本IDE適用用于不同的編編譯、連接系系統(tǒng),即本IIDE并不僅僅適于C511。 下面談一談Auutomakke工具: C51的Auttomakee是一個(gè)prrojectt管理器,在在8051工工具包中以O(shè)OBJECTT文件形式保保留了一個(gè)ppr
30、ojecct的信息,AAutoMaake用這些些信息來進(jìn)行行projeect管理,一一旦手工建立立一個(gè)prooject,AAutomaake可生成成一個(gè)新的OOBJECTT,AutooMake利利用此文件來來編譯那些修修改過的文件件。 Automakke支持C551、A511、L51/BL51、CC166、AA166、LL166等編編譯連接器。點(diǎn)點(diǎn)中主菜單中中的Autoomake即即運(yùn)行本工具具。 Ishell for DDos使用比比較繁瑣,推推薦使用uVVisionn for windoows。 2. 2. uuVisioon forr winddows的使使用 uVisionn是一個(gè)標(biāo)準(zhǔn)
31、準(zhǔn)的winddows應(yīng)用用程序,其編編譯功能、文文件處理功能能、projject處理理功能、窗口口功能以及工工具引用功能能(如A511、C51、PPL/M411、BL511 dScoope等)等等都較Ishhell ffor Doos要強(qiáng)得多多。 uVisionn采用BL551作連接器器,因?yàn)锽LL51兼容LL51,所以以一切能在DDos下工作作的projject都可可以到uViision中中進(jìn)行連接調(diào)調(diào)試。 uVisionn采用dSccope ffor wiindowss作調(diào)試器,該該調(diào)試器支持持MON511及系統(tǒng)模擬擬兩種方式,功功能較forr DOS要要強(qiáng)大好用,調(diào)調(diào)試功能強(qiáng)大大。 注意
32、: (1) Opttion菜單單下的各項(xiàng)要要會(huì)使用,其其中A51、CC51、PLL/M51、BBL51定義義各文件所使使用的編譯、連連接控制指令令,dScoope定義一一個(gè)dScoope初始化化文件。Maake則是定定義一個(gè)maake文件。 (2) 進(jìn)入調(diào)調(diào)試是在RUUN菜單下運(yùn)運(yùn)行dScoope。 (3) prooject中中包括新建、打打開、修改、更更新、編譯、連連接等pojject處理理,具體使用用可參考后面面的例子。 3. 第三章 Keil C51 vvs 標(biāo)準(zhǔn)CC 深入理解并應(yīng)用用C51對(duì)標(biāo)標(biāo)準(zhǔn)ANSIIC的擴(kuò)展是是學(xué)習(xí)C511的關(guān)鍵之一一。因?yàn)榇蠖喽鄶?shù)擴(kuò)展功能能都是直接針針對(duì)805
33、11系列CPUU硬件的。大大致有以下88類: l 8051存存儲(chǔ)類型及存存儲(chǔ)區(qū)域 l 存儲(chǔ)模式 l 存儲(chǔ)器類型型聲明 l 變量類型聲聲明 l 位變量與位位尋址 l 特殊功能寄寄存器(SFFR) l C51指針針 l 函數(shù)屬性 具體說明如下(8031為為缺省CPUU)。 1. 第一節(jié) Keil C51擴(kuò)展展關(guān)鍵字 C51 V4.0版本有以以下擴(kuò)展關(guān)鍵鍵字(共199個(gè)): _at_ iddata ssfr16 alienn inteerruptt smalll bdata llarge _taskk_ Codde bitt pdatta using rreentrrant xxdata compa
34、act sbbit daata sffr 2. 第二節(jié) 內(nèi)存區(qū)域(Memorry Areeas): 1. 1. PPragraam Areea: 由Code說明明可有多達(dá)664kByttes的程序序存儲(chǔ)器 2. 2. IInternnal Daata Meemory: 內(nèi)部數(shù)據(jù)存儲(chǔ)器器可用以下關(guān)關(guān)鍵字說明: data:直接接尋址區(qū),為為內(nèi)部RAMM的低1288字節(jié) 000H7FHH idata:間間接尋址區(qū),包包括整個(gè)內(nèi)部部RAM區(qū) 00HFFFH bdata:可可位尋址區(qū), 20H22FH 3. 3. EExternnal Daata Meemory 外部RAM視使使用情況可由由以下關(guān)鍵字字
35、標(biāo)識(shí): xdata:可可指定多達(dá)664KB的外外部直接尋址址區(qū),地址范范圍00000H0FFFFFH pdata:能能訪問1頁(25bByytes)的的外部RAMM,主要用于于緊湊模式(Compaact Moodel)。 4. 4. SSpeciaac Funnctionn Regiister Memorry 8051提供1128Byttes的SFFR尋址區(qū),這這區(qū)域可位尋尋址、字節(jié)尋尋址或字尋址址,用以控制制定時(shí)器、計(jì)計(jì)數(shù)器、串口口、I/O及及其它部件,可可由以下幾種種關(guān)鍵字說明明: sfr:字節(jié)尋尋址 比如 sfr PP0=0 x880;為POO口地址為880H,“”后HFFFH之間的的常
36、數(shù)。 sfr16:字字尋址,如ssfr16 T2=0 xxcc;指定定Timerr2口地址TT2L=0 xccc T2HH=0 xCDD sbit:位尋尋址,如sbbit EAA=0 xAFF;指定第00 xAF位為為EA,即中中斷允許 還可以有如下定定義方法: sbit 0VV=PSW2;(定義義0V為PSSW的第2位位) sbit 0VV0XDOO2;(同同上) 或bit 0VV-0 xDD2(同上)。 3. 第三節(jié) 存儲(chǔ)模式 存儲(chǔ)模式?jīng)Q定了了沒有明確指指定存儲(chǔ)類型型的變量,函函數(shù)參數(shù)等的的缺省存儲(chǔ)區(qū)區(qū)域,共三種種: 1. 1. SSmall模模式 所有缺省變量參參數(shù)均裝入內(nèi)內(nèi)部RAM,優(yōu)
37、優(yōu)點(diǎn)是訪問速速度快,缺點(diǎn)點(diǎn)是空間有限限,只適用于于小程序。 2. 2. CCompacct模式 所有缺省變量均均位于外部RRAM區(qū)的一一頁(2566Bytess),具體哪哪一頁可由PP2口指定,在在STARTTUP.A551文件中說說明,也可用用pdataa指定,優(yōu)點(diǎn)點(diǎn)是空間較SSmall為為寬裕速度較較Smalll慢,較laarge要快快,是一種中中間狀態(tài)。 3. 3. llarge模模式 所有缺省變量可可放在多達(dá)664KB的外外部RAM區(qū)區(qū),優(yōu)點(diǎn)是空空間大,可存存變量多,缺缺點(diǎn)是速度較較慢。 提示:存儲(chǔ)模式式在C51編編譯器選項(xiàng)中中選擇。 4. 第四節(jié) 存儲(chǔ)類型聲聲明 變量或參數(shù)的存存儲(chǔ)類
38、型可由由存儲(chǔ)模式指指定缺省類型型,也可由關(guān)關(guān)鍵字直接聲聲明指定。各各類型分別用用:codee,dataa,idatta,xdaata,pddata說明明,例: data uaar1 char coode arrray “heello!”; unsigneed chaar xdaata arrr10444; 5. 第五節(jié) 變量或數(shù)據(jù)據(jù)類型 C51提供以下下幾種擴(kuò)展數(shù)數(shù)據(jù)類型: bit 位變量量值為0或11 sbit 從字字節(jié)中定義的的位變量 00或1 sfr sfrr字節(jié)地址 02555 sfr16 ssfr字地址址 0655535 其余數(shù)據(jù)類型如如:charr,enumm,shorrt,int
39、t,longg,floaat等與ANNSI C相相同。 6. 第六節(jié) 位變量與聲聲明 1. 1. bbit型變量量 bit型變量可可用變量類型型,函數(shù)聲明明、函數(shù)返回回值等,存貯貯于內(nèi)部RAAM20H2FH。 注意: (1) 用ppragmaa disaable說明明函數(shù)和用“uusign”指指定的函數(shù),不不能返回biit值。 (2) 一個(gè)bbit變量不不能聲明為指指針,如biit *pttr;是錯(cuò)誤誤的 (3) 不能有有bit數(shù)組組如:bitt arr5;錯(cuò)誤誤。 2. 2. 可可位尋址區(qū)說說明20H2FH 可作如下定義: int bdaata i; char bddata aarr3, 然
40、后: sbit biitoinn0;sbiit bitt15=I15; sbit arrr07=aarr07;sbbit arrr15=aarri7; 7. 第七節(jié) Keil C51指針針 C51支持一般般指針(Geenericc Poinnter)和和存儲(chǔ)器指針針(Memoory_Sppecifiic Poiinter). 1. 1. 一一般指針 一般指針的聲明明和使用均與與標(biāo)準(zhǔn)C相同同,不過同時(shí)時(shí)還可以說明明指針的存儲(chǔ)儲(chǔ)類型,例如如: long * statee;為一個(gè)指指向longg型整數(shù)的指指針,而sttate本身身則依存儲(chǔ)模模式存放。 char * xdataa ptr;ptr為一一
41、個(gè)指向chhar數(shù)據(jù)的的指針,而pptr本身放放于外部RAAM區(qū),以上上的longg,charr等指針指向向的數(shù)據(jù)可存存放于任何存存儲(chǔ)器中。 一般指針本身用用3個(gè)字節(jié)存存放,分別為為存儲(chǔ)器類型型,高位偏移移,低位偏移移量。 2. 2. 存存儲(chǔ)器指針 基于存儲(chǔ)器的指指針說明時(shí)即即指定了存貯貯類型,例如如: char daata * str;sstr指向ddata區(qū)中中char型型數(shù)據(jù) int xdaata * pow; pow指向向外部RAMM的int型型整數(shù)。 這種指針存放時(shí)時(shí),只需一個(gè)個(gè)字節(jié)或2個(gè)個(gè)字節(jié)就夠了了,因?yàn)橹恍栊璐娣牌屏苛俊?3. 3. 指指針轉(zhuǎn)換 即指針在上兩種種類型之間轉(zhuǎn)轉(zhuǎn)化
42、: l 當(dāng)基于存儲(chǔ)儲(chǔ)器的指針作作為一個(gè)實(shí)參參傳遞給需要要一般指針的的函數(shù)時(shí),指指針自動(dòng)轉(zhuǎn)化化。 l 如果不說明明外部函數(shù)原原形,基于存存儲(chǔ)器的指針針自動(dòng)轉(zhuǎn)化為為一般指針,導(dǎo)導(dǎo)致錯(cuò)誤,因因而請(qǐng)用“incluude”說明明所有函數(shù)原原形。 l 可以強(qiáng)行改改變指針類型型。 8. 第八節(jié) Keil C51函數(shù)數(shù) C51函數(shù)聲明明對(duì)ANSII C作了擴(kuò)擴(kuò)展,具體包包括: 1. 1. 中中斷函數(shù)聲明明: 中斷聲明方法如如下: void seerial_ISR () intterruppt 4 usingg 1 /* ISR */ 為提高代碼的容容錯(cuò)能力,在在沒用到的中中斷入口處生生成irett語句,定義義
43、沒用到的中中斷。 /* defiine noot useed intterruppt, soo geneerate IRETT in theirr entrrance */ void exxtern00_ISR() intterruppt 0 /* nnot ussed */ void tiimer0_ISR () intterruppt 1 /* nnot ussed */ void exxtern11_ISR() intterruppt 2 /* nnot ussed */ void tiimer1_ISR () intterruppt 3 /* nnot ussed */ void se
44、erial_ISR () intterruppt 4 /* nnot ussed */ 2. 2. 通通用存儲(chǔ)工作作區(qū) 3. 3. 選選通用存儲(chǔ)工工作區(qū)由ussing xx聲明,見上上例。 4. 4. 指指定存儲(chǔ)模式式 由small compaact 及l(fā)large說說明,例如: void fuun1(vooid) ssmall 提示:smalll說明的函函數(shù)內(nèi)部變量量全部使用內(nèi)內(nèi)部RAM。關(guān)關(guān)鍵的經(jīng)常性性的耗時(shí)的地地方可以這樣樣聲明,以提提高運(yùn)行速度度。 5. 5. #pragmma dissable 在函數(shù)前聲明,只只對(duì)一個(gè)函數(shù)數(shù)有效。該函函數(shù)調(diào)用過程程中將不可被被中斷。 6. 6. 遞遞
45、歸或可重入入函數(shù)指定 在主程序和中斷斷中都可調(diào)用用的函數(shù),容容易產(chǎn)生問題題。因?yàn)?11和PC不同同,PC使用用堆棧傳遞參參數(shù),且靜態(tài)態(tài)變量以外的的內(nèi)部變量都都在堆棧中;而51一般般使用寄存器器傳遞參數(shù),內(nèi)內(nèi)部變量一般般在RAM中中,函數(shù)重入入時(shí)會(huì)破壞上上次調(diào)用的數(shù)數(shù)據(jù)??梢杂糜靡韵聝煞N方方法解決函數(shù)數(shù)重入: a、在相應(yīng)的函函數(shù)前使用前前述“#prragma disabble”聲明明,即只允許許主程序或中中斷之一調(diào)用用該函數(shù); b、將該函數(shù)說說明為可重入入的。如下: void fuunc(paaram) reeentraant; KeilC511編譯后將生生成一個(gè)可重重入變量堆棧棧,然后就可可以
46、模擬通過過堆棧傳遞變變量的方法。 由于一般可重入入函數(shù)由主程程序和中斷調(diào)調(diào)用,所以通通常中斷使用用與主程序不不同的R寄存存器組。 另外,對(duì)可重入入函數(shù),在相相應(yīng)的函數(shù)前前面加上開關(guān)關(guān)“#praagma nnoareggs”,以禁禁止編譯器使使用絕對(duì)寄存存器尋址,可可生成不依賴賴于寄存器組組的代碼。 7. 7. 指指定PL/MM51函數(shù)數(shù) 由alien指指定。 4. 第四章 Keil C51高級(jí)級(jí)編程 本章討論以下內(nèi)內(nèi)容: l 絕對(duì)地址訪訪問 l C與匯編的的接口 l C51軟件件包中的通用用文件 l 段名轉(zhuǎn)換與與程序優(yōu)化 1. 第一節(jié) 絕對(duì)地址訪訪問 C51提供了三三種訪問絕對(duì)對(duì)地址的方法法:
47、 1. 1. 絕絕對(duì)宏: 在程序中,用“incluude”即可可使用其中定定義的宏來訪訪問絕對(duì)地址址,包括: CBYTE、XXBYTE、PPWORD、DDBYTE、CCWORD、XXWORD、PPBYTE、DDWORD 具體使用可看一一看absaacc.h便便知 例如: rval=CBBYTE00 x00022;指向程程序存貯器的的0002hh地址 rval=XWWORD 0 x00002;指向向外RAM的的0004hh地址 2. 2. _at_關(guān)鍵鍵字 直接在數(shù)據(jù)定義義后加上_aat_ coonst即可可,但是注意意: (1)絕對(duì)變量量不能被初使使化; (2)bit型型函數(shù)及變量量不能用_a
48、at_指定。 例如: idata sstructt linkk listt _at_ 0 x400;指定liist結(jié)構(gòu)從從40h開始始。 xdata cchar ttext225b _at_0 xxE000;指定texxt數(shù)組從00E000HH開始 提示:如果外部部絕對(duì)變量是是I/O端口口等可自行變變化數(shù)據(jù),需需要使用voolatille關(guān)鍵字進(jìn)進(jìn)行描述,請(qǐng)請(qǐng)參考abssacc.hh。 3. 3. 連連接定位控制制 此法是利用連接接控制指令ccode xxdata pdataa datta bdaata對(duì)“段段”地址進(jìn)行行,如要指定定某具體變量量地址,則很很有局限性,不不作詳細(xì)討論論。 2.
49、第二節(jié) Keil C51與匯匯編的接口 1. 1. 模模塊內(nèi)接口 方法是用prragma語語句具體結(jié)構(gòu)構(gòu)是: #pragmaa asm 匯編行 #pragmaa endaasm 這種方法實(shí)質(zhì)是是通過asmm與ndassm告訴C551編譯器中中間行不用編編譯為匯編行行,因而在編編譯控制指令令中有SRCC以控制將這這些不用編譯譯的行存入其其中。 2. 2. 模模塊間接口 C模塊與匯編模模塊的接口較較簡單,分別別用C51與與A51對(duì)源源文件進(jìn)行編編譯,然后用用L51將oobj文件連連接即可,關(guān)關(guān)鍵問題在于于C函數(shù)與匯匯編函數(shù)之間間的參數(shù)傳遞遞問題,C551中有兩種種參數(shù)傳遞方方法。 (1) 通過寄寄
50、存器傳遞函函數(shù)參數(shù) 最多只能有3個(gè)個(gè)參數(shù)通過寄寄存器傳遞,規(guī)規(guī)律如下表: 參數(shù)數(shù)目 chhar innt lonng,flooat 一般般指針 123 R7RR5R3 RR6 & RR7R4 & R5R22 & R33 R4RR7R4RR7 R1R3R1R3R1R3 (2) 通過固固定存儲(chǔ)區(qū)傳傳遞(fixxed meemory) 這種方法將biit型參數(shù)傳傳給一個(gè)存儲(chǔ)儲(chǔ)段中: ?functiion_naame?BIIT 將其它類型參數(shù)數(shù)均傳給下面面的段:?ffunctiion_naame?BYYTE,且按按照預(yù)選順序序存放。 至于這個(gè)固定存存儲(chǔ)區(qū)本身在在何處,則由由存儲(chǔ)模式默默認(rèn)。 (3) 函
51、數(shù)的的返回值 函數(shù)返回值一律律放于寄存器器中,有如下下規(guī)律: return type Regisstev 說說明 bit 標(biāo)志位位 由具體標(biāo)標(biāo)志位返回 char/unnsigneed chaar 1_bbyte指針針 R7 單單字節(jié)由R77返回 int/unssignedd int 2_bytte指針 RR6 & RR7 雙字節(jié)節(jié)由R6和RR7返回,MMSB在R66 long&unnsigneed lonng R4R7 MSSB在R4, LSB在在R7 float RR4R7 32Bitt IEEEE格式 一般指針 R11R3 存存儲(chǔ)類型在RR3 高位RR2 低R11 (4) SRCC控制 該
52、控制指令將CC文件編譯生生成匯編文件件(.SRCC),該匯編編文件可改名名后,生成匯匯編.ASMM文件,再用用A51進(jìn)行行編譯。 3. 第三節(jié) Keil C51軟件件包中的通用用文件 在C51LiiB目錄下有有幾個(gè)C源文文件,這幾個(gè)個(gè)C源文件有有非常重要的的作用,對(duì)它它們稍事修改改,就可以用用在自己的專專用系統(tǒng)中。 1. 1. 動(dòng)動(dòng)態(tài)內(nèi)存分配配 init_meem.C:此此文件是初始始化動(dòng)態(tài)內(nèi)存存區(qū)的程序源源代碼。它可可以指定動(dòng)態(tài)態(tài)內(nèi)存的位置置及大小,只只有使用了iinit_mmem( )才可以調(diào)回回其它函數(shù),諸諸如mallloc caalloc,reallloc等。 calloc.c:此文件
53、件是給數(shù)組分分配內(nèi)存的源源代碼,它可可以指定單位位數(shù)據(jù)類型及及該單元數(shù)目目。 malloc.c:此文件件是mallloc的源代代碼,分配一一段固定大小小的內(nèi)存。 reallocc.c:此文文件是reaalloc.c源代碼,其其功能是調(diào)整整當(dāng)前分配動(dòng)動(dòng)態(tài)內(nèi)存的大大小。 2. 2. CC51啟動(dòng)文文件STARRTUP.AA51 啟動(dòng)文件STAARTUP.A51中包包含目標(biāo)板啟啟動(dòng)代碼,可可在每個(gè)prrojectt中加入這個(gè)個(gè)文件,只要要復(fù)位,則該該文件立即執(zhí)執(zhí)行,其功能能包括: l 定義內(nèi)部RRAM大小、外外部RAM大大小、可重入入堆棧位置 l 清除內(nèi)部、外外部或者以此此頁為單元的的外部存儲(chǔ)器器
54、l 按存儲(chǔ)模式式初使化重入入堆棧及堆棧棧指針 l 初始化80051硬件堆堆棧指針 l 向mainn( )函數(shù)數(shù)交權(quán) 開發(fā)人員可修改改以下數(shù)據(jù)從從而對(duì)系統(tǒng)初初始化 常數(shù)名 意義 IDATALEEN 待清內(nèi)內(nèi)部RAM長長度 XDATA SSTART 指定待清外外部RAM起起始地址 XDATALEEN 待清外外部RAM長長度 IBPSTACCK 是否小小模式重入堆堆棧指針需初初始化標(biāo)志,11為需要。缺缺省為0 IBPSTACCKTOP 指定小模式式重入堆棧頂頂部地址 XBPSTACCK 是否大大模式重入堆堆棧指針需初初始化標(biāo)志,缺缺省為0 XBPSTACCKTOP 指定大模式式重入堆棧頂頂部地址 P
55、BPSTACCK 是否CCompacct重入堆棧棧指針,需初初始化標(biāo)志,缺缺省為0 PBPSTACCKTOP 指定Commpact模模式重入堆棧棧頂部地址 PPAGEENNABLE P2初始化化允許開關(guān) PPAGE 指指定P2值 PDATASTTART 待待清外部RAAM頁首址 PDATALEEN 待清外外部RAM頁頁長度 提示:如果要初初始化P2作作為緊湊模式式高端地址,必必須:PPAAGEENAAGLE11,PPAGGE為P2值值,例如指定定某頁10000H100FFH,則則PPAGEE10H,而而且連接時(shí)必必須如下: L51 PDAATA(10080H),其其中10800H是10000H
56、100FFH中的的任一個(gè)值。 以下是STARRTUP.AA51代碼片片斷,紅色是是經(jīng)??赡苄栊枰薷牡牡氐胤剑?; ; This file is paart off the C51 CCompiller paackagee ; Copyrright KEIL ELEKTTRONIKK GmbHH 19900 ; ; STARTTUP.A551: Thhis coode iss execcuted afterr proccessorr reseet. ; ; To trranslaate thhis fiile usse A511 withh the folloowing invoccation
57、n: ; ; A51 SSTARTUUP.A511 ; ; To liink thhe moddifiedd STARRTUP.OOBJ fiile too yourr appllicatiion usse thee folllowingg ; L51 iinvocaation: ; ; L51 , SSTARTUUP.OBJJ ; ; ; ; User-definned Poower-OOn Iniitialiizatioon of Memorry ; ; With the ffollowwing EEQU sttatemeents tthe innitiallizatiion off me
58、moory ; at prrocesssor reeset ccan bee defiined: ; ; ; thee absoolute startt-addrress oof IDAATA meemory is allways 0 IDATALEEN EQUU 80H ; thee lenggth off IDATTA memmory iin byttes. ; XDATASTTART EEQU 0HH ; thhe abssolutee starrt-adddress of XDDATA mmemoryy XDATALEEN EQUU 0H ; the lengtth of XDATAA
59、 memoory inn bytees. ; PDATASTTART EEQU 0HH ; thhe abssolutee starrt-adddress of PDDATA mmemoryy PDATALEEN EQUU 0H ; the lengtth of PDATAA memoory inn bytees. ; ; Notess: Thee IDATTA spaace ovverlapps phyysicallly thhe DATTA andd BIT areass of tthe ; 8051 CPU. At miinimumm the memorry spaace occcupi
60、eed froom thee C51 ; run-ttime rroutinnes muust bee set to zeero. ; ; ; Reenttrant Stackk Inittilizaation ; ; The ffollowwing EEQU sttatemeents ddefinee the stackk poinnter ffor reeentraant ; functtions and iinitiaalizedd it: ; ; Stackk Spacce forr reenntrantt funcctionss in tthe SMMALL mmodel. IBPS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能家居加盟品牌授權(quán)合同3篇
- 二零二五年度新能源儲(chǔ)能系統(tǒng)購買合同3篇
- 二零二五年度林業(yè)人才培養(yǎng)合作造林協(xié)議3篇
- 2025年度老舊房屋漏水檢測(cè)與賠償專項(xiàng)協(xié)議3篇
- 2025年度股東退出與公司知識(shí)產(chǎn)權(quán)保護(hù)合同3篇
- 二零二五年度模特服裝租賃拍攝合同3篇
- 2025年度房地產(chǎn)公司合伙人項(xiàng)目合作協(xié)議3篇
- 二零二五年度循環(huán)水養(yǎng)殖養(yǎng)魚合作合同3篇
- 2025年度體育場(chǎng)館物業(yè)用房移交及賽事運(yùn)營服務(wù)合同3篇
- 2025年度企業(yè)年會(huì)活動(dòng)宣傳片制作服務(wù)合同模板3篇
- 合伙經(jīng)營木材加工廠協(xié)議書
- 寫作思路要清晰省公開課一等獎(jiǎng)新名師比賽一等獎(jiǎng)?wù)n件
- 前列腺癌根治術(shù)護(hù)理查房課件
- AQ 1017-2005 煤礦井下安全標(biāo)志(正式版)
- 甘肅2024年甘肅省公安廳招聘輔警109人筆試歷年典型考題及考點(diǎn)附答案解析
- 小升初數(shù)學(xué)《選擇題》100道有答案解析
- 2024年中考英語真題-帶答案
- 剪映專業(yè)版:PC端短視頻制作(全彩慕課版) 課件 第3章 短視頻剪輯快速入門
- (高清版)JTG 6310-2022 收費(fèi)公路聯(lián)網(wǎng)收費(fèi)技術(shù)標(biāo)準(zhǔn)
- 儲(chǔ)能一體柜技術(shù)協(xié)議
- 設(shè)備間火災(zāi)應(yīng)急預(yù)案
評(píng)論
0/150
提交評(píng)論