24程序發(fā)展工具-2_第1頁(yè)
24程序發(fā)展工具-2_第2頁(yè)
24程序發(fā)展工具-2_第3頁(yè)
24程序發(fā)展工具-2_第4頁(yè)
24程序發(fā)展工具-2_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2.4 程序發(fā)發(fā)展工具具-Keeil C511Keill C551是Keiil公司司針對(duì)880C551系列列單芯片片,在WWinddowss平臺(tái)上上開發(fā)出出的一套套工具軟軟件.,透過(guò)過(guò)Keiil uuVissionn2的IDEE(整合合發(fā)展環(huán)環(huán)境),提供供80CC51匯匯編語(yǔ)言言與C551語(yǔ)言言的編輯、組組譯/連結(jié)、除錯(cuò)/模擬測(cè)測(cè)試,并并具備完完善的項(xiàng)項(xiàng)目管理理系統(tǒng)(Proojecct),以及系系統(tǒng)文件件說(shuō)明等等功能。圖2-x1顯顯示Keeil Viisioon2的的功能結(jié)結(jié)構(gòu),說(shuō)說(shuō)明如下下:Vissionn2 IIDE提提供項(xiàng)目目管理的的整合作作業(yè)環(huán)境境,擁有有編譯、組譯、連連結(jié)等,建構(gòu)項(xiàng)項(xiàng)

2、目的功功能。提供各種種廠牌型型號(hào)800C511核心兼兼容單芯芯片系統(tǒng)統(tǒng)的開發(fā)發(fā)使用。C51提提供ANNSI C程序序語(yǔ)言編編譯器(ANSSI CC Coompiilerr);A511:提供供80551匯編編程序組組譯器(Maccro Asssembblerr)。在程序的的連結(jié)時(shí)時(shí),提供供ANSSI 標(biāo)標(biāo)準(zhǔn)鏈接接庫(kù)、LLIB551鏈接接庫(kù)管理理員,與與RTXX51實(shí)實(shí)時(shí)操作作系統(tǒng)。Vissionn Deebugggerr:有強(qiáng)強(qiáng)大的除除錯(cuò)工具具和平行行仿真系系統(tǒng)??煽蓤?zhí)行單單步執(zhí)行行,芯片片內(nèi)部緩緩存器、內(nèi)存、輸出入入界面的的實(shí)時(shí)監(jiān)監(jiān)看功能能。圖2-xx1: Keiil CC51功功能方塊塊圖K

3、eill C551試用用版下載載與安裝裝對(duì)于800C511單芯片片初學(xué)者者,Keeil 軟件公公司在該該公司網(wǎng)網(wǎng)站提供供Keiil CC51試試用版(Evaaluaatioon VVerssionn),免免費(fèi)讓使使用者下下載( 試用版版限制22KByytess的程序序代碼)。C511試用版版軟件的的下載與與安裝步步驟如下下:步驟1:上網(wǎng)連連結(jié)上 Keiil公司司網(wǎng)站( HYPERLINK /demo/eval/c51.htm htttp:/wwww.kkeill.coom/ddemoo/evval/c511.httm),填寫寫個(gè)人數(shù)數(shù)據(jù)后即即可取得得該工具具軟件。如圖22-x22所示。圖2-x

4、x2: Keiil C551程序序下載畫畫面步驟2:填完數(shù)數(shù)據(jù)點(diǎn)選選Summmitt,,即即可下載載ek551v7750aa.exxe軟件件安裝程程序文件件,檔案案大小約約15.8MBB。步驟3:執(zhí)行eek511v7550a.exee文件,啟動(dòng)安安裝程序序,會(huì)出出現(xiàn)下列列確認(rèn)安安裝的對(duì)對(duì)話框,請(qǐng)點(diǎn)選選是(Y)按鈕鈕,出現(xiàn)現(xiàn)如圖22-x33的說(shuō)明明窗口。依照安安裝程序序的指示示,一步步步的完完成軟件件安裝工工作。圖2-xx3: Viisioon2安安裝說(shuō)明明畫面步驟4:安裝完完成后,會(huì)在WWinddow系系統(tǒng)的開始菜單或或桌面上上會(huì)出現(xiàn)現(xiàn)下圖示示的Keeil uViisioon2快快捷方式式。點(diǎn)

5、選選此一快快捷方式式,即可可啟動(dòng)CC51。啟動(dòng)Keeil Viisioon2由于Keeil Viisioon2是以項(xiàng)項(xiàng)目(PProjjectt)方式式做管理理,因此此啟動(dòng)KKeill VVisiion22后,必必須先加加載一個(gè)個(gè)項(xiàng)目,才能對(duì)對(duì)項(xiàng)目?jī)?nèi)內(nèi)的檔案案(程序文文件與說(shuō)說(shuō)明文件件)進(jìn)行處處理。若若啟動(dòng)后后無(wú)Prrojeect加加載,則則Viisioon2有有許多畫畫面與功功能將無(wú)無(wú)法展示示。以下下我們介介紹兩種種開啟項(xiàng)項(xiàng)目的方方法:開開啟舊項(xiàng)項(xiàng)目(OOpenn Prrojeect)、建立新新項(xiàng)目(Neww Prrojeect),藉由由兩個(gè)范范例的操操作過(guò)程程,說(shuō)明明Keiil Vissio

6、nn2 IIDE的的窗口畫畫面與功功能,并并了解建建立新項(xiàng)項(xiàng)目的作作業(yè)流程程。:開啟一一個(gè)現(xiàn)有有項(xiàng)目,并對(duì)做做說(shuō)明。:介紹如如何,包包括檔案案的加入入、程序序編輯/組譯/連結(jié),與除錯(cuò)錯(cuò)等操作作方法。【范例22-1】開啟舊舊項(xiàng)目觀觀察Keeil Viisioon2窗窗口畫面面與功能能開啟一個(gè)個(gè)KeiilVVisiion提提供的范范例項(xiàng)目目ASAAMPLLE.uuv2,藉此觀觀察KeeilVissionn IDDE整合合環(huán)境畫畫面與功功能,操操作步驟驟如下:步驟1:開啟 Prrojeect菜單點(diǎn)點(diǎn)選,點(diǎn)點(diǎn)選OOpenn Prrojeect指令按按鈕,顯顯示如圖圖2-xx4所示示的SSeleect

7、Proojecct FFilee對(duì)話話框。選選取C:KeeilC511EXXAMPPLESSASSMAASAMMPLEE的范例例項(xiàng)目,開啟此此項(xiàng)目。圖2-XX4: Opttionns ffor Tarrgett TTargget對(duì)話框框步驟2:開啟 ASAAMPLLE.uuv2項(xiàng)項(xiàng)目后,窗口畫畫面顯示示如圖22-x55。在Viisioon2整整合作業(yè)業(yè)環(huán)境中中重要的的部份,如負(fù)責(zé)責(zé)項(xiàng)目管管理的項(xiàng)項(xiàng)目窗口口(Prrojeect Winndowws)、可編輯輯80551匯編編語(yǔ)言與與C語(yǔ)言程程序文件件的程序序編輯窗窗口、顯顯示執(zhí)行行結(jié)果的的輸出窗窗口(OOutpput Winndowws),與常會(huì)

8、會(huì)用到的的工具列列(Tooolbbar)。圖2-xx5: Keiil Vissionn2 IIDE窗窗口畫面面步驟3:由于KKeill VVisiion22 IDDE窗口口畫面上上的某些些子窗口口會(huì)因?yàn)闉殛P(guān)閉或或重迭在在底層而而隱藏不不見。當(dāng)當(dāng)找不到到某些子子窗口時(shí)時(shí),可利利用VVieww菜單單內(nèi)的指指令找回回。點(diǎn)選選Viiew菜單,顯示如如圖2-x6。點(diǎn)選菜菜單的指指令,如如Prrojeect Winnodwws、Ouutpuut WWinddowss;以以及工具具列,如如Sttatuus BBar、Buuildd Tooolbbar、Buuildd Tooolbbar,觀察對(duì)對(duì)應(yīng)子窗窗口,

9、顯顯示與隱隱藏狀態(tài)態(tài)。針對(duì)對(duì)這些子子窗口的的功能,我們圖2-xx6:利利用Vieew菜菜單顯示示/隱藏子子窗口項(xiàng)目窗口口:項(xiàng)目窗口口又可分分為三種種頁(yè)面:Fiile、Reegs、Boookss。點(diǎn)點(diǎn)選窗口口下方的的標(biāo)示做做頁(yè)面的的切換。在進(jìn)入入除錯(cuò)功功能(ddebuug)時(shí)時(shí),RRegss會(huì)顯顯示80051的的緩存器器狀態(tài)、Boookss顯示示Viisioon2的的在線操操作說(shuō)明明書。Fille負(fù)負(fù)責(zé)管理理項(xiàng)目的的所有檔檔案,F(xiàn)ille又又可分為為三個(gè)層層級(jí)Tarrgett-GGrouup-Fille,說(shuō)說(shuō)明如下下:Targget:在此層層級(jí)中,可以選選擇使用用的芯片片、頻率率頻率與與內(nèi)存等等

10、裝置的的配置方方式。在在同一個(gè)個(gè)項(xiàng)目中中,可以以擁有一一個(gè)以上上的”TTargget”。兩個(gè)個(gè)Tarrgett之間基基本上可可以共享享相同的的原始程程序檔案案,但是是可以各各自有著著不同的的輸出入入設(shè)定或或不同的的裝置,透過(guò)建建立不同同的Taargeet,我我們可以以得到不不同的輸輸出程序序版本。有關(guān)TTargget的的選項(xiàng)設(shè)設(shè)定,可可在Taargeet圖標(biāo)標(biāo)上按鼠鼠標(biāo)右鍵鍵,在快快速選單單上點(diǎn)選選Opptioons forr Taargeet Tarrgett,顯示如如圖2-xx7: Opttionns ffor Tarrgett TTargget 1對(duì)話框框。Viisioon2為為了方便便

11、我們能能容易地地撰寫兼兼容各式式CPUU的程序序,特別別在圖3-77 OOptiionss foor TTargget Taargeet 11對(duì)話框框中的裝裝置數(shù)據(jù)據(jù)庫(kù)(DDeviice Dattabaase),準(zhǔn)備了了各式CCPU的的數(shù)據(jù)。只要我我們決定定了CPPU的型型號(hào),Vissionn2就會(huì)會(huì)自動(dòng)將將一切環(huán)環(huán)境的參參數(shù)(如CPUU頻率、內(nèi)存配配置等等)設(shè)定好好,無(wú)須須使用者者再操心心了。圖2-xx7:開開啟Opttionns ffor Tarrgett TTargget對(duì)話框框Grouup:在在Tarrgett下建立立多個(gè)GGrouup,將將有相同同性質(zhì)的的原始程程序代碼碼或文件件歸類

12、在在同一個(gè)個(gè)Grooup,方便自自己或其其它人方方便查閱閱管理,例如建建立一個(gè)個(gè)I/OO Grroupp,將所所有有關(guān)關(guān)輸出入入的程序序文件放放于其中中Filee:在Grroupp之下,可以加加入不同同的檔案案。例如如C511原始程程序文件件(*.c)、A511匯編程程序(*.a ;*.srcc),已已編譯的的對(duì)象程程序文件件(*.objj),鏈鏈接庫(kù)檔檔案(*.liib)以以及純文文本文件件(*.txtt)。程序編輯輯器:程序編編輯窗口口是一套套類似記事本本-NootePPad的文字字編輯工工具,提提供使用用者編寫寫C511/A551的原原始程序序代碼或或說(shuō)明文文件。它它的操作作方式與與一般

13、文文字編輯輯器大同同小異。此外,編輯器器提供有有標(biāo)記工工具列、斷點(diǎn)設(shè)設(shè)定工具具列、搜尋工工具列,輔助助使用者者做程序序編輯與與除錯(cuò),相關(guān)圖圖標(biāo)與功功能如表表2-XX。表2-xx:編輯輯用工具具列工具圖示示功能說(shuō)明明工具圖標(biāo)標(biāo)依序?yàn)闉門oogglle BBookkmarrk(切換標(biāo)標(biāo)記),Neext Boookmaark(下一個(gè)個(gè)標(biāo)記),Prreviiouss Boookmmarkk(前前一個(gè)標(biāo)標(biāo)記),Cllearr Alll BBookkmarrks(清除除所有標(biāo)標(biāo)記)。在光標(biāo)停停在的地地方,插插入或取取消插入入標(biāo)記,尋找先先前標(biāo)記記的位置置,或是是刪除所所有標(biāo)記記。被設(shè)設(shè)定成標(biāo)標(biāo)記該行行,左

14、側(cè)側(cè)有一藍(lán)藍(lán)點(diǎn)出現(xiàn)現(xiàn)。在撰撰寫程序序時(shí),若若能適當(dāng)當(dāng)?shù)夭迦肴胍恍?biāo)標(biāo)記,能能迅速地地讓我們們的光標(biāo)標(biāo)游走整整個(gè)程序序,修改改某一行行程序時(shí)時(shí),立即即找到,而不用用拉動(dòng)滾滾動(dòng)條尋尋找。工具圖示示依序?yàn)闉镮nnserrt/RRemooveBBreaakpoointts(插入/移除斷斷點(diǎn))、Kiill Alll Brreakkpoiintss(斷斷點(diǎn))、Ennablle/DDisaablee Brreakkpoiintss(致致/禁能標(biāo)標(biāo)記)、Diisabble Alll Brreakkpoiintss (禁能所所有標(biāo)記記)在游標(biāo)停停在的地地方,插插入斷點(diǎn)點(diǎn)。設(shè)定定斷點(diǎn)是是程序除除錯(cuò)的技技巧之一一,

15、它能能讓程序序在特定定階段中中暫停,提供我我們檢視視其狀態(tài)態(tài)。當(dāng)斷斷點(diǎn)被致致能時(shí),可以看看到其旁旁邊有一一紅點(diǎn),當(dāng)被禁禁能時(shí),將會(huì)是是空心的的點(diǎn)(斷點(diǎn)插插入時(shí)預(yù)預(yù)設(shè)是致致能的)。亦可可在欲插插入斷點(diǎn)點(diǎn)的地方方按下鼠鼠標(biāo)右鍵鍵選擇IInseert/Remmovee Brreakkpoiint插插入/移除斷斷點(diǎn),或或選Ennablle/DDisaablee Brreakkpoiint來(lái)來(lái)控制斷斷點(diǎn)的致致/禁能。工具圖示示依序?yàn)闉镕iind in filles(找尋尋檔案)、Seearcch(搜尋) Fiind(找尋尋)擁有搜尋尋文件內(nèi)內(nèi)文句的的功能,其中FFindd inn fiile功功能,亦亦

16、可跨檔檔案搜尋尋相關(guān)字字詞,結(jié)結(jié)果顯現(xiàn)現(xiàn)在下方方的Ouutpuut WWinddow建立新項(xiàng)項(xiàng)目流程程建立一個(gè)個(gè)新項(xiàng)目目,并完完成項(xiàng)目目程序的的編譯/連結(jié)與與除錯(cuò)等等工作,作業(yè)流流程如圖圖2-xx8。項(xiàng)項(xiàng)目程序序發(fā)展過(guò)過(guò)程中,提醒讀讀者每個(gè)個(gè)步驟所所需的注注意事項(xiàng)項(xiàng)如下:建立空項(xiàng)項(xiàng)目:新新建立的的項(xiàng)目必必須設(shè)定定Tarrgett的裝置置(Deevicce),即選用用芯片的的公司與與型號(hào)、設(shè)定頻頻率頻率率,配置置內(nèi)存。在項(xiàng)目加加入檔案案:項(xiàng)目目?jī)?nèi)的檔檔案來(lái)源源有兩種種方式。第一種種方式是是將已經(jīng)經(jīng)存在的的程序文文件直接接加入項(xiàng)項(xiàng)目;第第二種方方式是選選擇FFilee菜單單的NNew指令,建立一一

17、個(gè)新檔檔案,再再將此檔檔案加入入項(xiàng)目。存盤要要注意的的是,若若準(zhǔn)備采采用C551語(yǔ)言言,檔案案的附屬屬名稱使使用”*.c”,若使使用A551語(yǔ)言言,檔案案的附屬屬名稱使使用”*.a”。編輯/修修改程序序:已加加入項(xiàng)目目的程序序文件,直接在在項(xiàng)目窗窗口中雙擊擊該程序序文件的的文件名名,即可可開啟該該檔案的的程序編編輯窗口口。若未未加入項(xiàng)項(xiàng)目的程程序文件件,使用用Fiile菜單的的Oppen指令,加載程序編編輯窗口口,進(jìn)行行編輯與與修改。組譯/編編譯與連連結(jié)程序序:Vissionn2同時(shí)時(shí)提供了了C511這個(gè)兼兼容于AANSII C標(biāo)標(biāo)準(zhǔn)的編編譯器(C511 Coompiilerr),以以及A55

18、1這個(gè)個(gè)組譯器器(A551 AAsseembller),讓我我們可以以用這兩兩種程序序語(yǔ)言,開發(fā)單單芯片程程序。當(dāng)當(dāng)原始程程序都被被編譯/組譯完完成后,再透過(guò)過(guò)連結(jié)以以建置最最后可執(zhí)執(zhí)行的程程序,在在Vissionn2附有有BL551這個(gè)個(gè)連結(jié)器器來(lái)協(xié)助助達(dá)成這這項(xiàng)工作作。在連連結(jié)的過(guò)過(guò)程中,標(biāo)準(zhǔn)C語(yǔ)言的的函式庫(kù)庫(kù)(ANNSI C SStanndarrd LLibrraryy)也會(huì)會(huì)被匯入入。除錯(cuò)與在在線仿真真:完成成組譯/編譯與與連結(jié)的的機(jī)械碼碼程序,可透過(guò)過(guò)Vissionn2提供供的除錯(cuò)錯(cuò)工具,修改或或最佳化化程序,還可以以藉由平平行仿真真系統(tǒng)在在PC上直直接仿真真硬件上上的各種種操作。圖

19、2-xx8:KKeill C551項(xiàng)目目建立流流程圖【范例22-2】建置新新項(xiàng)目的的操作實(shí)實(shí)例建置一個(gè)個(gè)新的專專案”cch2_1.uuv2”,加入入ch22_1.asmm匯編程程序檔。執(zhí)行程程序的組組譯與連連結(jié)。并并利用除除錯(cuò)工具具仿真執(zhí)執(zhí)行此程程序。操操作步驟驟如下:步驟1:開啟PProjjectt菜單單,點(diǎn)選選Neew PProjjectt指令令,在建建立檔案案的對(duì)話話框中輸輸入” ch22_1”檔名,進(jìn)入Sellectt Deevicce ffor Tarrgett1 “Tarrgett”窗窗口,在在CPPU頁(yè)頁(yè)面找到到”Phhiliips”,點(diǎn)選選”P889C551RDD2xxx”,如

20、如圖2-x9所所示,按按確定指令按按鈕。圖2-xx9: Seelecct DDeviice forr Taargeet1 “Taargeet”窗口步驟2:開啟FFilee菜單單,點(diǎn)選選Neew 指令,建立一一個(gè)空白白的新文文件(預(yù)預(yù)設(shè)檔名名為Teext11)。開開啟FFilee菜單單,點(diǎn)選選Saave指令,將剛TTextt1新檔檔案以”ch22_1.asmm” 檔檔名儲(chǔ)存存。步驟3:在新建建立空白白ch22_1.asmm檔案的的程序編編輯窗口口輸入下下列程序序代碼:MOV A,#122H ; 將將12HH資料存存入累加加器 MMOV R00,#334H ; 將將34HH資料存存入R00 MMO

21、V 300H,#56HH ; 將將56HH資料存存入RAAM的30HH MMOV P00,#00FH ; 將將0FHH數(shù)據(jù)輸輸出到PP0端口口 EEND步驟4:在項(xiàng)目窗窗口的Soourcce GGrouup 11按右右鍵,點(diǎn)點(diǎn)選AAdd Fille tto GGrouup “Souurcee Grroupp 1”,將將編輯的的ch22_1.asmm程序文文件加入入這個(gè)項(xiàng)項(xiàng)目中。(若檔案案類型預(yù)預(yù)設(shè)*.c,變變更為AASM Souurcee fiile,即可可看到cch2_1.aasm)步驟6:程序代代碼編輯輯完成后后,在DDebuug 工工具列上上按下(Buiild Tarrgett)按鈕鈕,

22、就可可以建置置項(xiàng)目(或可用用Proojecct-Buiild Tarrgett或直接接按下FF7來(lái)達(dá)達(dá)成同樣樣的目的的)如果果正確無(wú)無(wú)誤,在在Outtputt Wiindoow看到到建立成成功的訊訊息,如如圖2-x100?!痉独?2-3】程序除除錯(cuò)與觀觀察單芯芯片內(nèi)部部運(yùn)作利用范例例2-33建置完完成的項(xiàng)項(xiàng)目chh2_11,透過(guò)過(guò)Keiil Vissionn2除錯(cuò)錯(cuò)功能,觀察單單芯片內(nèi)內(nèi)部運(yùn)作作情形。藉此熟熟悉除錯(cuò)錯(cuò)環(huán)境與與工具的的使用。操作步步驟如下下:步驟1:在完成成ch22_1項(xiàng)項(xiàng)目的建建置后,開啟DDebuug菜菜單,點(diǎn)點(diǎn)選SStarrt/SStopp Deebugg Seessiio

23、n指令,或按下下Ctrrl+FF5,啟啟動(dòng)除錯(cuò)錯(cuò)模式。步驟2:點(diǎn)選單單步執(zhí)行行工具或或按F111,觀觀察項(xiàng)目目窗口的的緩存器器頁(yè)面顯顯示r00與a的變化化,如圖圖2-111。步驟3:點(diǎn)選Vieew-MMemoory Winndoww菜單單,開啟啟Meemorry WWinddow窗口,在Adddreess:文字方方塊輸入入”C:0”,顯示加加載程序序內(nèi)存(ROMM)的機(jī)機(jī)械碼。如圖22-x22,顯示程程序機(jī)械械碼,共共計(jì)7BBytees(00 x000000 x000066)。在在工具列列按下指指令按鈕鈕,切換換到DDisaasseemblly WWinddow反組譯譯窗口,讀者可可以自行行對(duì)

24、照機(jī)機(jī)械碼與與匯編語(yǔ)語(yǔ)言之間間的關(guān)系系。圖3-222: 加載程程序內(nèi)存存的機(jī)械械碼步驟3:在 Memmoryy Wiindoow窗窗口的AAddrresss:文字字方塊輸輸入”DD:0”,顯示加加載數(shù)據(jù)據(jù)存儲(chǔ)器器(RAAM)。如圖22-x22,56HH存入0 xx30地地址上。步驟4:開啟PPeriipheeralls菜菜單,點(diǎn)點(diǎn)選II/O Porrts-Porrt0指令,顯示如如圖2-x。顯顯示P00端口的的輸出狀狀態(tài)。圖2-xx:Poort 0的輸輸出結(jié)果果步驟5:結(jié)束觀觀察與除除錯(cuò)作業(yè)業(yè),開啟啟Deebugg菜單單,點(diǎn)選選 SStarrt/SStopp Deebugg Seessiion

25、指令,離開除除錯(cuò)環(huán)境境。最后,當(dāng)當(dāng)我們要要匯出我我們的程程序,建建立能在在微處理理機(jī)上直直接運(yùn)作作的機(jī)械械碼程序序(.hhex),其做做法是PProjjectt-OOptiion forr Taargeet “Tarrgett 1”或直接接在專按按管理窗窗口的TTargget 1上按按下右鍵鍵選Opptioon ffor Tarrgett “TTargget 1”,開啟TTooll Opptioon對(duì)話話框,請(qǐng)請(qǐng)切到”O(jiān)uttputt”頁(yè)面面,在CCreaate HEXX fiile這個(gè)復(fù)復(fù)選框上上打勾,如圖22-x。按下確確定。重重新建置置我們的的項(xiàng)目,就可以以在項(xiàng)目目的目錄錄下,新新產(chǎn)生了

26、了*.hhex。圖2-xx:設(shè)定定產(chǎn)生HHEX輸輸出檔。2.5 80CC51指指令與程程序雖然C551語(yǔ)言言具有多多項(xiàng)優(yōu)點(diǎn)點(diǎn),但對(duì)對(duì)于80051單單芯片初初學(xué)者而而言,仍仍然必須須對(duì)80051匯匯編語(yǔ)言言的指令令與程序序有基本本的認(rèn)識(shí)識(shí),基于以上上原因,80551系統(tǒng)統(tǒng)單芯片片有必要要引用一一套高級(jí)級(jí)語(yǔ)言,做為程程序開發(fā)發(fā)工具。透過(guò)編編譯(CComppileer)的的方式,協(xié)助我我們處理理程序中中許多瑣瑣碎且重重復(fù)的細(xì)細(xì)節(jié),并并能配合合相關(guān)硬硬件的調(diào)調(diào)整,而而在必要要的時(shí)候候,設(shè)計(jì)計(jì)者仍然然可以直直接針對(duì)對(duì)內(nèi)存及及緩存器器下達(dá)命命令,修修改其內(nèi)內(nèi)容或決決定其配配置的方方式,CC51就就是針對(duì)對(duì)

27、這些特特性發(fā)展展出的一一套程序序語(yǔ)言。Keiil Vissionn 提供供C511程序語(yǔ)語(yǔ)言的組組譯與連連結(jié)功能能,但對(duì)于單單芯片初初學(xué)者而而言,筆筆者仍然然建議應(yīng)應(yīng)對(duì)80051匯匯編語(yǔ)言言的指令令與程序序,80C551共有有1111個(gè)指令令,若以以指令碼碼的長(zhǎng)度度分類,單字節(jié)節(jié)指令(1Byyte)有49個(gè),雙字節(jié)節(jié)指令(2Byytess)有45個(gè),三字節(jié)節(jié)指令(3Byytess)有17個(gè);若以功功能來(lái)區(qū)區(qū)分的話話,指令令分類有有下列四四種:數(shù)據(jù)搬移移指令228個(gè),即緩存存器與內(nèi)內(nèi)存之間間的數(shù)據(jù)據(jù)轉(zhuǎn)移,與尋址址方式相相關(guān)指令令。算術(shù)/邏邏輯運(yùn)算算指令449個(gè),包含算算術(shù)運(yùn)算算、邏輯輯運(yùn)算。程序

28、流程程控制指指令177個(gè),包包含條件件/無(wú)條件件跳躍指指令,循循環(huán)、子子程序呼呼叫。位運(yùn)算指指令177個(gè),包包含旗標(biāo)標(biāo)、可位位尋址數(shù)數(shù)據(jù)的設(shè)設(shè)定(11)或清清除(00)。由由于這些些指令又又可區(qū)分分為位尋尋址、位位運(yùn)算、比特流流程控制制,因此此本章稍稍后的介介紹將并并入前三三項(xiàng)中討討論。數(shù)據(jù)搬移移指令-尋址方方式在80551指令令集,數(shù)數(shù)據(jù)搬移移指令占占有極為為重要的的地位,因?yàn)槲⑽⑻幚頇C(jī)機(jī)的程序序執(zhí)行過(guò)過(guò)程中,必須經(jīng)經(jīng)常在緩緩存器與與內(nèi)存之之間做數(shù)數(shù)據(jù)的搬搬移。這這些數(shù)據(jù)據(jù)搬移的的方式,涉及到到微處理理機(jī)所提提供的搬搬移數(shù)據(jù)據(jù)的指令令與作業(yè)業(yè)模式,稱為尋尋址法(Adddresss MMode

29、e)。80551的尋尋址法可可分為下下列六種種:立即尋址址法(IImmeediaate Adddresssinng)。緩存器尋尋址法(Reggistter Adddresssinng)。直接尋址址法(DDireect Adddresssinng)。間接尋址址法(IIndiirecct AAddrresssingg)。索引尋址址法(IIndeexedd Adddreessiing)。位尋址法法(Biit AAddrresssingg)。除了上述述六種尋尋址方式式之外,還有兩兩種特殊殊的數(shù)據(jù)據(jù)存取方方式:堆堆棧內(nèi)存存存取,數(shù)據(jù)交交換指令令,在本本節(jié)中都都會(huì)做詳詳細(xì)的介介紹。此此外,位位尋址法法將留

30、在在4-44節(jié)再做做介紹。在數(shù)據(jù)的的搬移指指令主要要提供緩緩存器與與緩存器器,以及及緩存器器與內(nèi)存存之間的的數(shù)據(jù)搬搬移。搬搬移指令令中出現(xiàn)現(xiàn)的數(shù)據(jù)據(jù)格式,緩存器器(如累加加器、工工作緩存存器.),與內(nèi)存存地址(絕對(duì)地地址與相相對(duì)地址址),使用用的符號(hào)號(hào)都有明明確的定定義,如如表4-1所示示。符號(hào)說(shuō)明A累積器C進(jìn)位旗標(biāo)標(biāo)。Rn目前所選選用的緩緩存器庫(kù)庫(kù)中的緩緩存器RR0R7Ri以緩存器器R0或R1的內(nèi)內(nèi)容當(dāng)?shù)氐刂穌ireect可直接尋尋址的字字節(jié)地址址DPTRR數(shù)據(jù)指針針緩存器器#datta8位常數(shù)數(shù),有10進(jìn)位位,166進(jìn)位,22進(jìn)位數(shù)數(shù)bit可位尋址址的位地地址#datta16616位常常數(shù)

31、rel相對(duì)地址址Addrr1111位目目的地址址。使用用在跳越越或呼叫叫指令中中Addrr1611位目目的地址址。使用用在跳越越或呼叫叫指令中中表4-11:緩存存器與內(nèi)內(nèi)存地址址的符號(hào)號(hào)定義算術(shù)邏輯輯運(yùn)算指指令80511的算術(shù)術(shù)邏輯運(yùn)運(yùn)算指令令,可區(qū)區(qū)分為下下列三種種類型,分別說(shuō)說(shuō)明如下下:算術(shù)運(yùn)算算指令:加、減減、乘、除、遞遞增、遞遞減運(yùn)算算。:邏輯運(yùn)運(yùn)算指令令:且、或、互互斥或、反相等等運(yùn)算。位旋轉(zhuǎn)與與交換指指令:含含進(jìn)位與與不含進(jìn)進(jìn)位的位位左旋、右旋,與高低低位數(shù)據(jù)據(jù)交換。匯編語(yǔ)言言c51數(shù)據(jù)處理理數(shù)字宣告告算術(shù)累輯輯運(yùn)算流程控制制2.4 程序發(fā)發(fā)展工具具-Keeil C511 Flla

32、shh Maagicc 使用用手冊(cè)壹、Fllashh Maagicc操作說(shuō)說(shuō)明1. 下下載Fllashh Maagicc軟件:httpp:/wwww.essacaademmy.ccom/sofftwaare/flaashmmagiic/FFlasshMaagicc.exxe,或或ftp:/aacaddemyy.hee.neet/ppub/esaa/fllashhmaggic/FlaashMMagiic.eexe。2. 安安裝Fllashh Maagicc軟件,在桌面面上找到到后,執(zhí)執(zhí)行Fllashh Maagicc。3. 執(zhí)執(zhí)行Fllashh Maagicc 后,出現(xiàn)如如圖1 的開機(jī)機(jī)畫面。當(dāng)

33、圖22 出現(xiàn)現(xiàn)時(shí),表表示設(shè)定定不正確,此此時(shí)按下下“取消”按鈕。4. 請(qǐng)請(qǐng)依照?qǐng)D圖3,重新新設(shè)定?;旧仙?,所有有的執(zhí)行行步驟共共分成11、2、3、4、5,也就是圖圖1 中紫紫色的阿阿拉伯?dāng)?shù)數(shù)字,這這是執(zhí)行行燒錄的的五大步步驟,只只要依序序設(shè)定和執(zhí)行,即可將將hexx 檔案案燒錄到到芯片內(nèi)內(nèi)。步驟1:。圖1 開開機(jī)畫面面2圖2 未未能連接接出現(xiàn)的的畫面圖3 設(shè)設(shè)定P889C551RCC2 的的畫面5. 選選擇要連連接的CCOM Porrt (若COMM Poort 不在選選擇欄內(nèi)內(nèi),可直直接輸入入連接PPortt位置,輸輸入COOM nn 這個(gè)個(gè)數(shù)值或或n 即可可,例如如COMM8 或或8,如

34、圖圖5 所示示。USSB的設(shè)定相相關(guān)信息息,請(qǐng)看看USBB 提供供的數(shù)據(jù)據(jù)。) 6. 選擇傳傳輸速率率,由低低速開始始測(cè)試,最高傳傳輸速率率是根據(jù)據(jù)硬件所所接振蕩蕩頻率多多寡來(lái)決定定,如此此可找出出硬件最最大傳輸輸速率,再依此此速率作作為傳輸輸速率的的選擇?;颈旧?,第第一次就就選擇996000 是適適當(dāng)?shù)模绻徊恍性偻抡{(diào)整整。7. 選選擇芯片片號(hào)碼(Chiip),不同的的芯片有有不同的的特性設(shè)設(shè)定及傳傳輸設(shè)定定,因此此選擇正確芯片片號(hào)碼是是重要的的。8. 輸輸入目標(biāo)標(biāo)電路板板的振蕩蕩器頻率率,也就就是P889C551RCC2 所所接的振振蕩器頻頻率。這這里是以111.05592HHz

35、為為例,必必須填入入實(shí)際的的數(shù)值,不可以以省略小小數(shù)點(diǎn)部部分,因因?yàn)镕lassh MMagiic 會(huì)會(huì)根據(jù)此此值計(jì)算算傳輸速速率。 59. 如如圖9所示,選擇OOptiionss和Advvancce OOptiionss后,檢查圖圖10,不不設(shè)定(不勾選)Hiigh Speeed Commmunnicaatioons和和Hallf-ddupllex Commmunnicaatioons,如此設(shè)設(shè)定可以以不要管現(xiàn)現(xiàn)在芯片片是處于于6 oor 112 ccloccks。10. 勾選“Eraase alll Fllashh+Seecurrityy+Cllks”表示清清除所有有內(nèi)存、保密位位、cllo

36、ckks位。勾選選“Eraase bloockss ussed by Hexx Fiile”表示只只清除目目前燒錄錄檔案所所存在的內(nèi)存,一般只只要作此此動(dòng)作即即可。 11. 輸入入燒錄檔檔,如果果燒錄之之前,檔檔名未變變,也不不需要再再次做這這個(gè)動(dòng)作作,即使使同一個(gè)HEEX檔已已經(jīng)更新新,也不不需要再再輸入一一次。輸輸入燒錄錄檔有兩兩種方法法,第一一個(gè)是從開開機(jī)畫面面步驟33的Broowsee按鈕,第二個(gè)個(gè)是從FFileeOpeen。圖712. Reaad CCloccks:讀取芯芯片機(jī)械械周期,確認(rèn)現(xiàn)現(xiàn)在是處處于6 or 12 cloockss。圖14 讀取芯芯片機(jī)械械周期圖15 讀取芯芯片

37、機(jī)械械周期為為12 cloock圖16 讀取芯芯片機(jī)械械周期為為6 cclocck813. 芯片機(jī)機(jī)械周期期更改:P899C511RC22出廠機(jī)機(jī)械周期期預(yù)設(shè)為為12周期,如果勾勾選6clkss/cyyclee,隨便便燒錄一一個(gè)檔案案后,就就變成66周期。圖17 勾選芯芯片機(jī)械械周期為為6 ccloccks/cyccle914. 如果要要在改回回12 clkks/ccyclle,則則請(qǐng)勾選選“Eraase alll Fllashh+Seecurrityy+Cllks”,不勾選6 clkks/ccyclle,隨隨便燒錄錄一個(gè)檔檔案后,就變成成12周期期。要清清除保密密位,也可以用用此方法法。圖1

38、8 勾選芯芯片機(jī)械械周期為為12 cloockss/cyyclee1015. 要改回回12 clkks/ccyclle、no seccuriity、Blaank等等,還有有一個(gè)方方法,請(qǐng)請(qǐng)進(jìn)入“EraaseFlassh”,勾選選“Eraase alll Fllashh+Seecurrityy+Cllks”,執(zhí)行行“Eraase”后即完完成。圖19 進(jìn)入“Eraase Flaash”圖20 執(zhí)行“Eraase alll Fllashh+Seecurrityy+Cllks”11貳、Fllashh Maagicc 簡(jiǎn)單單操作說(shuō)說(shuō)明1. 連連接RSS-2332 或或USBB Caablee,打開開電源

39、后后,按一一下重置置(Reesett)按鈕鈕。2. 切切換電路路板上“燒錄開開關(guān)”至“ISPP”位置。3. 執(zhí)執(zhí)行Fllashh Maagicc,第一一次執(zhí)行行可能無(wú)無(wú)法聯(lián)機(jī)機(jī),因?yàn)闉樵O(shè)定選選項(xiàng)未適適當(dāng)選擇擇。4. 選選擇通訊訊連接端端口COOM。(如果接接USBB,請(qǐng)至至裝置管管理員的的連接端端口查詢?cè)?5. 選選擇鮑率率96000。6. 選選擇芯片片號(hào)碼(Chiip):89CC51RRC2。7. 輸輸入振蕩蕩器頻率率,例如如:111.05592MMHz。8. 依依照Opptioons Advvancced Opttionns commmunnicaatioons ,不設(shè)定定Higgh SS

40、peeedCommmuniicattionns 和和Hallf-ddupllex Commmunnicaatioons。9. 輸輸入燒錄錄檔。10. 勾選開開機(jī)畫面面中的“Eraase bloockss ussed by Hexx Fiile”。11. 按下Sttartt 鈕。開始燒燒錄檔案案。12. 燒錄完完畢,切切換“燒錄開開關(guān)”至“RUNN”至位置置,開始始執(zhí)行燒燒錄程序序。13. 此后只只要重復(fù)復(fù)步驟22、9、11、12 步驟即即可。但但是,如如果檔名名未變,步驟99可以省略略,因此此就只有有重復(fù)步步驟2、11、12 步驟,所以相相當(dāng)簡(jiǎn)單單。12叁、注意意事項(xiàng)1. PP89CC51RRC2 內(nèi)部含含有外部部SRAAM 的的內(nèi)存(00000000fff),內(nèi)內(nèi)定是從從內(nèi)部存存取,如果真的的是要從從接在外外面SRRAM 的IC 存取,必須先先執(zhí)行以以下指令令后才可可以(適用25000ADD 組譯譯器)。超出出地址范范圍的部部分還是是會(huì)從接接在外面面SRAAM 的的IC 存取。RAMCCHK OFFFORL 8EHH,#002H或AUXRR REEG 88EHORG AUXXR,#02HH2. PP89CC51

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論